1. SustainML Framework Architecture

Orchestrator (Back-end) Orchestrator (Back-end) ML Model Metadata Node ML Model Metadata Node CO2 footprint CO2 footprint HW Constraints Node Carbontracker Node Carbontracker Node HW Constraints HW Constraints HW Resource HW Resource ML Model ML Model User input data User input data ML Model ML Model HW Resource HW Resource ML Metadata ML Metadata Baseline forOptimization Application-levelRequirements Node User input data User input data User input data User input data App Requirements App Requirements CO2 footprint CO2 footprint Front-end Front-end User input data User input data Output data Output data User User Model Provider Node ML Solution Provider ML Optimization HW Provider Node FPGA Selector... PIM Results

The SustainML Framework aims to provide an energy optimized hardware solution and the corresponding ML model for solving a desired machine learning problem formulated by the user, considering the carbon footprint it would take to train the resulting model.

Within the SustainML Architecture, a Node refers to each one of the software modules that performs a particular task, conforms a single executable unit and can be locally or remotely deployed. This decoupling and modularity can be achieved thanks to the underlying eProsima Fast DDS middleware.

In the architecture, the Front-End acts as the interface between the user and the SustainML Framework. The Front-End is responsible for collecting the user requirements and constraints, sending them to the Back-End and give feedback of the intermediate and final results when available:

The Back-End is composed of two main entities:

  • The Orchestrator Node that controls the execution of the task and nourishes data to the Front-End.

  • The Module Nodes that specialize in particular tasks of the solution.

1.1. Module Nodes

And the different Module Nodes that specializes in a particular task of the solution: