Um Framework para Definição e Análise de Modelos de Consistência de Memória - Mendes, Hammurabi C.; Aranha, Diego F.; Melo, Alba C. M. A.; Dantas, Mário A. R. (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2002: Anais do III Workshop em Sistemas Computacionais de Alto Desempenho, 2002)
A Memória Distribuída Compartilhada (DSM) foi proposta para permitir que o paradigma de programação por memória compartilhada seja utilizado em arquiteturas distribuídas. O comportamento dos sistemas DSM é determinado pelo modelo de consistência da memória. De modo a prover melhor compreensão sobre a semântica dos modelos de consistência da memória, vários pesquisadores propuseram formalismos para defini-los. Mesmo com definições formais, ainda é dificil dizer que tipos de históricos de execução podem ser produzidos em um determinado modelo de consistência. Neste artigo, é proposto um framework que serve como base para a implementação da análise de históricos de execução em diversos modelos de consistência, provendo os algoritmos e estruturas de dados convenientes para tal. O nosso framework é organizado em módulos e permite que o usuário defina novos modelos de consistência de uma maneira simples. Um protótipo foi implementado em C, incluindo também os programas que lidam com históricos em PipelinedRAM e Release Consistency. Quando comparados com suas implementações originais, o uso do framework permitiu uma redução de em torno de 70% no tamanho do código para os dois modelos.