UPMARC_700x150.gif

About Uppsala Programming for Multicore Architectures Research Center (UPMARC)

In order to increase performance and save energy, most future processor chips will contain many processors, so called cores, that work in parallel. As a consequence, almost all software must exploit parallelism, which gives rise to the grand challenge of supplying techniques and tools to support software development for multicore platforms. UPMARC will address this challenge by

  • developing principles for algorithm construction in key application areas, considering the new trade-offs for multicores in comparison with previous multi-computers,
  • developing techniques for making the most efficient use of system resources, including processor cores, memory units, communication bandwidth, in order to meet requirements of performance and predictability,
  • developing programming language constructions and paradigms, that allow the software developer to express the potential parallelism of an algorithm, at the same time as shielding her from the added complexity of concurrency,
  • developing techniques for analyzing vital correctness properties, using formal verification, static analysis, and testing.

UPMARC brings together research groups with internationally leading expertise in complementary areas crucial for addressing these challenges: computer architecture, computer networks, parallel scientific computing, programming language technology, real-time and embedded systems, algorithmic program verification and testing, and modeling of concurrent computation.