Algo-Gene
The process of estimating performance-efficiency trade-offs before, during, and after the integration of the full stack has become significantly challenging that a new approach is needed. This effort aims to replace the current trial-and-error approach with an automated platform, that bridges data-driven models linked to bottom-up analysis that can predict the performance of any given algorithm on any given piece of hardware, making software-hardware co-design an intelligent and optimized process. As part of the testing laboratory being set up in the SLAC National Laboratory, we are developing Algo-Gene, an innovative framework, which is automated, data-driven platform designed to create, manage, and leverage a comprehensive knowledge base of "Algorithm Performance DNA." The platform will address the rapidly evolving complexity in algorithms and software, in conjunctions with both hardware architectures and software related modules being developed in the SLAC National Laboratory and Stanford. We are planning to demonstrate this as an Intelligent platform that can enable cross-platform algorithmic performance modeling, prediction, and optimization for low energy microelectronics. We use metaphors from biological research to indicate a different level of abstraction than previous efforts to enable full-stack hardware-software co-design for LEC microelectronics. By systematically benchmarking algorithms across a wide range of hardware, Algo-Gene fits empirical models for performance, memory usage, and energy cost estimated using multiple tools being developed. These models are stored in a central Knowledge Database, which will serve as the foundation for a suite of intelligent and targeted application.
The Algo-Gene platform's key innovations include:
- a novel hierarchical classification system that decomposes complex workflows into fundamental kernels, enabling compositional performance prediction;
- a machine learning model for predicting performance on new, previously un-benchmarked hardware;
- an anticipatory, inference-aware model for optimizing concurrent workloads. Algo-Gene will transform performance engineering and systems management from a reactive, heuristic/rules-based practice into a proactive, predictive science, enabling intelligently targeted software deployment, with optimal hardware selection, resulting significant reductions in cost and energy usage across the computing spectrum for heterogeneous computing stacks.
- The platform will link to other tools being developed at SLAC and elsewhere.