About

Learn about the project's history and meet the maintaining team.

The UpScale Software Development Kit (UpScale SDK) is a framework for the development of workload-intensive applications, with real-time requirements.

The UpScale SDK targets systems that demand more and more computational performance to process large amounts of data from multiple data sources, whilst requiring guarantees on processing response times. Many­core processor architectures allow these performance requirements to be achieved, by integrating dozens or hundreds of cores, interconnected with complex networks on chip, paving the way for parallel computing. Unfortunately, parallelization brings many challenges, by drastically affecting the system’s timing behaviour: providing guarantees becomes harder, because the behaviour of the system running on a multi­core processor depends on interactions that are usually not known by the system designer. This causes system analysts to struggle to provide timing guarantees for such platforms.

UpScale tackles this challenge by including technologies from different computing segments to successfully exploit the performance opportunities brought by parallel programming models used in the high­performance domain and timing analysis from the embedded real-time domain, for newest manycore embedded processors available.

The SDK includes the following components:

  • Source to source compiler – enabling to analyze source code OpenMP parallelism annotations, extracting the required information to allow for efficient and predictable mapping and scheduling of parallel computations.
  • Lightweight OpenMP tasking runtime – a small-footprint implementation of the tasking model of the latest OpenMP specification, which uses the information extracted by the compiler to map OpenMP tasks to operating systems threads. 
  • Embedded Many-Core Operating System – a small kernel implementation which efficiently handles parallel threads in manycore platforms, supporting both static assignment of threads to cores as well as global scheduling approaches.
  • Analysis tools – an integrated toolset for the timing and schedulability analysis of real-time parallel applications.

UpScale is a result of the European project P-SOCRATES (Parallel Software Framework for Time-Critical Many-core Systems, FP7- 611016), which addressed the challenges of predictability and performance of applications with high-performance and real-time requirements. The consortium was led by Instituto Superior de Engenharia do Porto, Portugal, and also comprised: Barcelona Supercomputing Centre, Spain, University of Modena and Regio Emilia, Italy, Swiss Federal Institute of Technology Zurich, Switzerland, Evidence SRL, Italy, Active Technologies SRL, Italy and ATOS, Spain.

Team Contacts

Instituto Superior de Engenharia do Porto
Luis Miguel Pinho
Barcelona Supercomputing Center
Eduardo Quiñones
University of Modena and Regio Emilia
Marko Bertogna
ETH Zurich
Andrea Marongiu
Active Technologies
Michele Ramponi