Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Application parallelization and debugging using pattern-based programming

dc.contributor.advisorOlcoz Herrero, Katzalin
dc.contributor.advisorCostero Valero, Luis María
dc.contributor.authorVílchez Moya, Cristina
dc.date.accessioned2023-06-17T10:51:39Z
dc.date.available2023-06-17T10:51:39Z
dc.date.issued2020
dc.degree.titleDoble Grado en Ingeniería Informática y Matemáticas
dc.descriptionTrabajo de Fin de Doble Grado en Ingeniería Informática y Matemáticas, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2019/2020
dc.description.abstractThe search for improved performance of our computer systems is a never-ending journey. Up until the early 2000s, single-core processors dominated the technology market; however, the problem of heat and the limitations of instruction-level parallelism sentenced this branch of computers to obsolescence, in favour of multicore processors. Now, the challenge for programmers is to write programs that can take full advantage of the CPU resources, thanks to parallelism. Programmers are now presented with multiple parallel pattern frameworks and APIs (C++ threads, OpenMP, Intel TBB, etc), each of which has its own programming standard. The lack of high-level parallel pattern abstractions and the difficulty to port programs between these very specialised parallel pattern models increase the complexity in developing parallel applications. GrPPI is a generic high-level C++ parallel pattern interface that presents itself as a solution to this problem, for it provides users with a common API for a collection of these parallel frameworks. In this work, we study the performance of GrPPI by using it to adapt four programs from the PARSEC benchmark suite and comparing its execution time to the original parallel implementation. We compare its performance for three execution back-ends (sequential, parallel native and OpenMP). We will see that the results of the tests testify in favour of GrPPI, which has an execution time as good as the original, more specific parallel versions of the programs while needing fewer lines of code and no knowledge about the different programming standards.
dc.description.abstractLa búsqueda de un rendimiento mejorado de nuestros sistemas informáticos es un viaje interminable. Hasta principios de los 2000, los ordenadores uni-core dominaban el marcado tecnológico; sin embargo, el problema del calor y las limitaciones del paralelismo a nivel de instrucción (ILP) condenaron esta rama de las computadoras a la obsolescencia, a favor de los procesadores multicore. Ahora, el desafío para los programadores es escribir programas que puedan aprovechar al máximo los recursos de la CPU, gracias al paralelismo. Los programadores se enfrentan a múltiples marcos de patrones paralelos y APIs (C++ Multihreads, OpenMP, Intel TBB, etc.), cada uno de los cuales tiene su propio estándar de programación. La falta de abstracciones de patrones paralelos de alto nivel y la dificultad de traducir programas entre estos modelos de patrones paralelos tan especializados aumentan la complejidad en el desarrollo de aplicaciones paralelas. GrPPI es una interfaz de alto nivel genérica de patrones paralelos de C++ que se presenta como una solución a este problema, ya que proporciona a los usuarios una API común para una colección de estos marcos paralelos. En este trabajo, estudiamos el rendimiento de GrPPI usándolo para adaptar cuatro programas del conjunto de benchmark de referencia PARSEC y comparando su tiempo de ejecución con la implementación paralela original. Comparamos su rendimiento para tres back-end de ejecución (secuencial, paralelo nativo y OpenMP). Veremos que los resultados de las pruebas testifican a favor de GrPPI, que tiene un tiempo de ejecución tan bueno como las versiones paralelas originales y más específicas de los programas, a la vez que necesita menos líneas de código y ningún conocimiento sobre los diferentes estándares de programación.
dc.description.departmentDepto. de Arquitectura de Computadores y Automática
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.eprint.idhttps://eprints.ucm.es/id/eprint/62014
dc.identifier.urihttps://hdl.handle.net/20.500.14352/10254
dc.language.isoeng
dc.page.total49
dc.rightsAtribución-NoComercial 3.0 España
dc.rights.accessRightsopen access
dc.rights.urihttps://creativecommons.org/licenses/by-nc/3.0/es/
dc.subject.cdu004(043.3)
dc.subject.keywordHigh-level API
dc.subject.keywordParallel pattern
dc.subject.keywordParallel programming framework
dc.subject.keywordPattern-based programming
dc.subject.keywordGrppi
dc.subject.keywordHigh-level parallelization
dc.subject.keywordPARSEC
dc.subject.keywordBenchmark
dc.subject.keywordAPI de alto nivel
dc.subject.keywordPatrones de paralelismo
dc.subject.keywordProgramación paralela
dc.subject.keywordProgramación basada en patrones
dc.subject.keywordParalelismo de alto nivel
dc.subject.ucmInformática (Informática)
dc.subject.unesco1203.17 Informática
dc.titleApplication parallelization and debugging using pattern-based programming
dc.title.alternativeParalelización y depuración de aplicaciones usando programación basada en patrones
dc.typebachelor thesis
dspace.entity.typePublication
relation.isAdvisorOfPublication8cfc18ec-4816-404d-982d-21dc07318c07
relation.isAdvisorOfPublicationb2616c88-d3da-43df-86cb-3ced1084f460
relation.isAdvisorOfPublication.latestForDiscovery8cfc18ec-4816-404d-982d-21dc07318c07

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
VILCHEZ_MOYA_Memoria_TFG_4398577_121740117.pdf
Size:
1.61 MB
Format:
Adobe Portable Document Format