Describe requirements
Application code expresses intent, state requirements and constraints without permanently encoding a complete infrastructure topology.
Technology
Softadastra is developing an adaptive computing architecture where software describes what it needs and the Runtime determines how available infrastructure can satisfy it.
Application code expresses intent, state requirements and constraints without permanently encoding a complete infrastructure topology.
The Softadastra Runtime interprets application requirements and progressively decides how computation and state should use available resources.
Local machines, edge systems, cloud infrastructure and hardware accelerators become resources available to the Runtime.
Software describes the requirement. The Runtime handles the infrastructure decision.
The adaptive execution layer between software and computing infrastructure.
The Runtime is currently in progress. It is being developed publicly and individual capabilities are being implemented and validated progressively.
github.com/softadastra/runtime ↗| Runtime area | Observes | Responsibility |
|---|---|---|
| Placement | latency · locality · trust · capabilities | Determine where computation should execute across available infrastructure. |
| Scheduling | priority · load · resources · constraints | Schedule workloads according to application requirements and current resource conditions. |
| Distributed state | durability · consistency · availability | Manage application state independently from any single machine or location. |
| Replication | state · availability · locality | Determine when and where state should be replicated across the computing fabric. |
| Recovery | failure · availability · application state | Recover or resume execution when machines, networks or infrastructure become unavailable. |
| Reconciliation | divergent state · connectivity · consistency | Reconcile state after partitions, offline operation or infrastructure reconnection. |
| Trust | identity · policy · security | Restrict execution and state placement to infrastructure permitted by application policy. |
| Hardware | CPU · GPU · accelerators · capabilities | Select compatible computing resources without permanently coupling the application to specific hardware. |
| Adaptation | network · resources · failures · changing conditions | Re-evaluate execution decisions while the application and its environment change. |
The Fabric is the set of computing capabilities visible to the Runtime.
It is not another cloud provider. A resource may be local, remote, temporary or specialized.
The application should not need to permanently depend on the location or provider of that resource.
Developer platform
Open-source C++ developer platform maintained by Softadastra.
open ↗Adaptive execution layer
The central runtime technology behind infrastructure-independent computing.
open ↗Reference hardware
Low-power reference hardware designed to run the Runtime as one resource in the computing fabric.
details ↓Reference hardware for proving the Runtime on a small, ordinary, low-power machine.
The Node is not required to use Softadastra. It is one future computing resource designed specifically around the Runtime.
The first target intentionally favors low cost and low power over workstation-class hardware.
| node v1 reference target | |
|---|---|
| Role | Reference hardware for the Softadastra computing fabric |
| Architecture | x86-64 initially |
| Prototype class | Low-power 4-core system |
| Memory | 16 GB target |
| Storage | 512 GB NVMe target |
| Networking | 2.5 GbE · Wi-Fi |
| Power | < 20 W typical system target |
| Operation | Local-first · able to remain useful without Internet connectivity |
| Status | Planned reference system |
Target specification. Final hardware may change as prototypes and the Runtime are validated.
The architecture is being built progressively.