Verificação de consistência de memória para sistemas integrados multiprocessados
Autor(a) principal: | |
---|---|
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 |