MIT ALEWIFE
Rafael Viana de
Universidade Federal do Rio de Janeiro
Pós-Graduação em Informática
DCC/IM - NCE/UFRJ
 Características
 Estratégia de Gerenciamento de Memória
 CMMU
MIT ALEWIFE
Arquitetura de multiprocessadores
* Suporta até 512 nós distribuídos em uma topologia
bidimencional
Cada nó possui:
* Processador SPARCLE;
* 4 Mbytes de memória principal – fazem parte parte da
memória compartilhada distribuida;
* 64 Kbytes de cache;
* 4 Mbytes de memória local - contém protocolos de coerência
de cache;
* Unidade de ponto flutuante;
* Unidade de Gerenciamento de Memória e Comunicação
(CMMU);
* Rede de interconexão.
MIT ALEWIFE
MIT ALEWIFE
Características:
* Memória fisicamente distribuída;
* Memória logicamente compartilhada;
* Suporte de hardware a coerência de cache;
* Suporte de hardware ao envio de mensagem a nivel usuário
* Multithreading;
* Arquitetura de memória do tipo CC-NUMA – cada nó possui
uma cache local para reduzir o tráfego na rede.
MIT ALEWIFE
Alta performance em aplicações paralelas
sem sacrificar a escalabilidade física ou a
programabilidade;
É necessário o controle de tempo de acesso
de memória requerido pelos nós;
Estratégia de gerenciamento que combina 4
classes de mecanismo;
Maximizar o conjunto da comunicação local
consolidando seus blocos de dados;
Minimizar os efeitos da comunicação não-
local quando for inevitável.
Coerência de Cachê em
Memória Compartilhada
Alewife possui o sistema físico da
memória estático e distribuído por todos
os nós na máquina;
Em cada nó, existe uma Unidade de
Gerenciamento de Memória e
Comunicação (CMMU)
* Solicitam campos de memória do processador
Sparcle;
* Determinam se o acesso à requisição será em
memória local ou remota;
* Sintetiza as mensagens que chegam de nós remotos,
Quando necessário;
Coerência de Cachê em
Memória Compartilhada
O hardware de memória ajuda na
gerencia local ocultando os dados
privados e distribuídos em cada nó;
Uma extensão de software escalar
chamado de LimitLess mantêm a
coerência dos dados em cache;
* Cuida dos blocos de memória em comum acessadas
na CMMU, porém confiando em traps de softwares para
reforçar a coerência dos blocos de memórias que são
compartilhados por uma grande quantidade de
processador
Protocolos de Coerência
de Cache
Alocados em uma parte do sistema de
memória - Diretórios;
* Posição e o estado das caches;
Em uma Alteração Local da cache:
* Sistema de memória envia uma mensagem de
invalidação para as caches que possuem uma cópia dos
dados;
* Protocolo grava as novas informações das
mensagens;
Protocolos de Coerência
de Cache
Protocolos full-map
* Os recursos do diretório são centralizado e monolitico que
serealizam as solicitações;
* Consome uma grande fração disproporcional da largura de banda;
* Memória para o diretório proporcional ao Tamanho total da memória
X nº de processador para armazenar ponteiros de todos os blocos em
cache simultaneamente;
Protocolos de coerência escalar:
* Tamanho do diretório limitado;
* Permite somente um número limitado de cópias simultaneamente
em cache de todo o bloco individual dos dados;
* Ponteiros em uma entrada de diretório são enchidos uma vez;
* Evitam cópias previamente em cache para satisfer a novos pedidos
de leituras de dados associados com a entrada.
Protocolo LimitLESS
Executa um número pequeno de ponteiros de
hardwares para cada entrada de diretório
* Se não forem suficientes para armazenar as posições de todas as
cópias em cache de um determinado bloco da memória,
* O módulo da memória interrompe o processador local;
* O processador emula um diretório de full-map para o bloco da
memória que causou a interrupção;
CMMU é responsável por esse tratamento;
A emulação no software impede o protocolo de exibir
uma otimização do software que é exibido no
protocolo de coerência escalar ;
O delay para emular o full-map completamente no
software é significativa;
o Protocolo LimitLESS suporta pequeno ajustes nas
de diretório implementado em hardware
Nó Alewife – Extensão do
diretorio LimitLESS
Array dos
ponteiros do
diretório
bloco de dados
compartilhado X
Ponteiros do diretório
A performance das camadas de
softwares que ajudam na gerência de
localização depende de um mecanismo
eficiente de comunicação;
As características do Sparcle e da CMMU
combinadas fornecem uma interface
eficiente de transmissão e recepção de
mensagens:
* Códigos de usuário e de sistemas podem descrever
rapidamente e automaticamente carregar um pacote de
diretórios na rede de conexão;
* Mecanismos de interrupção recebem rapidamente as
mensagens;
* Mecanismo de Acesso a Memória Direta (DMA) permite
que os dados passem pela rede e pela memória.
Troca de Mensagem
Integrada
O Alewife suporta uma interface integra
entre as várias camadas de softwares
integrando memória compartilhada e
mecanismo de troca de mensagem:
 o sistema fornece uma garantia progressiva de acesso
a memória distribuída na frente das interrupções de
recepção de mensagem;
 O DMA mantém a coerência entre os dados nas
mensagens e os dados das caches locais.
Troca de Mensagem
Integrada
Computação fina e
granular
Granularidade Computacional é o
tempo entre eventos que requer
comunicação entre processador;
Diminui de acordo com que o número
de processadores aumenta em um
sistema;
O suporte a computação fina e granular
do Alewife inclui rápidas mensagens de
nível usuário e suporte ao bit de
sincronização, dando um tamanho fixo
de dados.
Requer um suporte de hardware do
Alewife e de componentes de softwares;
Prefetching (pré-busca de instrução)
permite antecipar a comunicação dos
códigos por requisição de dados ou
blocos antes que sejam necessários;
* Exige threads destrancadas;
* Suporte ao compilador e memória especial de
operação.
Tolerância a Latência
Bloqueios de multithreads permite ao
processador a troca entre threads da
execução na cache atento à falhas na
sincronização;
* Exige threads destrancadas;
* Exige rápida troca de contexto e soluções aos
problemas de vulnerabilidade criada pelas threads
intercaladas na execução.
Tolerância a Latência
ALEWIFE CMMU
Conectada diretamente ao barramento
do primeiro nível de cache e funciona
tanto como um controlador de cache
quanto como uma unidade de
gerenciamento de memória;
Contém caracteres para cache, renova
a DRAM e ECC além de cuidar da troca e
preenchimento das caches;
A CMMU também fornece o
empilhamento assíncrono dos chips de
rede EMRC e inúmeras facilidades
estatísticas de hardware.
ALEWIFE CMMU
Processador
de Junção
Lógica
Gerenciador de
Cache e Controle
de Invalidação
Coerência de
Memória e
Controle da
DRAM
Registradores e
Estatística
Buffer de Troca
Interface de Rede
e Controle da
DMA
Rede de Espera e
Controle
ALEWIFE CMMU
Processador de Junção Lógica
* Responsável por interpretar as operações de memória
e os requerimentos das instruções dos co-
processadores;
Gerenciador de Cache e Controle de
Invalidação
Coerência de Memória e Controle da
DRAM
* inclui o processador e parte da memória dos
protocolos de coerência de cache;
* Fazem a solicitação de serviços através da Rede e
Controle da DMA.
Interface de Rede e Controle da DMA
* Determina a troca de mensagem a nível usuário com
coerência de DMA localmente.
ALEWIFE CMMU
Buffer de Troca
* Buffer de dados de 16 entradas, com execelentes
conexões de trocas de coerência de cache;
* possui pré-busca de dados, e dados em estado de
transição entre cache, rede e memóiria;
* Ele é integrado com os mecanismos de remoção de
livelock (todos as threads abrem mão do recurso) e os
de bloqueio de multithread.
Registradores e Estatística
* Contém um contador de ciclos dedicado(timer), e
inúmeros instrumentos estatisticos.
Rede de Espera e Controle
* Contém interfaces assíncrona com a rede de EMRC
(routers).

Micro Arquitetura e Gerenciamento de Memória CMMU MIT Alewife.ppt

  • 1.
    MIT ALEWIFE Rafael Vianade Universidade Federal do Rio de Janeiro Pós-Graduação em Informática DCC/IM - NCE/UFRJ  Características  Estratégia de Gerenciamento de Memória  CMMU
  • 2.
    MIT ALEWIFE Arquitetura demultiprocessadores * Suporta até 512 nós distribuídos em uma topologia bidimencional Cada nó possui: * Processador SPARCLE; * 4 Mbytes de memória principal – fazem parte parte da memória compartilhada distribuida; * 64 Kbytes de cache; * 4 Mbytes de memória local - contém protocolos de coerência de cache; * Unidade de ponto flutuante; * Unidade de Gerenciamento de Memória e Comunicação (CMMU); * Rede de interconexão.
  • 3.
  • 4.
    MIT ALEWIFE Características: * Memóriafisicamente distribuída; * Memória logicamente compartilhada; * Suporte de hardware a coerência de cache; * Suporte de hardware ao envio de mensagem a nivel usuário * Multithreading; * Arquitetura de memória do tipo CC-NUMA – cada nó possui uma cache local para reduzir o tráfego na rede.
  • 5.
    MIT ALEWIFE Alta performanceem aplicações paralelas sem sacrificar a escalabilidade física ou a programabilidade; É necessário o controle de tempo de acesso de memória requerido pelos nós; Estratégia de gerenciamento que combina 4 classes de mecanismo; Maximizar o conjunto da comunicação local consolidando seus blocos de dados; Minimizar os efeitos da comunicação não- local quando for inevitável.
  • 6.
    Coerência de Cachêem Memória Compartilhada Alewife possui o sistema físico da memória estático e distribuído por todos os nós na máquina; Em cada nó, existe uma Unidade de Gerenciamento de Memória e Comunicação (CMMU) * Solicitam campos de memória do processador Sparcle; * Determinam se o acesso à requisição será em memória local ou remota; * Sintetiza as mensagens que chegam de nós remotos, Quando necessário;
  • 7.
    Coerência de Cachêem Memória Compartilhada O hardware de memória ajuda na gerencia local ocultando os dados privados e distribuídos em cada nó; Uma extensão de software escalar chamado de LimitLess mantêm a coerência dos dados em cache; * Cuida dos blocos de memória em comum acessadas na CMMU, porém confiando em traps de softwares para reforçar a coerência dos blocos de memórias que são compartilhados por uma grande quantidade de processador
  • 8.
    Protocolos de Coerência deCache Alocados em uma parte do sistema de memória - Diretórios; * Posição e o estado das caches; Em uma Alteração Local da cache: * Sistema de memória envia uma mensagem de invalidação para as caches que possuem uma cópia dos dados; * Protocolo grava as novas informações das mensagens;
  • 9.
    Protocolos de Coerência deCache Protocolos full-map * Os recursos do diretório são centralizado e monolitico que serealizam as solicitações; * Consome uma grande fração disproporcional da largura de banda; * Memória para o diretório proporcional ao Tamanho total da memória X nº de processador para armazenar ponteiros de todos os blocos em cache simultaneamente; Protocolos de coerência escalar: * Tamanho do diretório limitado; * Permite somente um número limitado de cópias simultaneamente em cache de todo o bloco individual dos dados; * Ponteiros em uma entrada de diretório são enchidos uma vez; * Evitam cópias previamente em cache para satisfer a novos pedidos de leituras de dados associados com a entrada.
  • 10.
    Protocolo LimitLESS Executa umnúmero pequeno de ponteiros de hardwares para cada entrada de diretório * Se não forem suficientes para armazenar as posições de todas as cópias em cache de um determinado bloco da memória, * O módulo da memória interrompe o processador local; * O processador emula um diretório de full-map para o bloco da memória que causou a interrupção; CMMU é responsável por esse tratamento; A emulação no software impede o protocolo de exibir uma otimização do software que é exibido no protocolo de coerência escalar ; O delay para emular o full-map completamente no software é significativa; o Protocolo LimitLESS suporta pequeno ajustes nas de diretório implementado em hardware
  • 11.
    Nó Alewife –Extensão do diretorio LimitLESS Array dos ponteiros do diretório bloco de dados compartilhado X Ponteiros do diretório
  • 12.
    A performance dascamadas de softwares que ajudam na gerência de localização depende de um mecanismo eficiente de comunicação; As características do Sparcle e da CMMU combinadas fornecem uma interface eficiente de transmissão e recepção de mensagens: * Códigos de usuário e de sistemas podem descrever rapidamente e automaticamente carregar um pacote de diretórios na rede de conexão; * Mecanismos de interrupção recebem rapidamente as mensagens; * Mecanismo de Acesso a Memória Direta (DMA) permite que os dados passem pela rede e pela memória. Troca de Mensagem Integrada
  • 13.
    O Alewife suportauma interface integra entre as várias camadas de softwares integrando memória compartilhada e mecanismo de troca de mensagem:  o sistema fornece uma garantia progressiva de acesso a memória distribuída na frente das interrupções de recepção de mensagem;  O DMA mantém a coerência entre os dados nas mensagens e os dados das caches locais. Troca de Mensagem Integrada
  • 14.
    Computação fina e granular GranularidadeComputacional é o tempo entre eventos que requer comunicação entre processador; Diminui de acordo com que o número de processadores aumenta em um sistema; O suporte a computação fina e granular do Alewife inclui rápidas mensagens de nível usuário e suporte ao bit de sincronização, dando um tamanho fixo de dados.
  • 15.
    Requer um suportede hardware do Alewife e de componentes de softwares; Prefetching (pré-busca de instrução) permite antecipar a comunicação dos códigos por requisição de dados ou blocos antes que sejam necessários; * Exige threads destrancadas; * Suporte ao compilador e memória especial de operação. Tolerância a Latência
  • 16.
    Bloqueios de multithreadspermite ao processador a troca entre threads da execução na cache atento à falhas na sincronização; * Exige threads destrancadas; * Exige rápida troca de contexto e soluções aos problemas de vulnerabilidade criada pelas threads intercaladas na execução. Tolerância a Latência
  • 17.
    ALEWIFE CMMU Conectada diretamenteao barramento do primeiro nível de cache e funciona tanto como um controlador de cache quanto como uma unidade de gerenciamento de memória; Contém caracteres para cache, renova a DRAM e ECC além de cuidar da troca e preenchimento das caches; A CMMU também fornece o empilhamento assíncrono dos chips de rede EMRC e inúmeras facilidades estatísticas de hardware.
  • 18.
    ALEWIFE CMMU Processador de Junção Lógica Gerenciadorde Cache e Controle de Invalidação Coerência de Memória e Controle da DRAM Registradores e Estatística Buffer de Troca Interface de Rede e Controle da DMA Rede de Espera e Controle
  • 19.
    ALEWIFE CMMU Processador deJunção Lógica * Responsável por interpretar as operações de memória e os requerimentos das instruções dos co- processadores; Gerenciador de Cache e Controle de Invalidação Coerência de Memória e Controle da DRAM * inclui o processador e parte da memória dos protocolos de coerência de cache; * Fazem a solicitação de serviços através da Rede e Controle da DMA. Interface de Rede e Controle da DMA * Determina a troca de mensagem a nível usuário com coerência de DMA localmente.
  • 20.
    ALEWIFE CMMU Buffer deTroca * Buffer de dados de 16 entradas, com execelentes conexões de trocas de coerência de cache; * possui pré-busca de dados, e dados em estado de transição entre cache, rede e memóiria; * Ele é integrado com os mecanismos de remoção de livelock (todos as threads abrem mão do recurso) e os de bloqueio de multithread. Registradores e Estatística * Contém um contador de ciclos dedicado(timer), e inúmeros instrumentos estatisticos. Rede de Espera e Controle * Contém interfaces assíncrona com a rede de EMRC (routers).