Heterogeneous Cluster Computing
Traditional enterprise applications currently run on platforms that are complicated to use and expensive to build and maintain. Although new IT solutions that use dynamically scalable and virtualized clusters of shared computing resources have the potential to dramatically cut costs associated with delivery of enterprise IT services, many obstacles must be overcome. Our main objective is to develop several new technologies to address those challenges, technologies which will help understand, analyze, create and optimize a wide variety of enterprise applications on new, cloud-based, shared, heterogeneous computing architectures. Our current focus is on the following four themes: parallel programming models and run-times, run-times for adapting legacy applications, virtualization and custom accelerators.
To understand the impact and efficacy of these new technologies, we will also need to create open, cluster-level enterprise application benchmarks that can drive the design of future heterogeneous computing cluster architectures and parallel programming models. The importance of suitable metrics and figures of merit to evaluate our work cannot be overstated. Using the wrong metrics can give us an incomplete or irrelevant view of the significance of new technologies. For heterogeneous computing clusters, traditional metrics like performance and energy-efficiency must directly relate to cost of delivering IT services. Such new figures of merit will provide the optimization context for new, heterogeneous cluster technologies.