Litcius/Paper detail

Advanced synchronization techniques for task-based runtime systems

David Álvarez, Kevin Sala, Marcos Maroñas, Aleix Roca, Vincenç Beltran

202123 citationsDOIOpen Access PDF

Abstract

Task-based programming models like OmpSs-2 and OpenMP provide a flexible data-flow execution model to exploit dynamic, irregular and nested parallelism. Providing an efficient implementation that scales well with small granularity tasks remains a challenge, and bottlenecks can manifest in several runtime components. In this paper, we analyze the limiting factors in the scalability of a task-based runtime system and propose individual solutions for each of the challenges, including a wait-free dependency system and a novel scalable scheduler design based on delegation. We evaluate how the optimizations impact the overall performance of the runtime, both individually and in combination. We also compare the resulting runtime against state of the art OpenMP implementations, showing equivalent or better performance, especially for fine-grained tasks.

Topics & Concepts

Computer scienceScalabilityRuntime systemGranularityExploitParallel computingSynchronization (alternating current)ImplementationDistributed computingDependency (UML)Task (project management)Programming paradigmDelegationComputer architectureProgramming languageOperating systemSoftware engineeringPolitical scienceLawChannel (broadcasting)ManagementEconomicsComputer securityComputer networkParallel Computing and Optimization TechniquesDistributed systems and fault toleranceCloud Computing and Resource Management