Execution models of Telecom Applications on manycore platforms

Many industrial applications work reasonably well on current multicore processors (with up to 4-8 cores). Developers use explicit multithreading techniques such as POSIX threads or message-passing communication provided by operating systems such as Enea OSE. Although this works, it is still error-prone and performance may sometimes be difficult to estimate. This way of programming is, however, neither sustainable, in terms of software developer productivity, nor scalable in the sense that adding more cores increases performance correspondingly.

In this work package we will study existing technologies for multicore development from a manycore perspective. In this context, manycore is defined as a processor with more than 30 cores. In particular we will be studying the following:

  • The suitability of current programming languages for parallel software development as well as identification of new language constructs facilitating design of parallel applications.
  • Evaluate the suitability and modifications needed of parallelization supporting techniques such as transactional memory, message passing, light-weight threading etc.         
  • Evaluate and define paradigms for data-parallel applications.         
  • Requirements on run-time systems and operating systems.         
  • Identify and evaluate hardware support that greatly facilitates development of effective parallel software.

Expected outcome

A set of survey reports with quantitative evaluations of languages and techniques supporting parallelism. Reports with scientifically sound suggestions for future development of run-time systems and operating systems for manycore architectures. A set of proposals for HW extensions supporting parallel software with quantitative evaluations.

The outcome of this work package will directly guide industrial participants for the near-future development of manycore applications and choice of platforms.