Heterogeneous Computing


ISI’s Heterogeneous Computing group has been leading research programs targeting heterogeneous, multi-core, and accelerator-based computing for nearly 10 years.  With the breakdown in Dennard Scaling, general-purpose processor performance gains have slowed.  The end result is that computer architectures have moved towards heterogeneity and dark silicon.  ISI’s heterogeneous computing group has made significant contributions to cloud computing, space systems software, virtualization, and resource management.


Heterogeneous Cloud Computing


USC/ISI made significant contributions to OpenStack, enabling the first heterogeneous resources (GPUs) and extending the OpenStack resource management model to accommodate specialization.  We’ve extended this work to target real-time systems, enabling high performance real-time computing in virtualized cloud environments. 


Space Systems Software


USC/ISI developed the system software for the Maestro Processor and is the system software lead for NASA’s High Performance Spaceflight Computing program.  In this role, USC/ISI is developing robust operating system support for upcoming many-core and heterogeneous multi-core space processors as well as software-based emulation environments for the processors.  Another critical element of our work is the development of software-implemented fault tolerance solutions that will enable future space missions to autonomously self-recover from failures without compromising mission goals.




As a research organization, USC/ISI’s heterogeneous computing group is particularly interested in enabling high performance virtualized computing.  This involves optimizations to enable accelerators of all kinds – from GPUs, FPGAs, and Xeon Phi, to high performance SR-IOV-enabled network adapters.  USC/ISI is currently working to enable single client 100 GB/s storage performance for combination storage and compute-intensive applications.


Resource Management


USC/ISI’s work in autonomous resource management has led to advances in real-time computing, enabling virtualized resources to vertically scale in order to meet the needs of multi-modal real-time application behavior.  This enables improved resource utilization, allowing more efficient resource provisioning with the ability to vertically burst allocate compute performance when needed. 



The Heterogeneous Computing Group is led by Research Team Leader John Paul Walters.