Result: User-defined execution relaxations for enhanced programmability in high-performance parallel computing

Title:
User-defined execution relaxations for enhanced programmability in high-performance parallel computing
Publisher Information:
Universidad Complutense de Madrid 2019-11-22
Document Type:
Electronic Resource Electronic Resource
Availability:
Open access content. Open access content
info:eu-repo/semantics/openAccess
Note:
application/pdf
Spanish
Other Numbers:
ESRCM oai:www.ucm.es:62846
1202320848
Contributing Source:
REPOSITORIO E-PRINTS UNIVERSIDAD COMPLU
From OAIster®, provided by the OCLC Cooperative.
Accession Number:
edsoai.on1202320848
Database:
OAIster

Further Information

This thesis proposes the development and implementation of a new programming model basedon execution relaxations, and focused on High-Performance Parallel Computing. Specifically,the main goals of the thesis are:1. Advocate a development methodology in which users define the basic computing units(tasks), together with a set of relaxations in, possibly, multiple dimensions. These relaxationswill be translated, at execution time, into expanded (and complex) scheduling opportunitiesdepending on the underlying architectural features, yielding improvements in termsof desired output metrics (e.g., performance or energy consumption).2. Abstract away users from the complexity of the underlying heterogeneous hardware, delegatingthe proper exploitation of expanded scheduling choices to a system software component(typically referred as a runtime). This piece of software, armed with knowledge fromstatic architectural characteristics and dynamic status of the hardware at execution time,will exploit those combinations considered optimal among those relaxations proposed bythe user for each task ready for execution.3. Extend this abstraction in order to describe both computing systems, by means of executor/ allocator hierarchies that describe the heterogeneous computing architecture, and applications,in terms of sets of interdependent tasks. In addition, the relations between executorsand tasks are categorized into a new task-executor taxonomy, which motivates ambiguityfreeHPC programming frontends based on the STSE, Single Task - Single Executor classification,distinguished from fully-automated runtime backends.4. Propose a new programming model (STEEL) based on previous ideas, that gathers featuresconsidered to be basic for future task-based programming models, namely: performance,composability, expressivity and hard-to-misuse interfaces.5. Specify an API to support the STEEL programming model, and a runtime implementationleveraging techniques and programming paradigms supported