Mechanism for speculative execution of applications parallelized by DOPIPE techniques using stage replication

dc.creatorBaixo, André Oliveira Loureiro do, 1986-
dc.date2012
dc.date2017-04-01T11:27:09Z
dc.date2017-06-09T15:06:03Z
dc.date2017-04-01T11:27:09Z
dc.date2017-06-09T15:06:03Z
dc.date.accessioned2018-03-29T02:18:40Z
dc.date.available2018-03-29T02:18:40Z
dc.identifierBAIXO, André Oliveira Loureiro do. Mecanismo para execução especulativa de aplicações paralelizadas por técnicas DOPIPE usando replicação de estágios. 2012. 77 f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.bibliotecadigital.unicamp.br/document/?code=000877881>. Acesso em: 1 abr. 2017.
dc.identifierhttp://repositorio.unicamp.br/jspui/handle/REPOSIP/275691
dc.identifier.urihttp://repositorioslatinoamericanos.uchile.cl/handle/2250/1313981
dc.descriptionOrientador: Guido Costa Souza de Araújo
dc.descriptionDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação
dc.descriptionResumo: A utilização máxima dos núcleos de arquiteturas multi-processadas é fundamental para permitir uma utilização completa do paralelismo disponível em processadores modernos. A fim de obter desempenho escalável, técnicas de paralelização requerem um ajuste cuidadoso de: (a) mecanismo arquitetural para especulação; (b) ambiente de execução; e (c) transformações baseadas em software. Mecanismos de hardware e software já foram propostos para tratar esse problema. Estes mecanismos, ou requerem alterações profundas (e arriscadas) nos protocolos de coerência de cache, ou exibem uma baixa escalabilidade de desempenho para uma gama de aplicações. Trabalhos recentes em técnicas de paralelização baseadas em DOPIPE (como DSWP) sugerem que a combinação de versionamento de dados baseado em paginação com especulação em software pode resultar em bons ganhos de desempenho. Embora uma solução apenas em software pareça atrativa do ponto de vista da indústria, essa não utiliza todo o potencial da microarquitetura para detectar e explorar paralelismo. A adição de tags às caches para habilitar o versionamento de dados, conforme recentemente anunciado pela indústria, pode permitir uma melhor exploração de paralelismo no nível da microarquitetura. Neste trabalho, é apresentado um modelo de execução que permite tanto a especulação baseada em DOPIPE, como as técnicas de paralelização especulativas tradicionais. Este modelo é baseado em uma simples abordagem com tags de cache para o versionamento de dados, que interage naturalmente com protocolos de coerência de cache tradicionais, não necessitando que estes sejam alterados. Resultados experimentais, utilizando benchmarks SPEC e PARSEC, revelam um ganho de desempenho geométrico médio de 21.6× para nove programas sequenciais em uma máquina simulada de 24 núcleos, demonstrando uma melhora na escalabilidade quando comparada a uma abordagem apenas em software
dc.descriptionAbstract: Maximal utilization of cores in multicore architectures is key to realize the potential performance available from modern microprocessors. In order to achieve scalable performance, parallelization techniques rely on carefully tunning speculative architecture support, runtime environment and software-based transformations. Hardware and software mechanisms have already been proposed to address this problem. They either require deep (and risky) changes on the existing hardware and cache coherence protocols, or exhibit poor performance scalability for a range of applications. Recent work on DOPIPE-based parallelization techniques (e.g. DSWP) has suggested that the combination of page-based data versioning with software speculation can result in good speed-ups. Although a softwareonly solution seems very attractive from an industry point-of-view, it does not enable the whole potential of the microarchitecture in detecting and exploiting parallelism. The addition of cache tags as an enabler for data versioning, as recently announced in the industry, could allow a better exploitation of parallelism at the microarchitecture level. In this paper we present an execution model that supports both DOPIPE-based speculation and traditional speculative parallelization techniques. It is based on a simple cache tagging approach for data versioning, which integrates smoothly with typical cache coherence protocols, and does not require any changes to them. Experimental results, using SPEC and PARSEC benchmarks, reveal a geometric mean speedup of 21.6x for nine sequential programs in a 24-core simulated CMP, while demonstrate improved scalability when compared to a software-only approach
dc.descriptionMestrado
dc.descriptionCiência da Computação
dc.descriptionMestre em Ciência da Computação
dc.format77 f. : il.
dc.formatapplication/octet-stream
dc.languagePortuguês
dc.publisher[s.n.]
dc.subjectArquitetura de computador
dc.subjectProcessamento paralelo (Computadores)
dc.subjectCompiladores (Programas de computador)
dc.subjectComputer architecture
dc.subjectParallel processing (Electronic computers)
dc.subjectCompilers (Computer programs)
dc.titleMecanismo para execução especulativa de aplicações paralelizadas por técnicas DOPIPE usando replicação de estágios
dc.titleMechanism for speculative execution of applications parallelized by DOPIPE techniques using stage replication
dc.typeTesis


Este ítem pertenece a la siguiente institución