Heterogeneous systems are composed of different types of processors, each with its own advantages.
Heterogeneous architectures are used to build systems that combine the relative strengths of different components in order to maximize efficiency under a set of constraints such as physical space, available power, or execution time. Such systems may be composed of different kinds of general purpose CPUs of the same ISA (such as Intel’s Xeon PHI or ARM’s big.LITTLE configuration) or different ISA (i.e. add-in accelerators such as GPUs or FPGAs). One of the biggest challenges in building a heterogeneous system is modifying existing software to be able to take advantage of such as system. The majority of software today is written and compiled for a specific architecture (ISA), and can be run on any general purpose processor that implements that ISA. However, for specific applications where performance is important, there can be dependencies on specific hardware such as offload engines that perform some of the calculation orders of magnitude faster than if run on a general purpose processor.
OPERA proposes to look at the problem of how to modify software to take advantage of a heterogeneous architecture with the focus on the constraint of power consumption. The proposed approach is to decompose existing software (break it into small pieces) that can be run in parallel. By describing the inter-dependencies of the components, we will be able to determine the resource requirements (processor speed, memory utilization) of each component, and be able to place those components manually on the appropriate type of processor. By matching software components with available resources, we will be able to maximize the utilization of the allocated hardware, thereby increasing system efficiency. Part of the system management includes monitoring utilization of the resources, including power consumption, throughput,
latency, processor and memory utilization. By keeping a close eye on resource utilization, we will be able to adjust and reallocate if required. In addition OPERA propose to provide a disruptive approach on energy efficiency of heterogeneous systems in shared ecosystem by enabling mixing of CPU architectures and accelerators inside a single chassis to answer specific performances on workload (such as video processing, mobile workspace and Big Data).