The three-year European SAVE project, which wraps up this week, has produced tools and technologies that can help reduce heterogeneous system architecture (HSA) energy costs by 20 percent say its organizers. SAVE is the somewhat abbreviated acronym for Self-Adaptive Virtualization-Aware High-Performance/Low-Energy Heterogeneous System Architectures, a EU collaborative research project, funded by the EU’s Seventh Framework Programme (FP7).
SAVE was comprised of seven academic and industrial partners working on both software and hardware approaches to better monitor and manage HSA resources. Each member was charged with an area of responsibility. For example, the University of Paderborn, Germany (Paderborn Center for Parallel Computing) worked on runtime system for transparent workload migration to heterogeneous resources and just-in-time code generation for GPUs and data flow.
“A key obstacle for best use of heterogeneous computing is the manual effort to optimize code for each hardware resource type. Our autonomous runtime and compilation system removes this burden: critical parts of applications are automatically identified and they are seamlessly translated and optimized for execution on GPU and FPGAs accelerators,” said Christian Plessl of Paderborn. He expects their work to facilitate wider deployment of the underlying technologies, such as static and dynamic code analysis and just-in-time code generation.
There were two other academic participants (and their areas of focus): Politecnico di Milano (project coordination and management, self-adaptiveness OS orchestrator) and Technological Educational Institute of Crete, Greece (virtualization-aware, self-adaptive hardware structures for monitoring and controlling CPU-DFE and CPU-GPU communication)
“Two key components for self-adaptive heterogeneous system architecture are the hardware resource usage monitoring mechanisms and the workload dispatch mechanisms,” said George Kornaros of TEI. Working closely with hardware vendors, “we designed low-level communication solutions between the general purpose CPUs and the specialized computation units like GPUs and DFEs (data flow engines).”
Commercial partners included two semiconductor companies, STMicroelectronics (on-chip communication infrastructure) and ARM (hardware-supported GPU virtualization), a French software start-up, Virtual Open Systems (hypervisor extensions to efficiently support the access to the hardware-assisted GPU and DFE virtualization), and British firm Maxeler Technologies (software and hardware-supported data flow virtualization) virtualization.
A range of complex electronic systems stands to benefit from these innovations, including computer data centers, consumer electronics, automotive products and complex industrial electronics.
Key achievements, according to SAVE, include:
- Platform behavior monitoring and task dispatching hardware and software: the first toolset closely tracks the performance and use rate of the various computing units available in the heterogeneous systems. The second toolset decides which computing units are best suited for the job.
- Just-in-Time compilation technology: using SAVE technologies, at runtime, a single application-code representation is optimized to the many possible hardware targets of the platform: CPUs, GPUs, accelerators, FPGAs.
- Hardware and software virtualization technologies: these technologies efficiently expose the dedicated processing engines to the many virtual machines (VM) running on these systems. The teams successfully prototyped virtualized GPUs, virtualized FPGA-based data-flow engines (DFEs), and virtualized application-specific accelerators.
Link to a release announcing the completion of the project: https://pc2.uni-paderborn.de/news-events-jobs/news/details/article/european-researchers-simplify-optimal-software-execution-on-complex-electronics-252/