Analysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallel

Detalhes bibliográficos
Autor(a) principal: Mor, Stefano Drimon Kurz
Data de Publicação: 2015
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFRGS
Texto Completo: http://hdl.handle.net/10183/130529
Resumo: Nous présentons deux contributions dans le domaine de la programmation parallèle. La première est théorique : nous introduisons l’analyse SIPS, une approche nouvelle pour dénombrer le nombre d’opérations de synchronisation durant l’exécution d’un algorithme parallèle ordonnancé par vol de travail. Basée sur le concept d’horloges logiques, elle nous permet : d’une part de donner de nouvelles majorations de coût en moyenne; d’autre part de concevoir des programmes parallèles plus efficaces par adaptation dynamique de la granularité. La seconde contribution est pragmatique : nous présentons une parallélisation générique d’algorithmes pour la génération déterministe de nombres pseudo-aléatoires, indépendamment du nombre de processus concurrents lors de l’exécution. Alternative à l’utilisation d’un générateur pseudo-aléatoire séquentiel par processus, nous introduisons une API générique, appelée Par-R qui est conçue et analysée grâce à SIPS. Sa caractéristique principale est d’exploiter un générateur séquentiel qui peut “sauter” directement d’un nombre à un autre situé à une distance arbitraire dans la séquence pseudo-aléatoire. Grâce à l’analyse SIPS, nous montrons qu’en moyenne, lors d’une exécution par vol de travail d’un programme très parallèle (dont la profondeur ou chemin critique est très petite devant le travail ou nombre d’opérations), ces opérations de saut sont rares. Par-R est comparé au générateur pseudo-aléatoire DotMix écrit pour Cilk Plus, une extension de C/C++ pour la programmation parallèle par vol de travail. Le surcout théorique de Par-R se compare favorablement au surcoput de DotMix, ce qui apparait aussi expériemntalement. De plus, étant générique, Par-R est indépendant du générateur séquentiel sous-jacent.
id URGS_6c08c0f9db5d3e8090bd31ddd593bcf3
oai_identifier_str oai:www.lume.ufrgs.br:10183/130529
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str 1853
spelling Mor, Stefano Drimon KurzRoch, Jean-LouisMaillard, Nicolas Bruno2015-11-28T02:42:52Z2015http://hdl.handle.net/10183/130529000979155Nous présentons deux contributions dans le domaine de la programmation parallèle. La première est théorique : nous introduisons l’analyse SIPS, une approche nouvelle pour dénombrer le nombre d’opérations de synchronisation durant l’exécution d’un algorithme parallèle ordonnancé par vol de travail. Basée sur le concept d’horloges logiques, elle nous permet : d’une part de donner de nouvelles majorations de coût en moyenne; d’autre part de concevoir des programmes parallèles plus efficaces par adaptation dynamique de la granularité. La seconde contribution est pragmatique : nous présentons une parallélisation générique d’algorithmes pour la génération déterministe de nombres pseudo-aléatoires, indépendamment du nombre de processus concurrents lors de l’exécution. Alternative à l’utilisation d’un générateur pseudo-aléatoire séquentiel par processus, nous introduisons une API générique, appelée Par-R qui est conçue et analysée grâce à SIPS. Sa caractéristique principale est d’exploiter un générateur séquentiel qui peut “sauter” directement d’un nombre à un autre situé à une distance arbitraire dans la séquence pseudo-aléatoire. Grâce à l’analyse SIPS, nous montrons qu’en moyenne, lors d’une exécution par vol de travail d’un programme très parallèle (dont la profondeur ou chemin critique est très petite devant le travail ou nombre d’opérations), ces opérations de saut sont rares. Par-R est comparé au générateur pseudo-aléatoire DotMix écrit pour Cilk Plus, une extension de C/C++ pour la programmation parallèle par vol de travail. Le surcout théorique de Par-R se compare favorablement au surcoput de DotMix, ce qui apparait aussi expériemntalement. De plus, étant générique, Par-R est indépendant du générateur séquentiel sous-jacent.Nós apresentamos duas contribuições para a área de programação paralela. A primeira contribuição é teórica: nós introduzimos a análise SIPS, uma nova abordagem para a estimar o número de sincronizações realizadas durante a execução de um algoritmo paralelo. SIPS generaliza o conceito de relógios lógicos para contar o número de sincronizações realizadas por um algoritmo paralelo e é capaz de calcular limites do pior caso mesmo na presença de execuções paralelas não-determinísticas, as quais não são geralmente cobertas por análises no estado-da-arte. Nossa análise nos permite estimar novos limites de pior caso para computações escalonadas pelo popular algoritmo de roubo de tarefas e também projetar programas paralelos e adaptáveis que são mais eficientes. A segunda contribuição é pragmática: nós apresentamos uma estratégia de paralelização eficiente para a geração de números pseudoaleatórios. Como uma alternativa para implementações fixas de componentes de geração aleatória nós introduzimos uma API chamada Par-R, projetada e analisada utilizando-se SIPS. Sua principal idea é o uso da capacidade de um gerador sequencial R de realizar um “pulo” eficiente dentro do fluxo de números gerados; nós os associamos a operações realizadas pelo escalonador por roubo de tarefas, o qual nossa análise baseada em SIPS demonstra ocorrer raramente em média. Par-R é comparado com o gerador paralelo de números pseudoaleatórios DotMix, escrito para a plataforma de multithreading dinâmico Cilk Plus. A latência de Par-R tem comparação favorável à latência do DotMix, o que é confirmado experimentalmente, mas não requer o uso subjacente fixado de um dado gerador aleatório.We present two contributions to the field of parallel programming. The first contribution is theoretical: we introduce SIPS analysis, a novel approach to estimate the number of synchronizations performed during the execution of a parallel algorithm. Based on the concept of logical clocks, it allows us: on one hand, to deliver new bounds for the number of synchronizations, in expectation; on the other hand, to design more efficient parallel programs by dynamic adaptation of the granularity. The second contribution is pragmatic: we present an efficient parallelization strategy for pseudorandom number generation, independent of the number of concurrent processes participating in a computation. As an alternative to the use of one sequential generator per process, we introduce a generic API called Par-R, which is designed and analyzed using SIPS. Its main characteristic is the use of a sequential generator that can perform a “jump-ahead” directly from one number to another on an arbitrary distance within the pseudorandom sequence. Thanks to SIPS, we show that, in expectation, within an execution scheduled by work stealing of a “very parallel” program (whose depth or critical path is subtle when compared to the work or number of operations), these operations are rare. Par-R is compared with the parallel pseudorandom number generator DotMix, written for the Cilk Plus dynamic multithreading platform. The theoretical overhead of Par-R compares favorably to DotMix’s overhead, what is confirmed experimentally, while not requiring a fixed generator underneath.application/pdfengAlgorithmes parallèleVol de travailHorloges logiquesNombres pseudoaléatoireExécutions non-déterministesAlgoritmos paralelosProcessamento distribuídoParallel algorithmsWork-stealingLogical clocksPseudorandom numbersNondeterministic executionsAnalysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallelAnálise de sincronizações em execuções por escalonamento guloso e aplicações para geração eficiente de números pseudoaleatórios em paralelo Analyse des synchronisations dans un programme parallèle ordonnancé par vol de travail applications à la génération déterministe de nombres pseudo-aléatoires info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2015doutoradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000979155.pdf000979155.pdfTexto completo (inglês)application/pdf1256344http://www.lume.ufrgs.br/bitstream/10183/130529/1/000979155.pdf63c7a2926ae258c5186c7d04ee0fe36fMD51TEXT000979155.pdf.txt000979155.pdf.txtExtracted Texttext/plain403707http://www.lume.ufrgs.br/bitstream/10183/130529/2/000979155.pdf.txt50be1418a71512faf2d8af19bc7ff289MD52THUMBNAIL000979155.pdf.jpg000979155.pdf.jpgGenerated Thumbnailimage/jpeg1913http://www.lume.ufrgs.br/bitstream/10183/130529/3/000979155.pdf.jpg4cc7a92babc70107a38bdba870caa7daMD5310183/1305292022-02-22 05:08:47.254064oai:www.lume.ufrgs.br:10183/130529Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532022-02-22T08:08:47Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Analysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallel
dc.title.alternative.pt.fl_str_mv Análise de sincronizações em execuções por escalonamento guloso e aplicações para geração eficiente de números pseudoaleatórios em paralelo
dc.title.alternative.fr.fl_str_mv Analyse des synchronisations dans un programme parallèle ordonnancé par vol de travail applications à la génération déterministe de nombres pseudo-aléatoires
title Analysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallel
spellingShingle Analysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallel
Mor, Stefano Drimon Kurz
Algorithmes parallèle
Vol de travail
Horloges logiques
Nombres pseudoaléatoire
Exécutions non-déterministes
Algoritmos paralelos
Processamento distribuído
Parallel algorithms
Work-stealing
Logical clocks
Pseudorandom numbers
Nondeterministic executions
title_short Analysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallel
title_full Analysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallel
title_fullStr Analysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallel
title_full_unstemmed Analysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallel
title_sort Analysis of synchronizations in greedy-scheduled executions and applications to efficient generation of pseudorandom numbers in parallel
author Mor, Stefano Drimon Kurz
author_facet Mor, Stefano Drimon Kurz
author_role author
dc.contributor.author.fl_str_mv Mor, Stefano Drimon Kurz
dc.contributor.advisor1.fl_str_mv Roch, Jean-Louis
dc.contributor.advisor-co1.fl_str_mv Maillard, Nicolas Bruno
contributor_str_mv Roch, Jean-Louis
Maillard, Nicolas Bruno
dc.subject.fr.fl_str_mv Algorithmes parallèle
Vol de travail
Horloges logiques
Nombres pseudoaléatoire
Exécutions non-déterministes
topic Algorithmes parallèle
Vol de travail
Horloges logiques
Nombres pseudoaléatoire
Exécutions non-déterministes
Algoritmos paralelos
Processamento distribuído
Parallel algorithms
Work-stealing
Logical clocks
Pseudorandom numbers
Nondeterministic executions
dc.subject.por.fl_str_mv Algoritmos paralelos
Processamento distribuído
dc.subject.eng.fl_str_mv Parallel algorithms
Work-stealing
Logical clocks
Pseudorandom numbers
Nondeterministic executions
description Nous présentons deux contributions dans le domaine de la programmation parallèle. La première est théorique : nous introduisons l’analyse SIPS, une approche nouvelle pour dénombrer le nombre d’opérations de synchronisation durant l’exécution d’un algorithme parallèle ordonnancé par vol de travail. Basée sur le concept d’horloges logiques, elle nous permet : d’une part de donner de nouvelles majorations de coût en moyenne; d’autre part de concevoir des programmes parallèles plus efficaces par adaptation dynamique de la granularité. La seconde contribution est pragmatique : nous présentons une parallélisation générique d’algorithmes pour la génération déterministe de nombres pseudo-aléatoires, indépendamment du nombre de processus concurrents lors de l’exécution. Alternative à l’utilisation d’un générateur pseudo-aléatoire séquentiel par processus, nous introduisons une API générique, appelée Par-R qui est conçue et analysée grâce à SIPS. Sa caractéristique principale est d’exploiter un générateur séquentiel qui peut “sauter” directement d’un nombre à un autre situé à une distance arbitraire dans la séquence pseudo-aléatoire. Grâce à l’analyse SIPS, nous montrons qu’en moyenne, lors d’une exécution par vol de travail d’un programme très parallèle (dont la profondeur ou chemin critique est très petite devant le travail ou nombre d’opérations), ces opérations de saut sont rares. Par-R est comparé au générateur pseudo-aléatoire DotMix écrit pour Cilk Plus, une extension de C/C++ pour la programmation parallèle par vol de travail. Le surcout théorique de Par-R se compare favorablement au surcoput de DotMix, ce qui apparait aussi expériemntalement. De plus, étant générique, Par-R est indépendant du générateur séquentiel sous-jacent.
publishDate 2015
dc.date.accessioned.fl_str_mv 2015-11-28T02:42:52Z
dc.date.issued.fl_str_mv 2015
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/130529
dc.identifier.nrb.pt_BR.fl_str_mv 000979155
url http://hdl.handle.net/10183/130529
identifier_str_mv 000979155
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/130529/1/000979155.pdf
http://www.lume.ufrgs.br/bitstream/10183/130529/2/000979155.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/130529/3/000979155.pdf.jpg
bitstream.checksum.fl_str_mv 63c7a2926ae258c5186c7d04ee0fe36f
50be1418a71512faf2d8af19bc7ff289
4cc7a92babc70107a38bdba870caa7da
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1810085342740480000