What is ColonyOS?
ColonyOS is an open-source project developed by RISE AB aiming at implementing a Meta-Operating System to offer a unified programming model to execute workloads across platforms—from traditional cloud infrastructures and HPC to emergent Edge platforms.
ColonyOS consists of several components:
To utilize the system, users submit function specifications to a Colonies Server, typically using a CLI (Command Line Interface) or an SDK. These specifications, typically in JSON format, serve as high-level blueprints that outline future computations. Once submitted, these specifications are transformed into meta-processes and registered in a database that functions as a queue. The Colonies Server, acting as a broker, then assigns an Executor that meets the conditions specified in the function description to the meta-process. Once assigned, the Executor proceeds to execute the meta-process, effectively executing the functions detailed in the original specifications.
Remote Executors connect to the Colonies Server to get meta-process assignments. Since the progress of all processes is stored in a database, ColonyOS offers full traceability. Users can look up a process to check its current execution status, view its output, and access logs (stdout/stderr). It is also possible to subscribe on a certain process, e.g. to automatically get a notification when its execution status changes. This capability enables real-time monitoring, allowing users to stay updated on the progress of critical tasks.
Additionally, ColonyOS enables creation of workflows that define dependencies between multiple processes. For example, it is possible to specify that a particular process must be completed before another process can begin. This feature makes it possible to define and run complex workflows across platforms.