Você está na página 1de 1

Fractal Coherence: Scalably Veriable Cache Coherence Meng Zhang, Alvin R. Lebeck e Daniel J.

Sorin
(43rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), dec. 2010)

Resumo por Carla N egri Lintzmayer RA 134042 Um protocolo de coer encia de cache deve ser bem projetado e inspecionado para que n ao haja falhas no sistema que for utiliz a-lo. Protocolos atuais permitem requisi co es pendentes e opera co es concorrentes, levando a v arios estados de transi ca o e um comportamento n ao-determin stico, tornando dif cil a verica c ao do projeto para garantir sua conabilidade. O uso de simula co es n ao verica todos os estados poss veis; a verica ca o formal automatizada e poss vel e pode superar o problema da simula ca o, mas possui ainda alguns problemas como o problema da explos ao de estado, que e causado pelo fato do m etodo ser exaustivo e explodir o espa co de estados exponencialmente com o aumento do n umero de cores. O artigo prop oe uma metodologia de projeto que permite que os protocolos sejam vericados com o uso de ferramentas formais automatizadas existentes. A base est a na teoria dos fractais, pelo fato de um fractal ser uma forma que pode ser dividida em partes onde cada parte e uma c opia reduzida do todo. Os autores criaram uma classe chamada Coer encia Fractal de protocolos de refer encia que podem ser vericados por indu ca o: se um sistema grande B tem comportamento fractal e um sistema menor A (que pode ter sua coer encia comprovada) e c opia reduzida de B , ent ao pode-se provar a coer encia de B com base na de A. A coer encia de cache de um sistema fractal e vericada formalmente garantindo dois passos1 . Os autores apresentam, al em da teoria, a implementa ca o de um protocolo de coer encia fractal espec co denominado TreeFractal para mostrar que a metodologia de projeto fractal e vi avel e explicam como utilizar duas ferramentas automatizadas de verica ca o para realizar esses dois passos: 1. O sistema m nimo deve ser coerente em cache. Um sistema m nimo inclui todos os tipos diferentes de componentes usados em sistemas maiores. Sua modelagem deve capturar o comportamento do protocolo de coer encia de cache e garantir que ele que dentro da capacidade de verica ca o das ferramentas atuais para evitar o problema da explos ao de estado. O sistema m nimo implementado tem formato de a rvore bin aria e possui dois n os b asicos e uma Tag de Topo. Cada n o b asico tem um core, duas caches privadas L1 e L2, uma por c ao de mem oria compartilhada e um controlador de coer encia. A Tag de Topo e o pai dos dois n os b asicos. Os autores utilizaram o vericador chamado Murphi para vericar a coer encia de cache desse sistema m nimo. Murphi levou tr es horas para vericar o sistema e foram explorados 12.031.400 estados. 2. O sistema inteiro deve possuir comportamento fractal. Isso garante que a coer encia ser a mantida quando o sistema for escalado. Como o sistema e constru do por itera ca o, basta vericar a equival encia entre os n veis 1 e 2, mostrando que o mundo exterior n ao v e diferen cas entre eles. O sistema m nimo implementado pode ser escalado para qualquer sistema com N n os adicionando o que os autores chamaram de Tags Internas entre a Tag do Topo e os n os b asicos. Essa estrutura e uma a rvore bin aria. As Tags s ao interfaces que d ao suporte ao comportamento fractal mantendo c opias das tags das caches e dos estados de coer encia dos seus lhos. No sistema como um todo, os n os b asicos s ao as folhas da arvore, os n os internos s ao as Tags Internas e a raiz e a Tag do Topo. O comportamento fractal do sistema implementado foi vericado utilizando um vericador chamado Bisimulator, que retornou true indicando que os sistemas comparados eram de fato equivalentes. Por m, foram realizados experimentos para mostrar que TreeFractal n ao apresenta uma degrada c ao de desempenho. Ele foi comparado com os protocolos Snooping e Directory. Os tr es utilizaram os mesmos par ametros arquiteturais e v arios benchmarks foram testados. De modo geral, TreeFractal tem um desempenho compar avel ao Snooping e ao Directory, superando-os em alguns benchmarks em determinadas situa co es (por exemplo, com 2 ou 4 cores, TreeFractal se saiu melhor em praticamente todos os benchmarks). O mais importante e que o desempenho de TreeFractal e compar avel com os protocolos utilizados e ainda garante a corretude do sistema por meio de m etodos formais de verica ca o.
1

E apresentada uma prova por indu c ao do porque esses dois passos s ao sucientes.

Você também pode gostar