Skip to content
Snippets Groups Projects
Select Git revision
  • d6dec3ed010b4aa1b81453bcf425e1e6c6348c23
  • devel default
  • 107-compilation-error-when-building-maestro-core-on-m1-apple-processors
  • 108-implement-cpu-id-query-for-apple-m1-hardware
  • 58-scripting-interface-to-maestro-core
  • 101-need-ci-test-using-installed-maestro
  • 57-sphinx-documentation
  • 105-memory-leak-in-pm-message-envelope-handling
  • 104-permit-disabling-memory-pool
  • 103-liberl-installation-issue-on-devel
  • 94-maestro-rdma-transport-ignores-max_msg_size-2
  • main protected
  • 102-possible-race-in-check_pm_redundant_interlock-test
  • 97-check-if-shm-provider-can-be-enabled-after-libfabric-1-14-is-in-our-tree-2
  • 100-include-maestro-attributes-h-cannot-include-mamba-header-from-deps-path
  • 97-check-if-shm-provider-can-be-enabled-after-libfabric-1-14-is-in-our-tree
  • 17-job-failed-282354-needs-update-of-mio-interface-and-build-rules
  • 96-test-libfabric-update-to-1-13-or-1-14
  • feature/stop-telemetry-after-all-left
  • 94-maestro-rdma-transport-ignores-max_msg_size
  • 93-improve-performance-of-mstro_attribute_val_cmp_str
  • v0.3_rc1
  • maestro_d65
  • d65_experiments_20211113
  • v0.2
  • v0.2_rc1
  • d3.3
  • d3.3-review
  • d5.5
  • d5.5-review
  • v0.1
  • d3.2
  • d3.2-draft
  • v0.0
34 results

index.rst

Blame
  • Christopher Haine's avatar
    Christopher Haine authored
    d6dec3ed
    History
    index.rst 1.83 KiB

    Maestro Core documentation

    Maestro Core is a C library that does multi-threaded cross-application data transfer and inspection over high-speed interconnect, using lightweight data wrappers named CDOs that include user metadata.

    A producer application using Maestro Core may offer data and metadata

    mstro_init("my_workflow", "component_A", ...);
    mstro_cdo src_handle;
    mstro_cdo_declare(src_handle, "my_cdo_name");
    mstro_cdo_attribute_set(src_handle,
                            MSTRO_ATTR_CORE_CDO_RAW_PTR,
                            src_data, ...);
    mstro_cdo_attribute_set(src_handle,
                            MSTRO_ATTR_CORE_CDO_SCOPE_LOCAL_SIZE,
                            &size, ...);
    mstro_cdo_attribute_set(src_handle,
                            ".maestro.my-namespace.my-key",
                            &value, ...);
    mstro_cdo_offer(src_handle);

    Which a consumer application may demand

    mstro_init("my_workflow", "component_B", ...);
    mstro_cdo dst_handle;
    mstro_cdo_declare(dst_handle, "my_cdo_name");
    mstro_cdo_require(dst_handle);
    mstro_cdo_demand(dst_handle);

    When mstro_cdo_demand() returns, the data and metadata has been transferred by Maestro Core from the producer and is locally available for the consumer.

    CDOs are central to the Maestro Core design.

    Maestro Core is part of the Maestro framework, which aims at data-driven workflow orchestration.

    That's it for the introduction.