A dependency-aware parallel programming model

Tesis doctoral de Josep María Perez Cancer

Designing parallel codes is hard. One of the most important roadblocks to parallel programming is the presence of data dependencies. These restrict parallelism and, in general, to work them around requires complex analysis and leads to convoluted solutions that decrease the quality of the code. this thesis proposes a solution to parallel programming that incorporates data dependencies into the model. The programming model can handle that information and to dynamically find parallelism that otherwise would be hard to find. This approach improves both programmability and parallelism, and thus performance. while this problem has already been solved in openmp 4 at the time of this publication, this research begun before the problem was even being considered for openmp 3. In fact, some of the contributions of this thesis have had an influence on the approach taken in openmp 4. However, the contributions go beyond that and cover aspects that have not been considered yet in openmp 4. the approach we propose is based on function-level dependencies across disjoint blocks of contiguous memory. While finding dependencies under those constraints is simple, it is much harder to do so over strided and possibly partially overlapping sets of data. This thesis also proposes a solution to this problem. By doing so, we increase the range of applicability of the original solution and increase the span of applicability of the programming model. Openmp4 does not currently cover this aspect. finally, we present a solution to take advantage of the performance characteristics of non-uniform memory access architectures. Our proposal is at the programming model level and does not require changes in the code. It automatically distributes the data and does not rely on data migration nor replication. Instead, it is based exclusively on scheduling the computations. While this process is automatic, it can be tuned through minor changes in the code that do not require any change in the programming model. throughout the thesis, we demonstrate the effectiveness of the proposal through benchmarks that are either hard to program using other paradigms or that have different solutions. In most cases, our solutions perform either on par or better than already existing solutions. This includes the implementations available in well-known high-performance parallel libraries.

 

Datos académicos de la tesis doctoral «A dependency-aware parallel programming model«

  • Título de la tesis:  A dependency-aware parallel programming model
  • Autor:  Josep María Perez Cancer
  • Universidad:  Politécnica de catalunya
  • Fecha de lectura de la tesis:  11/02/2015

 

Dirección y tribunal

  • Director de la tesis
    • Rosa María Badia Sala
  • Tribunal
    • Presidente del tribunal: José ignacio Aliaga estelles
    • francesc Guim bernat (vocal)
    • (vocal)
    • (vocal)

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio