PRincipled resource Optimization through declarative DAta SYStems
This work has received funding by the Swiss State Secretariat for Education, Research and Innovation (SERI) for the Prodasys Project, a European Research Council (ERC) Advanced grant.
The decision-making tools powered by Machine Learning (ML) and Artificial Intelligence (AI) open a wealth of transformations to the business ecosystem. Nevertheless, AI’s explosive growth relies on commensurate advancements in hardware (recently enhanced with new specialized accelerators showing impressive speedups) and in database management systems (DBMS) for seamless data access and efficient query processing. Software performance, however, faces a tradeoff: current systems can either scale through specialization for a hardware platform or be portable across platforms; they cannot have both. At the same time, the surge in data volume and ML/AI demands strains resources. Adding resources is costly and ineffective; worse, hardware is underutilized as DBMS workloads exhibit high memory stalls and limited parallelism. To sustain AI’s growth, DBMS must optimize the utilization of resources at execution time. Systems must move any pre-execution assumptions and planning to execution time, when workload and available resources are known, and be prepared to adapt to real-time workload and resource changes. We DBMS that incorporate run-time changes and heterogeneity in their design and adapt to them through real-time cross-module optimizations. We propose a high-risk, high-gain system design approach that maximizes adaptability, resource utilization, and scalability. We develop Prodasys, a principled declarative system ensuring clean separation of concerns between modules while allowing ML-driven real-time cross-module optimization. We introduce declarative component interfaces and learned adaptation to workload and hardware specifications. The result of this project is a groundbreaking framework for system design using declarative and adaptive cross-component optimization, which is demonstrated through an end-to-end system infrastructure that manifests the aforementioned principles and executes ad-hoc data management tasks at maximum performance and resource utilization.
Quoting Luiz Barroso’s “Roofshot manifesto”, our “moonshot” (ideal, five-year goal) is to resolve the tradeoff between vertical integration efficiency and modular design composability, to maximize database system performance and resource efficiency. Prodasys achieves the moonshot through painstakingly pursuing four “roofshots” (objectives that pave the way to the moonshot while advancing the state-of-the-art), listed below with their respective outcomes.
1. Declarative expression of data transfer paths to enable real-time data movement routing. We develop a library of plugins (software descriptions of hardware capabilities) that enable seamless real-time use of hardware in light of heterogeneous memory, storage, and network infrastructures. Building on this, we implement a unified data plane to achieve efficient and hardware-portable data movement.
2. Dynamic generation of resource-aware logical plans during workload execution. We adapt optimization decisions to workload dynamically using advanced predictive and prescriptive algorithms, tailored to current and anticipated workloads to produce efficient logical plans for execution.
3. Automate generation of hardware-aware executable code from logical execution plans. We will develop an adaptive JIT (short for just-in-time, meaning that it generates code in real-time) domain-specific language (DSL) compiler. The compiler will use real-time information about workload characteristics and hardware plugins to translate declarative workload specifications into custom binary executables, based on workload and hardware characteristics.
4. Scale-out executable code and scheduling to shared virtualized infrastructures (clouds and data centers). We develop a novel hypervisor (software tool to run multiple virtual machines on a single physical machine) that uses the above techniques to elastically allocate and schedule resources based on runtime volatile workload requirements.
Not available yet