Enabling fine-grained OpenMP tasking on tightly-coupled shared memory clusters

  • Authors:
  • Paolo Burgio;Giuseppe Tagliavini;Andrea Marongiu;Luca Benini

  • Affiliations:
  • DEIS -- Universitá degli Studi di Bologna, Bologna -- Italy;DEIS -- Universitá degli Studi di Bologna, Bologna -- Italy;DEIS -- Universitá degli Studi di Bologna, Bologna -- Italy;DEIS -- Universitá degli Studi di Bologna, Bologna -- Italy

  • Venue:
  • Proceedings of the Conference on Design, Automation and Test in Europe
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cluster-based architectures are increasingly being adopted to design embedded many-cores. These platforms can deliver very high peak performance within a contained power envelope, provided that programmers can make effective use the available parallel cores. This is becoming an extremely difficult task, as embedded applications are growing in complexity and exhibit irregular and dynamic parallelism. The OpenMP tasking extensions represent a powerful abstraction to capture this form of parallelism. However, efficiently supporting it on cluster-based embedded SoCs is not easy, because the fine-grained parallel workload present in embedded applications can not tolerate high memory and run-time overheads. In this paper we present our design of the runtime support layer to OpenMP tasking for an embedded shared memory cluster, identifying key aspects to achieving performance and discussing important architectural support to removing major bottlenecks.