We present a summary view of the components involved in the project: tools, APIs, applications, libraries and languages.
- Maestro Core: This component implements the core of the middleware including the Maestro API and the Maestro Pool that manages the Core Data Objects (CDO). Several transport mechanisms have been implemented including OFI-RDMA, global POSIX file system, Maestro I/O (MIO). The Maestro Core includes a library to which user applications can link.
- RADLE: A library that implements the Resource Description Language developed by the Maestro project
- SelFIe: Set of tools for collecting telemetry data at middleware level (Maestro Core, MIO) and application level (selFIe)
- Maestro I/O (MIO): Abstraction layer for object stores with an API that supports guided I/O. Support of the object store Cortx/Motr has been implemented. An extension to S3 is future work.
- Dynamic Provisioning DynPro: Set of tools and scripts for setting up on-demand data managers.
- Developer Tool pwmaestro: Tool that provides automatic code inspection capabilities for assisting programmers during the development of Maestro-enabled applications.
- Workflow DL IWFDL: Language for describing workflows in a resource-aware manner.
- Execution framework splinter: Collection of tools for converting a resource-aware workflow into an optimized workflow.