The MPI/OmpSs parallel programming model

Even today supercomputing systems have already reached millions of cores for a single machine, which are connected by using a complex network interconnection. Reducing communication time across processes becomes the most important issue in order to achieve the highest possible performance. The Messa...

Descripción completa

Detalles Bibliográficos
Autor: Marjanović, Vladimir
Tipo de recurso: tesis doctoral
Estado:Versión publicada
Fecha de publicación:2016
País:España
Institución:CBUC, CESCA
Repositorio:TDR. Tesis Doctorales en Red
OAI Identifier:oai:www.tdx.cat:10803/398135
Acceso en línea:http://hdl.handle.net/10803/398135
https://dx.doi.org/10.5821/dissertation-2117-98109
Access Level:acceso abierto
Palabra clave:Àrees temàtiques de la UPC::Informàtica
004
id ES_9ba5d766f3cd3720fdea5f2acda5cacb
oai_identifier_str oai:www.tdx.cat:10803/398135
network_acronym_str ES
network_name_str España
repository_id_str
dc.title.none.fl_str_mv The MPI/OmpSs parallel programming model
title The MPI/OmpSs parallel programming model
spellingShingle The MPI/OmpSs parallel programming model
Marjanović, Vladimir
Àrees temàtiques de la UPC::Informàtica
004
title_short The MPI/OmpSs parallel programming model
title_full The MPI/OmpSs parallel programming model
title_fullStr The MPI/OmpSs parallel programming model
title_full_unstemmed The MPI/OmpSs parallel programming model
title_sort The MPI/OmpSs parallel programming model
dc.creator.none.fl_str_mv Marjanović, Vladimir
author Marjanović, Vladimir
author_facet Marjanović, Vladimir
author_role author
dc.contributor.none.fl_str_mv Labarta Mancho, Jesús
Gracia Calvo, Juan José
Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
dc.subject.none.fl_str_mv Àrees temàtiques de la UPC::Informàtica
004
topic Àrees temàtiques de la UPC::Informàtica
004
description Even today supercomputing systems have already reached millions of cores for a single machine, which are connected by using a complex network interconnection. Reducing communication time across processes becomes the most important issue in order to achieve the highest possible performance. The Message Passing Interface (MPI), which is the most widely used programming model for large distributed memory, supports asynchronous communication primitives for overlapping communication and computation. However, these primitives are difficult to use and increase code complexity. which then requiring more development effort and making less readable programs. This thesis presents a new programming model, which allows the programmer to easily introduce the asynchrony necessary to overlap communication and computation. The proposed programming model is based on MPI and tasked based shared memory framework, namely OmpSs. The thesis further describes implementation details which in order to allow efficient inter-operation of the OmpSs runtime and MPI. The thesis demonstrates the hybrid use of MPI/OmpSs with several applications of which the HPL benchmark is the most important case study. The hybrid MPI/OmpSs versions significantly improve the performance of the applications compared with their pure MPI counterparts. For the HPL we get close to the asymptotic performance at relatively small problem sizes and still get significant benefits at large problem sizes. In addition, the hybrid MPI/OmpSs approach substantially reduces code complexity and is less sensitive to network bandwidth and operating system noise than the pure MPI versions. In addition, the thesis analyzes and compares current techniques for overlapping computation and collective communication, including approaches using point-to-point communications and additional communication threads, respectively. The thesis stresses the importance of understanding the characteristic of a computational kernel that runs concurrently with communication. Experimental evaluations is done using the Communication Computation Concurrent (CCUBE) synthetic benchmark, developed in this thesis, as well as the HPL.
publishDate 2016
dc.date.none.fl_str_mv 2016
2016
2016
dc.type.none.fl_str_mv info:eu-repo/semantics/doctoralThesis
info:eu-repo/semantics/publishedVersion
format doctoralThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/10803/398135
https://dx.doi.org/10.5821/dissertation-2117-98109
url http://hdl.handle.net/10803/398135
https://dx.doi.org/10.5821/dissertation-2117-98109
dc.language.none.fl_str_mv Inglés
language_invalid_str_mv Inglés
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 146 p.
application/pdf
application/pdf
dc.publisher.none.fl_str_mv Universitat Politècnica de Catalunya
publisher.none.fl_str_mv Universitat Politècnica de Catalunya
dc.source.none.fl_str_mv TDX (Tesis Doctorals en Xarxa)
reponame:TDR. Tesis Doctorales en Red
instname:CBUC, CESCA
instname_str CBUC, CESCA
reponame_str TDR. Tesis Doctorales en Red
collection TDR. Tesis Doctorales en Red
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869414572338708480
spelling The MPI/OmpSs parallel programming modelMarjanović, VladimirÀrees temàtiques de la UPC::Informàtica004Even today supercomputing systems have already reached millions of cores for a single machine, which are connected by using a complex network interconnection. Reducing communication time across processes becomes the most important issue in order to achieve the highest possible performance. The Message Passing Interface (MPI), which is the most widely used programming model for large distributed memory, supports asynchronous communication primitives for overlapping communication and computation. However, these primitives are difficult to use and increase code complexity. which then requiring more development effort and making less readable programs. This thesis presents a new programming model, which allows the programmer to easily introduce the asynchrony necessary to overlap communication and computation. The proposed programming model is based on MPI and tasked based shared memory framework, namely OmpSs. The thesis further describes implementation details which in order to allow efficient inter-operation of the OmpSs runtime and MPI. The thesis demonstrates the hybrid use of MPI/OmpSs with several applications of which the HPL benchmark is the most important case study. The hybrid MPI/OmpSs versions significantly improve the performance of the applications compared with their pure MPI counterparts. For the HPL we get close to the asymptotic performance at relatively small problem sizes and still get significant benefits at large problem sizes. In addition, the hybrid MPI/OmpSs approach substantially reduces code complexity and is less sensitive to network bandwidth and operating system noise than the pure MPI versions. In addition, the thesis analyzes and compares current techniques for overlapping computation and collective communication, including approaches using point-to-point communications and additional communication threads, respectively. The thesis stresses the importance of understanding the characteristic of a computational kernel that runs concurrently with communication. Experimental evaluations is done using the Communication Computation Concurrent (CCUBE) synthetic benchmark, developed in this thesis, as well as the HPL.Las supercomputadoras están formadas por un creciente número de núcleos, del orden de millones en la actualidad, que se comunican a través de una compleja red de interconexión. Para obtener el más alto rendimiento posible es necesario reducir el tiempo de comunicación entre procesos. MPI ("Message Passing Interface", Interfaz de Paso de Mensajes), el modelo de programación más usado para grandes sistemas con memoria distribuida, permite llamadas de comunicación asíncrona para solapar la comunicación y la computación. Sin embargo, dichas llamadas son difíciles de usar e incrementan la complejidad del código, necesitándose un mayor esfuerzo en la implementación del código y dando lugar a programas más difíciles de leer. Esta tesis presenta un nuevo modelo de programación que permite al programador introducir fácilmente la asincronía necesaria para solapar la comunicación y la computación. El modelo de programación propuesto está fundamentado en MPI y la infraestructura basada en tareas y memoria compartida OmpSs. La tesis describe en profundidad los detalles de la implementación para la eficiente interoperabilidad entre OmpSs y MPI. En la tesis se demuestra el uso híbrido de MPI/OmpSs con distintas aplicaciones de las cuales el benchmark HPL es el más importante. La versión híbrida MPI/OmpSs mejora significativamente el rendimiento de las aplicaciones respecto a las versiones MPI originales. En el caso de HPL se acerca a un rendimiento asintótico para problemas relativamente pequeños, obteniendo mejoras significativas para problemas grandes. Además la versión híbrida MPI/OmpSs reduce substancialmente la complejidad del código y se ve menos afectada por el ancho de banda de la red y el ruido del sistema operativo que la versión MPI pura. Esta tesis también analiza y compara otros métodos actuales para solapar computación y comunicación colectiva, tales como usar comunicación punto a punto con hilos adicionales para la comunicación. La tesis resalta la importancia de entender las características de la computación que se ejecuta simultáneamente con la comunicación. Los resultados experimentales se han obtenido usando el benchmark sintético CCUBE ("Communication Computation Concurrent", Comunicación Computación Concurrente), desarrollado en esta tesis, además de HPL.DOCTORAT EN ARQUITECTURA DE COMPUTADORS (Pla 2007)Universitat Politècnica de CatalunyaLabarta Mancho, JesúsGracia Calvo, Juan JoséUniversitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors201620162016info:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/publishedVersion146 p.application/pdfapplication/pdfhttp://hdl.handle.net/10803/398135https://dx.doi.org/10.5821/dissertation-2117-98109TDX (Tesis Doctorals en Xarxa)reponame:TDR. Tesis Doctorales en Redinstname:CBUC, CESCAInglésADVERTIMENT. L'accés als continguts d'aquesta tesi doctoral i la seva utilització ha de respectar els drets de la persona autora. Pot ser utilitzada per a consulta o estudi personal, així com en activitats o materials d'investigació i docència en els termes establerts a l'art. 32 del Text Refós de la Llei de Propietat Intel·lectual (RDL 1/1996). Per altres utilitzacions es requereix l'autorització prèvia i expressa de la persona autora. En qualsevol cas, en la utilització dels seus continguts caldrà indicar de forma clara el nom i cognoms de la persona autora i el títol de la tesi doctoral. No s'autoritza la seva reproducció o altres formes d'explotació efectuades amb finalitats de lucre ni la seva comunicació pública des d'un lloc aliè al servei TDX. Tampoc s'autoritza la presentació del seu contingut en una finestra o marc aliè a TDX (framing). Aquesta reserva de drets afecta tant als continguts de la tesi com als seus resums i índexs.info:eu-repo/semantics/openAccessoai:www.tdx.cat:10803/3981352026-06-14T12:46:07Z
score 15,301603