Efficient EONS: Execution of Large Workloads on Elastic Heterogeneous Resources
In the current and future industry and society, there will be an increasing number of systems storing and processing large amounts of data. This is the next frontier for innovation, competition and productivity with ongoing large initiatives both in the EU and the US. Areas where processing of large amounts of unstructured data is applied include medicine, meteorology, genomics,
As such, the aim of the EONS research project is to perform basic research in the area of system and tools support for both, parallel programming and parallel processing, in the context of future distributed large-scale heterogeneous systems. EONS will develop concepts and mechanisms that enable the development of software for these next-generation big-data
The following points are investigated by EONS:
- Formalization of a high level parallel programming model that is compatible with those programming models and languages that developer today know. There are already several approaches to specify potential parallelism, but for workloads with processing and/or time dependencies, we need to add notions of deadlines and execution orders.
- Compiler and multi-core run-time system. Many run-time systems have been built and are in use, but there are large potentials for more efficient execution and run-time support for the dependencies must be added. Scheduling and mapping of tasks to processing engines will here be important. At the core of this plan is the common exploitation of knowledge that can be retained from the compilation step with knowledge that can be gained at runtime during execution on a multi-core system.
- Distributed implementation and high-level scheduler optimization. Adding support for multiple machines makes the previous item more complex. The heterogeneity and complexity increase and the communication costs vary more. A high-level scheduler therefore must take this into account, i.e., in addition to the competition for resources from different concurrent workloads.