Verificação de consistência de memória para sistemas integrados multiprocessados

Detalhes bibliográficos
Autor(a) principal: Rambo, Eberle Andrey
Data de Publicação: 2011
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFSC
Texto Completo: http://repositorio.ufsc.br/xmlui/handle/123456789/95908
Resumo: Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.
id UFSC_0ac5a4744d4eed1b789a6c463edfed0a
oai_identifier_str oai:repositorio.ufsc.br:123456789/95908
network_acronym_str UFSC
network_name_str Repositório Institucional da UFSC
repository_id_str 2373
spelling Universidade Federal de Santa CatarinaRambo, Eberle AndreySantos, Luiz Claudio Villar dos2012-10-26T07:02:27Z2012-10-26T07:02:27Z20112011300498http://repositorio.ufsc.br/xmlui/handle/123456789/95908Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.O multiprocessamento em chip (CMP) mudou o panorama arquitetural dos servidores e computadores pessoais e agora está mudando o modo como os dispositivos pessoais móveis são projetados. CMP requer acesso a variáveis compartilhadas em hierarquias multiníveis sofisticadas onde caches privadas e compartilhadas coexistem. Ele se baseia no suporte em hardware para implicitamente gerenciar o relaxamento da ordem de programa e a atomicidade de escrita de modo a fornecer, na interface software-hardware, uma semântica de memória compartilhada bem definida, que é capturada pelos axiomas de um modelo de consistência de memória (MCM). Este trabalho aborda o problema de verificar se uma representação executável do subsistema de memória implementa um MCM especificado. Técnicas convencionais de verificação codificam os axiomas como arestas de um único grafo orientado, inferem arestas extras a partir de traces de memória e indicam um erro quando um ciclo é detectado. Usando uma abordagem diferente, esta dissertação propõe uma nova técnica que decompõe o problema de verificação em múltiplas instâncias de um problema (estendido) de emparelhamento de vértices em grafos bipartidos. Como a decomposição foi judiciosamente projetada para induzir instâncias independentes, o problema-alvo pode ser resolvido por um algoritmo paralelo de verificação. Também é proposto um gerador de sequências de instruções aleatórias distribuídas em múltiplas threads para estimular o sistema de memória sob verificação. Por ser independente do MCM sob verificação, o gerador proposto pode ser utilizado pela maioria dos verificadores. A técnica proposta, que é comprovadamente completa para diversos MCMs, superou um verificador convencional para um conjunto de 2400 casos de uso gerados aleatoriamente. Em média, o verificador proposto encontrou um maior percentual de faltas (90%) comparado ao convencional (69%) e foi, em média, 272 vezes mais rápido.Chip multiprocessing (CMP) changed the architectural landscape of servers and personal computers and is now changing the way personal mobile devices are designed. CMP requires access to shared variables in sophisticated multilevel hierarchies where private and shared caches coexist. It relies on hardware support to implicitly manage relaxed program order and write atomicity so as to provide, at the hardware-software interface, a well-defined sharedmemory semantics, which is captured by the axioms of a memory consistency model (MCM). This dissertation addresses the problem of checking if an executable representation of the memory system complies with a specified consistency model. Conventional verification techniques encode the axioms as edges of a single directed graph, infer extra edges from memory traces, and indicate an error when a cycle is detected. Unlike them, this dissertation proposes a novel technique that decomposes the verification problem into multiple instances of an extended bipartite graph matching problem. Since the decomposition was judiciously designed to induce independent instances, the target problem can be solved by a parallel verification algorithm. To stimulate the memory system under verification, the dissertation also proposes a generator of multi-threading random-instruction sequences. It complies with an arbitrary MCM and can be used by most checkers. Our technique, which is proven to be complete for several MCMs, outperformed a conventional checker for a suite of 2400 randomly-generated use cases. On average, it found a higher percentage of faults (90%) as compared to that checker (69%) and did it, on average, 272 times faster.95 p.| il., grafs., tabs.porFlorianópolis, SCInformaticaCiência da computaçãoMemória compartilhada distribuídaGrafos de ligaçãoMultiprocessadoresVerificação de consistência de memória para sistemas integrados multiprocessadosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccessORIGINAL300498.pdfapplication/pdf2938637https://repositorio.ufsc.br/bitstream/123456789/95908/1/300498.pdf7398afa3a077fac745bb7fa071d4f174MD51TEXT300498.pdf.txt300498.pdf.txtExtracted Texttext/plain135880https://repositorio.ufsc.br/bitstream/123456789/95908/2/300498.pdf.txt50e1e530a8f5f48579280502896c0fc2MD52THUMBNAIL300498.pdf.jpg300498.pdf.jpgGenerated Thumbnailimage/jpeg1067https://repositorio.ufsc.br/bitstream/123456789/95908/3/300498.pdf.jpg3e3f0bd36b5131a7a83bc3a1fb2e1756MD53123456789/959082013-05-03 12:50:05.653oai:repositorio.ufsc.br:123456789/95908Repositório de PublicaçõesPUBhttp://150.162.242.35/oai/requestopendoar:23732013-05-03T15:50:05Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false
dc.title.pt_BR.fl_str_mv Verificação de consistência de memória para sistemas integrados multiprocessados
title Verificação de consistência de memória para sistemas integrados multiprocessados
spellingShingle Verificação de consistência de memória para sistemas integrados multiprocessados
Rambo, Eberle Andrey
Informatica
Ciência da computação
Memória compartilhada distribuída
Grafos de ligação
Multiprocessadores
title_short Verificação de consistência de memória para sistemas integrados multiprocessados
title_full Verificação de consistência de memória para sistemas integrados multiprocessados
title_fullStr Verificação de consistência de memória para sistemas integrados multiprocessados
title_full_unstemmed Verificação de consistência de memória para sistemas integrados multiprocessados
title_sort Verificação de consistência de memória para sistemas integrados multiprocessados
author Rambo, Eberle Andrey
author_facet Rambo, Eberle Andrey
author_role author
dc.contributor.pt_BR.fl_str_mv Universidade Federal de Santa Catarina
dc.contributor.author.fl_str_mv Rambo, Eberle Andrey
dc.contributor.advisor1.fl_str_mv Santos, Luiz Claudio Villar dos
contributor_str_mv Santos, Luiz Claudio Villar dos
dc.subject.classification.pt_BR.fl_str_mv Informatica
Ciência da computação
Memória compartilhada distribuída
Grafos de ligação
Multiprocessadores
topic Informatica
Ciência da computação
Memória compartilhada distribuída
Grafos de ligação
Multiprocessadores
description Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.
publishDate 2011
dc.date.submitted.pt_BR.fl_str_mv 2011
dc.date.issued.fl_str_mv 2011
dc.date.accessioned.fl_str_mv 2012-10-26T07:02:27Z
dc.date.available.fl_str_mv 2012-10-26T07:02:27Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://repositorio.ufsc.br/xmlui/handle/123456789/95908
dc.identifier.other.pt_BR.fl_str_mv 300498
identifier_str_mv 300498
url http://repositorio.ufsc.br/xmlui/handle/123456789/95908
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 95 p.| il., grafs., tabs.
dc.publisher.none.fl_str_mv Florianópolis, SC
publisher.none.fl_str_mv Florianópolis, SC
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSC
instname:Universidade Federal de Santa Catarina (UFSC)
instacron:UFSC
instname_str Universidade Federal de Santa Catarina (UFSC)
instacron_str UFSC
institution UFSC
reponame_str Repositório Institucional da UFSC
collection Repositório Institucional da UFSC
bitstream.url.fl_str_mv https://repositorio.ufsc.br/bitstream/123456789/95908/1/300498.pdf
https://repositorio.ufsc.br/bitstream/123456789/95908/2/300498.pdf.txt
https://repositorio.ufsc.br/bitstream/123456789/95908/3/300498.pdf.jpg
bitstream.checksum.fl_str_mv 7398afa3a077fac745bb7fa071d4f174
50e1e530a8f5f48579280502896c0fc2
3e3f0bd36b5131a7a83bc3a1fb2e1756
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)
repository.mail.fl_str_mv
_version_ 1766805456739631104