O documento discute os desafios do projeto de computadores paralelos e heterogêneos para atender às demandas crescentes da sociedade por mais poder de processamento. Aborda questões como dissipação de calor, tamanho dos transistores e necessidade de replicar CPUs para aumentar o desempenho de forma eficiente. Também apresenta exemplos de sistemas embarcados que podem se beneficiar de processadores heterogêneos dedicados a diferentes tarefas.
2. • Computadores cada vez mais rápidos
• Demandas crescentes
• Os Cientistas, os Engenheiros e a Indústria querem usar
os computadores para projetar e testar todas as suas
teorias e protótipos.
• Exemplo: projetar medicamentos para doenças
específicas sem ter de sacrificar animais
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 2
3. • A velocidade dos atuais circuitos não podem aumentar
indefinidamente
• A velocidade do clock tem aumentado gradativamente
• Dissipação de calor é um grande problema
• Tamanho dos transistores continua a diminuir: cada
TRANSISTOR terá um número tão pequeno de
ÁTOMOS dentro dele que os efeitos da mecânica
quântica podem se tornar um grande problema
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 3
4. • Computadores paralelos são uma solução temporária
para as necessidades atuais da sociedade
• Uma máquina + uma CPU + tempo de 0,001ns
impossível
• Várias máquinas + 1000 CPUs + tempo de 1ns cada
possível
• O paralelismo existe em vários níveis
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 4
5. • Nível mais baixo: CPU, pipeline, CPUs superescalares,
palavras de instruções muito longas, múltiplos threads de
controle ao mesmo tempo, CPUs reunidas em um
mesmo CHIP, etc. Desempenho 10x maior
• Nível seguinte: placas extras de CPU com funções
especificas. Desempenho de 5 a 10x maior.
• Independente do fato de desempenho aumentar, CPUs
devem ser replicadas INTEIRAS e devem funcionar
juntas com eficiência
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 5
6. • Clusterização, multicomputadores, multiprocessadores,
grids, nuvem
• PROCESSAMENTO FORTEMENTE ACOPLADO:
quando duas CPUs ou dois elementos de
processamento estão perto um do outro, têm alta largura
de banda, o atraso é baixo e são próximos
computacionalmente
• PROCESSAMENTO FRACAMENTE ACOPLADO:
quando estão longe um do outro, têm baixa largura de
banda, alto atraso, são remotos computacionalmente
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 6
8. • Objetivo: Fazer mais coisas ao mesmo tempo
• Emissão de múltiplas instruções por ciclo de clock
• Dois tipos:
• Processadores superescalares
• Processadores VLIW
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 8
9. • CPUs Superescalares são capazes de emitir múltiplas
instruções para as unidades de execução em um único
ciclo de clock
• De duas a seis instruções podem ser emitidas de uma
única vez
• O número máximo é determinado pelo hardware
• Se uma instrução precisar de uma unidade funcional
ou resultado que não está disponível, ela não será
emitida
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 9
10. • Very Long Instruction Word – palavra de instrução
muito longa
• Instruções que usavam múltiplas unidades funcionais
• Exemplificando:
• Considere uma máquina que tenha 5 unidades
funcionais, efetua simultaneamente 2 operações com
inteiros, 1 operação em ponto flutuante, 1
carregamento e 1 armazenamento.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 10
11. • Uma instrução VLIW para essa máquina conteria 5
opcodes e 5 pares de operandos, sendo 1 opcode e 1
par de operandos por unidade funcional
• Supondo 6 bits por OPCODE, 5 bits por
REGISTRADOR, 32 bits por endereço de memória, as
instruções teriam 134 bits.
• Isso significa uma palavra longa: tamanho de bits de
uma instrução muito grande
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 11
13. • DESVANTAGEM: nem toda instrução podia utilizar
todas as unidades funcionais, o que resultava em
muitas NO-OP
• Transfere do tempo de execução para o tempo de
compilação o trabalho de determinar quais instruções
podem ser emitidas em conjunto
• Simplifica o hardware e o torna mais rápido
• Paralelismo no nível da memória: há múltiplas
operações de memória no ar ao mesmo tempo
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 13
14. • Problema INERENTE no PIPELINE das CPUs modernas:
• Quando uma referência à memória encontra uma ausência das
caches de nível 1 e nível 2, há uma longa espera até que a
palavra requisitada, e sua linha de cache associada, sejam
carregadas na cache, portanto, o pipeline para.
• MULTITHREADING NO CHIP:
• Solução para o problema descrito acima
• Permite que a CPU gerencie múltiplos threads de controle ao
mesmo tempo
• Se o thread 1 estiver bloqueado, a CPU ainda tem chance de
executar o thread 2, de modo a manter a CPU sempre
ocupada
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 14
15. • Multithreading de granulação fina:
• Mascara as protelações executando os threads segundo
uma política de alternância circular, com um thread
diferente em ciclos consecutivos
• Se uma protelação de memória demorasse quatro ciclos,
precisaríamos de quatro threads para garantir a
operação contínua e assim por diante
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 15
16. • Cada thread precisa do seu próprio conjunto de registradores
• O número máximo de threads que podem ser executados de
uma só vez é fixado no projeto do chip
• RAZÃO PARA PROTELAÇÃO
• Operações de memória.
• Uma instrução pode precisar de um resultado calculado por
outra instrução que ainda não foi concluída.
• Uma instrução não pode iniciar porque ela vem após um
desvio condicional cuja direção ainda não é conhecida
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 16
17. • Se o pipeline tiver K estágio, mas houver no mínimo K threads
para fazer alternância circular, NUNCA haverá mais de uma
instrução por THREAD no pipeline a qualquer momento,
portanto, Não pode ocorrer nenhum conflito.
• Dessa forma a CPU executa em velocidade total e não fica
OCIOSA
• MULTITHREADING DE GRANULAÇÃO GROSSA:
• Nem sempre há tantos threads disponíveis quantos são os
estágios do pipeline
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 17
18. • Se perde um ciclo sempre que uma instrução protela
• Troca threads quando há protelação ou
• Trocar threads de imediato em qualquer instrução que poderia
acarretar uma protelação, antes mesmo de descobrir se ela
de fato causaria isso.
• É potencialmente menos eficiente do que o de granulação fina
• Vantagem: precisa de um número menor de threads para
manter a CPU ocupada
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 18
19. • Monitorar qual operação pertence a qual thread
• MULTITHREADING DE GRANULAÇÃO FINA: anexar um
identificador de thread a cada operação, para que sua
identidade fique clara ao percorrer o pipeline
• MULTITHREADING DE GRANULAÇÃO GROSSA: ao trocar
de threads, limpar o pipeline e só então iniciar o próximo
thread
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 19
20. • Considere, a partir de agora, que a CPU pode emitir múltiplas
instruções por ciclo de clock
• Manter a regra: quando uma instrução protela, as
subsequentes não podem ser emitidas
• MULTITHREADING DE GRANULAÇÃO FINA PARA UMA
CPU SUPERESCALAR DUAL:
• Emite duas instruções por ciclo de clock
• Para o Thread A, as duas primeiras instruções podem ser
emitidas no 1.º ciclo
• Para o Thread B, há um problema no próximo ciclo, então
somente uma instrução será emitida
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 20
21. • MULTITHREADING DE GRANULAÇÃO GROSSA PARA UMA
CPU SUPERESCALAR DUAL:
• Os threads são executados um por vez
• A CPU emite duas instruções por thread até atingir um que
protela
• Nesse ponto, troca para o próximo thread no início do ciclo
seguinte
• MULTITHREADING SIMULTANEO:
• Refinamento do multithreading de granulação grossa
• Um único thread tem permissão de emitir duas instruções por
ciclo pelo tempo que puder
• Quando protelar, as instruções são tomadas imediatamente
do próximo thread na sequencia23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 21
22. • MULTITHREADING SIMULTANEO:
• Mantém a CPU ocupada por completo
• Ajuda a manter ocupadas todas as unidades funcionais
• Uma instrução de um thread diferente pode ser escolhida para
ser executada, caso uma instrução de outra thread não possa
ser iniciada porque a unidade funcional de que ela precisa
está ocupada
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 22
23. • Duas ou mais CPUs em um único CHIP
• Compartilham a mesma cache L2
• Compartilham memória principal
• Área de aplicação típica:
• Servidores web:
• Compartilham memória principal, memória cache,
memória permanente, interfaces de rede, etc.
• Isto dobra o desempenho sem dobrar o custo
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 23
24. • 1.ª forma de implementação:
• Uma CPU um único chip, mas com dois pipelines
• Dobra a taxa de execução de instruções
• Recursos (unidades funcionais) podem ser
compartilhados entre os processadores. Isso permite
que uma CPU use recursos que outra não esteja
usando, entretanto, não funciona bem para mais de
2 CPUs.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 24
25. • 2.ª forma de implementação:
• Núcleos separados no mesmo CHIP
• Cada núcleo contém uma CPU completa
• NÚCLEO: é um grande circuito, controlado por E/S ou
CACHE, que pode ser colocado em um CHIP de forma
modular.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 25
27. • Área de aplicação: sistemas embutidos (televisores,
DVDs, filmadoras, consoles, smartphones, etc.)
• Exemplo: composição de um APARELHO DE
TELEVISÃO
• Controle de servomecanismo (cabeçote)
• Correção de erros
• Decriptação e gerenciamento de direitos digitais
• Descompressão de vídeo
• Descompressão de áudio
• Codificação de saída (NTSC, PALM, SECAM)
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 27
28. • O trabalho realizado pelo aparelho de televisão exige
os seguintes cuidados:
• Restrições de tempo real
• Qualidade de serviço
• Energia
• Dissipação de calor
• Tamanho
• Peso
• Preço
• Etc.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 28
29. • Multiprocessador heterogêneo:
• Contem múltiplos núcleos
• Cada núcleo especializado em uma tarefa particular
• As funções dos núcleos são todas diferentes
• Cada uma é projetada com cuidado para ser muito
boa no que faz pelo preço mais baixo possível
• Processadores dedicados em hardware: chips
multiprocessadores heterogêneos que contem
múltiplos núcleos projetos para aplicações
audiovisuais
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 29
30. • O processador de controle de um multiprocessador
heterogêneo é uma CPU programável de uso geral
• À medida que os dispositivos (sistemas embutidos)
adquirem cada vez mais funcionalidades e recursos, a
necessidade de multiprocessadores heterogêneos só
aumenta
• Chips como esses são grandes demais
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 30
31. • A maneira mais viável de projetar um multiprocessador
como este é:
• Usar núcleos que contenham subconjuntos grandes
• Colocar os núcleos e interconectá-los no chip
conforme necessidades
• Determinar no projeto:
• Qual núcleo de CPU usar para processador de
controle
• Quais Processadores de uso especial acrescentar
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 31
32. • Atribuir mais carga ao software que executa no
processador de controle faz o sistema ficar mais lento,
entretanto, o chip fica menor e mais barato
• Ter mais processadores de uso especial para áudio e
vídeo ocupa uma área maior do chip, o que aumenta o
custo, mas melhora o desempenho, diminui taxa de
clock, consume menos energia e dissipa menos calor.
• 50% a 75% da área do chip é dedicado à memória,
devido às grandes quantidades de dados que
precisam ser processados
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 32
33. • Questões relevantes de projeto que tem implicações
par ao desempenho, consumo de energia e dissipação
de calor do chip:
• Quantos níveis de cache devem se usados?
• As caches devem ser unificadas ou divididas?
• Qual deverá ser o tamanho de cada uma?
• Qual deverá ser a rapidez?
• Um pouco da memória também deve ir par ao chip?
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 33
34. • Como todos os núcleos se comunicam uns com os
outros?
• Sistemas pequenos: um único barramento
• Sistemas maiores:
• Múltiplos barramentos
• Anel que vai de um núcleo ao outro
• Etc.
• Exemplo de barramento usado em sistemas
embutidos:
CoreConnect, AMBA, VCI, OCP-IP, etc.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 34
35. • O computador ganha velocidade com a adição de um
segundo processador especializado: o coprocessador.
Exemplos:
• Coprocessadores de E/S
• Coprocessadores gráficos
• Coprocessadores de ponto flutuante
• DMA (acesso direto a memória)
• A CPU dá ao coprocessador uma ou mais instruções e
ordena que ele as execute. Em alguns casos, o
coprocessador é independente e funciona por si só
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 35
36. • Coprocessadores podem ser:
• Gabinete separado (canais de E/S, por exemplo)
• Placa de expansão (processadores de rede, por
exemplo)
• Área no chip principal
• O coprocessador ajuda o processador principal
• Três áreas: processamento de rede, multimídia e
criptografia
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 36
37. • Coprocessadores podem ser:
• Gabinete separado (canais de E/S, por exemplo)
• Placa de expansão (processadores de rede, por
exemplo)
• Área no chip principal
• O coprocessador ajuda o processador principal
• Três áreas: processamento de rede, multimídia e
criptografia
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 37
38. • Dificuldade em processar os dados que trafegam pela rede
em software
• Computadores de alta tecnologia contém um processador
de rede
• Curiosidade:
• Velocidade das LANs atuais: 40 gigabits/segundo com
pacotes de 1 KB
• Computador em rede: processa 5 milhões de
pacotes/segundo
• Qual a solução para o processamento dessa enorme
quantidade de pacotes?23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 38
39. • Primeira opção:
• ASIC:
• Application specific integrated circuit
• Circuito integrado específico da aplicação
• Hardware para processamento rápido de pacotes
• Executa qualquer conjunto de funções de
processamento para o qual foi projetado
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 39
40. • ASIC:
• Desvantagens:
• Projeto demorado
• Fabricação demorada
• É preciso projetar e fabricar um novo chip se
houver uma nova funcionalidade
• Gerenciamento de bugs é péssimo
• São caros
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 40
41. • Segunda opção:
• FPGA
• Field programmable gate array
• Arranjo de portas programável em campo
• Um conjunto de portas que pode ser organizado
conforme o circuito desejado modificando sua
fiação em campo
• Projeto e fabricação rápidos
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 41
43. • Terceira opção:
• Processadores de rede
• Dispositivos programáveis que podem manipular pacotes que
chegam e que saem à velocidade dos fios (em tempo real)
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 43
44. • Terceira opção:
• Processadores de rede
• Milhões de pacotes por segundo por linha de rede
podem ser processados
• Um roteador pode ter várias linhas de rede
• Processadores de redes devem ter alto grau de
paralelismo
• PPEs:
• protocol-programmable-packet processor
engines
• Dispositivos de processamento de protocolo-
programáveis-pacotes
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 44
45. • Terceira opção:
• PPEs:
• Um processador de rede tem vários PPEs
• É um núcleo RISC com memória interna para o
programa e algumas variáveis
• Todos os processadores de rede contém também um
processador de controle (processador RISC padronizada
de uso geral)
• Todos os componentes do processador de rede se
comunicam por um ou mais barramentos paralelos no chip
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 45
46. • Tratamento de processamento gráfico de alta resolução.
Exemplo: renderização 3D.
• GPUs:
• Graphics processing units
• Unidades de processamento gráfico
• CUDA:
• Compute unified Device Architecture
• Arquitetura de elemento unificado de computação
• Cálculos com inteiros e ponto flutuante com precisão
simples
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 46
47. • SMs
• Streaming multiprocessor
• Multiprocessadores streaming
• Cada SMs tem uma quantidade de CUDA
• GPGPUs
• General purpose graphics processing units
• Unidades de processamento gráfico de uso geral
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 47
48. • Área de segurança e segurança de redes
• Criptografia faz uso intensivo de computação
• Dois tipos de criptografia:
• Chave simétrica: baseada em mistura completa de
bits (bater tudo em um liquidificador)
• Chave pública: baseada em multiplicação e
exponenciação de grandes números. Consome
enorme quantidade de tempo.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 48
49. • Coprocessadores criptográficos
• Placas de expansão para barramento PCI
• Tem um hardware especial que habilita a execução da
criptografia necessária muito mais rápido do que uma
CPU comum.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 49
50. • É um computador paralelo no qual todas as CPUs
compartilham uma memória comum
• Todos os processos que funcinam juntos em um
multiprocessador podem compartilhar um único espaço
de endereço virtual mapeado para a memória comum
• Qualquer processo pode ler ou escrever uma palavra da
memória apenas executando uma instrução LOAD ou
STORE
• Vantagem: capacidade de dois ou mais processos se
comunicarem apenas lendo e escrevendo na memória
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 50
51. • Duas formas de acesso à E/S
• 1.ª: Somente certas CPUs tem acesso ao
dispositivos e tem uma função especial de E/S
• 2.ª: Cada CPU tem igual acesso a todo dispositivo
de E/S.
• SMP – symmetric multiprocessor –
multiprocessador simétrico: quando cada CPU tem
igual acesso a todos os módulos de memória e a todos
os dispositivos de E/S e é tratada pelo sistema
operacional como intercambiável com as outras.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 51
53. • Uma das distinções entre multiprocessadores e
multicomputadores é o sistema operacional.
• Em multiprocessadores há apenas uma única cópia do
S.O.
• Em multicomputadores, cada computador tem sua
própria cópia do S.O.
• Multicomputador: Toda CPU tem sua memória privada,
acessível somente a ela mesma e a nenhuma outra
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 53
54. • Também pode ser chamado de memória distribuída
• A CPU de um multicomputador tem sua própria memória
local privada, a qual pode acessar apenas executando
instruções LOAD e STORE.
• Nenhuma outra CPU pode acessar instruções LOAD e
STORE
• Multicomputadores tem um espaço de endereço físico para
cada CPU
• Multiprocessadores tem um único espaço de endereço
físico compartilhado por todas as CPUs
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 54
56. • Multicomputadores não podem se comunicar lendo e
escrevendo na memória comum
• Solução: as CPUS passam mensagens uma para
outro usando a rede de interconexão
• Exemplos: IBM BlueGene/L, Red Storm e Cluster
Google
• A comunicação entre processos costuma usar primitiva
de software como SEND e RECEIVE
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 56
57. • Em um multicomputador as CPUs precisam descobrir
qual CPU tem os dados de que precisa e enviar a essa
CPU uma mensagem requisitando uma cópia dos
dados
• Assim, a CPU bloqueia até que a requisição seja
atendida.
• Programar multicomputadores é mais difícil do que
programar um multiprocessador (baixo nível)
• Entretanto, é mais barato e simples construir
GRANDES multicomputadores do que
multiprocessadores
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 57
58. • Atualmente são utilizados sistemas híbridos
• Chave do sucesso: construir projetos que continuem a
funcionar bem à medida que mais e mais CPUs sejam
adicionadas
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 58
61. • Categorização em fluxos de instruções e fluxos de dados
• Fluxo de instruções: corresponde a um contador de
programa. Um sistema com N CPUs tem N contadores
de programa, portanto, n fluxos de instruções
• Fluxo de dados: conjunto de operandos.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 61
62. • SISD: Single instruction stream, single data stream.
Fluxo de instrução único, fluxo de dados único. Um fluxo
de instruções, um fluxo de dados e faz uma coisa por
vez
• SIMD: Single Instruction Multiple Data. Uma única
instrução manipula vários dados. Tem uma única UC
que emite uma instrução por vez, mas tem múltiplas
ULAs para executar as instruções em vários conjuntos
de dados simultameamente
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 62
63. • MISD: Multiple Instruction Single Data. Multiplas
instruções com dados únicos. Múltiplas instruções
operando no mesmo conjunto de dado
• MIMD: Multiple Instructions Multiple Data. Multiplas
instruções manipulando múltiplos dados diferentes.
Múltiplas CPUs independentes operando como parte de
um sistema maior. Multiprocessadores e
multicomputadores são máquinas MIMD
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 63
64. • UMA:
• uniform memory aaccess
• acesso uniforme à memória
• CARACTERISTICA: A memória é subdividida em
vários módulos. Cada CPU tem o mesmo tempo de
acesso a todos a todos os módulos de memória.
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 64
65. • COMA: cache only memory access – acesso somente à
memória cache
• NUMA: nonuniform memory access – acesso não
uniforme à memória
• CARACTERISTICA DE AMBAS: é mais rápido acessar
os módulos de memória que esTão próximos a cada
CPU do que os mais distantes
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 65
66. • MPPs:
• massively parallel processors
• Processadores de paralelismo maçico
• São supercomputadores caros que consistem em
muitas CPUs fortemente acopladas por uma rede de
interconexão proprietária de alta velocidade
• Exemplo: IBM SP/3
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 66
67. • COWs
• Cluster of workstations
• Grupo de estações de trabalho
• Consistem em PCs ou estações de trabalhos
comuns, montados em estantes e conectados por
tecnologia de interconexão comercial
23/05/2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 67