1. O documento descreve a arquitetura do processador Cell e como ele é utilizado na PlayStation 3 para computação de alto desempenho.
2. É apresentada a construção de um cluster utilizando diversas PlayStation 3 conectadas através de uma rede, visando estudar a capacidade da console para computação científica.
3. O resumo analisa a arquitetura do processador Cell, como ele é aplicado na PlayStation 3, e como um estudo de caso implantou um cluster utilizando múltiplas PlayStation 3.
1. CENTRO UNIVERSITÁRIO DA FEI
GUSTAVO MARTELLA ACHKAR
ORLANDO DA SILVA JUNIOR
COMPUTAÇÃO DE ALTO DESEMPENHO COM PLAYSTATION 3
São Bernardo do Campo
2010
2. GUSTAVO MARTELLA ACHKAR
ORLANDO DA SILVA JUNIOR
COMPUTAÇÃO DE ALTO DESEMPENHO COM PLAYSTATION 3
Trabalho apresentado ao Centro Universitário da
FEI como parte para a aprovação no curso de
Arquitetura de Computadores, ministrado pelo
Prof. Dr. Francisco Enéas da Cunha Lemos.
São Bernardo do Campo
2010
3. RESUMO
Este trabalho aborda, em princípio, a arquitetura do processador IBM Cell, cuja utilização tem
se encontrado mais presente na console de videogames Playstation 3. A organização e a
arquitetura do processador definida pela parceira da IBM com a Sony e a Toshiba, alcunhada
STI, são descritas neste trabalho de modo a compreender suas reais finalidades e
funcionalidades na console Playstation 3. Toda esta compreensão inicial tem por fim analisar
um estudo de caso de um cluster implantado a partir de diversas consoles. Essa implantação
visou estudar a capacidade da console como possível ferramenta para ser utilizada na
computação científica.
Palavras-chave: cell – arquitetura cellbe - clusters – playstation 3 – alto desempenho
4. SUMÁRIO
1 INTRODUÇÃO ..................................................................................................................... 5
2 CLUSTERS ............................................................................................................................ 6
3 O PROCESSADOR CELL ................................................................................................... 8
3.1 O núcleo central PPE ............................................................................................................ 8
3.2 Unidades SPEs...................................................................................................................... 9
3.3 A via de comunicação........................................................................................................... 9
4 A CONSOLE PLAYSTATION 3 ....................................................................................... 11
4.1 Características da arquitetura CellBE aplicada à console .................................................. 11
5 CONSTRUÇÃO DO CLUSTER COM AS PLAYSTATIONS 3 .................................... 13
5.1 Breve comparação entre um cluster de PS3s e o IBM Bladecenter ................................... 13
5.2 Implantação de um cluster de PS3s baseado em um estudo de caso .................................. 14
REFERÊNCIAS ..................................................................................................................... 15
5. 5
1 INTRODUÇÃO
Nos últimos anos, a utilização de clusters de computadores tem se tornado mais
frequente não apenas entre as empresas de tecnologia de informação, mas também em grandes
centros de pesquisa, que utilizam o alto processamento fornecido por esses clusters para
realizarem experimentos que atingem todas as áreas da ciência.
A alta tecnologia utilizada na construção de consoles de videogames tem permitido
que cientistas aprimorem e estudem com maior delicadeza seus experimentos. Os
componentes utilizados na construção de um Playstation 3, por exemplo, têm grau
tecnológico tão elevado que é possível compará-lo aos periféricos utilizados na construção de
um supercomputador. No caso, esse videogame tem sido objeto de estudo em muitos centros
de pesquisa por fornecer resultados experimentais bastante eficientes a baixo custo de
implantação. Para determinados tipos de experimentos, é comprovada a eficácia de um
conjunto de videogames desta natureza para a construção de um cluster, que proverá fontes e
resultados para as ciências.
Este trabalho tem como finalidade apresentar a console de videogames Playstation 3
(PS3) como ferramenta para a computação científica e demonstrar, teoricamente, a construção
de um cluster através de diversas consoles de PS3.
6. 6
2 CLUSTERS
Um dos meios mais eficazes abordados pelas fabricantes de computadores para
aumentar a velocidade de suas máquinas tem sido o uso de múltiplos processadores. Essa
técnica permite que cada CPU disposta no sistema fabricado processe informações
independente da outra, aumentando, assim, a velocidade coletiva do computador.
Uma especificação desse conceito tem sido tratada na questão de computadores com
memória compartilhada. Nessa questão, um sistema de computador possui duas ou mais
CPUs que compartilham acesso total a uma RAM comum (TANENBAUM, 2010). Todavia,
para empresas que necessitam de um sistema de computadores mais rígido, o custo total
inviabiliza a implantação das máquinas.
Em vista desse problema, muitas empresas passaram a adotar um sistema baseado em
clustesrs. Segundo Tanenbaum (2010), clusters ou multicomputadores são CPUs fortemente
acopladas que não compartilham memória. De modo diferente do sistema de computadores
apresentado anteriormente, clusters são compartilham memória. Cada CPU que integra o
cluster1 tem sua própria memória local. A figura 1 apresenta um modelo baseado nessa
especificação.
Figura 1 – Modelo lógico de um multicomputador sem memória compartilhada
Como modelo alternativo a sistemas de memória compartilhada, clusters permitem escalar
aplicações a um alto desempenho ou a uma alta disponibilidade a custos mais baratos.
Talvez o cluster mais conhecido e mais utilizado seja o Beowulf, da NASA. Construído a
partir de computadores pessoais (PC) disponíveis comercialmente, utiliza sistemas operacionais
abertos e é implantando em uma rede local que realiza processamento paralelo (COLOMBO;
1
Tanenbaum (2010) também define um cluster como um aglomerado de computadores.
7. 7
HAYASHIDA; KATO, 2008). Diferentemente de outros clusters utilizados no mercado, nenhum de
seus componentes é feito por encomenda, motivo pelo qual ganhou espaço nesse ramo.
8. 8
3 O PROCESSADOR CELL
Através da parceria realiza entre a Sony Computer Entertainment, a Toshiba e a IBM,
o processador Cell foi projetado na nova arquitetura definida por essas três empresas, a Cell
Broadband Engine Architecture (CellBE). Além de essa arquitetura fornecer um processador
mais rápido e econômico, ela ainda sana alguns problemas comuns entre os processadores
relacionados à temperatura gerada pelos componentes de hardware (COLOMBO;
HAYASHIDA; KATO, 2008, p. 12-13).
Basicamente, o processador é constituído de um núcleo central e vários outros minoritários
que, efetivamente, realizam o processamento necessário. Também faz parte do conjunto que integra o
processador uma via de comunicação (Bus) que interconecta todos os núcleos e todas as interfaces de
entrada e saída presentes no processador (cf. Figura 2).
Figura 2 - Estrutura do processador Cell
3.1 O núcleo central PPE
O núcleo central do processador é uma unidade chamada Power Processing Element
(PPE), baseada na arquitetura POWER, bastante utilizada nas linhas POWER e PowerPc
(RODRIGUES, 2006). Sua principal função é controlar os núcleos minoritários para que estes
possam executar suas funções corretamente segundo um fluxo dirigido.
Como processador interno ao Cell, o PPE possui 64 bits e é capaz de executar até duas
instruções por ciclo de programas de 32 ou 64 bits. É capaz também de rodar um sistema
operacional e possui duas memórias caches. A primeira, L1, tem 32 KB e é utilizada para
9. 9
armazenar as instruções do processador. Já a memória cache L2 possui 512 KB de memória
interna e serve para armazenar temporariamente os dados que são utilizados pelas operações
do processador.
3.2 Unidades SPEs
Conforme mencionado, além de o processador Cell possuir um núcleo central, ele
também possui outros núcleos que, do ponto de vista hierárquico na arquitetura do
processador, são considerados minoritários. Entretanto, essas unidades conhecidas como
Synergistic Processing Elements (SPEs) são as que, de fato, executam o trabalho.
Cada SPE é um processador RISC do tipo Single Instruction, Multiple Data (SIMD), o
que neste contexto significa que ele é capaz de processar dados em termos de paralelismo.
Como as SPEs foram otimizadas para executar apenas aplicações de alto desempenho, elas
não conseguem rodar um sistema operacional, como faria a unidade PPE (COLOMBO;
HAYASHIDA; KATO, 2008, p. 16).
Ainda de modo diferente do núcleo central, as SPEs não possuem memória cache. Em
vez disto, cada SPE agrega uma região de memória chamada Local Store de 256 KB do tipo
SRAM que tem a finalidade de armazenas os dados e as instruções do programa a ser
executado. Utilizando a técnica de acesso direto à memória (DMA), cada SPE tem a
capacidade de operar sobre a memória sem a necessidade de interagir ou pedir permissão à
PPE.
3.3 A via de comunicação do processador
Para que um sistema computacional interaja entre seus dispositivos, é necessário que
uma ou mais vias de comunicação existam nesse sistema. Segundo o autor William Stallings
(2010), um barramento ou via é um caminho de comunicação que conecta dois ou mais
dispositivos, de modo compartilhado. A arquitetura do processador Cell fornece uma via de
comunicação chamada Element Interconnect Bus (EIB) que tem como função principal
transferir dados entre o PPE, o SPE e as interfaces de entrada e saída.
10. 10
Figura 3 - Estrutura interna do Cell
Como é possível notar na Figura 3, o EIB é formado por uma estrutura única. Essa
estrutura foi constituída na forma de anéis que movimentam 16 bytes dados para cada ciclo
horário e anti-horário (SONY, 2010a), ou seja, a via é capaz de transmitir 8 bytes de dados a
cada ciclo.
11. 11
4 PLAYSTATION 3
Em dezembro de 1994, a Sony introduziu no mercado de videogames a sua console
para jogos, a PlayStation (SONY, 2010b). Em pouco tempo, conseguiu se estabelecer no
mercado de jogos concorrendo diretamente com outra japonesa, a Nintendo. Segundo a
própria fabricante, o sucessor de seu primeiro videogame, o PlayStation 2, quebrou o recorde
de vendas no mundo inteiro ao alcançar, em 2005, a marca de 100 milhões de unidades
vendidas desde seu lançamento, em março de 2000 (SONY, 2005). Com o lançamento da
nova console PlayStation 3 (PS3), a empresa conseguiu ganhar não apenas uma boa parcela
do mercado de plataformas de videogames, mas também alguns desenvolvedores e
pesquisadores que se utilizassem da alta tecnologia (cf. capítulo 1) utilizada em sua console
para prover melhorias na performance do hardware de seu equipamento.
Este capítulo apresentará as principais configurações de hardware utilizadas no PS3.
4.1 Características da arquitetura CellBE aplicadas à console
Como mencionado no início do capítulo 3, o processador Cell é baseado na arquitetura
CellBE. Antes dessa adoção feita pela STI, a principal desenvolvedora da plataforma
PlayStation, a Sony, escolhera para o antecessor do PS3 a arquitetura Emotion Engine, que é
baseado na arquitetura MIPS64, também utilizada na console Nintendo 64.
Com a adoção da arquitetura CellBE para a nova console, a Sony decidiu configurar o
PS3 do seguinte modo:
Placa de vídeo nVidia com 256 MB de memória dedicada;
8 SPEs;
Conexão de rede Gigabit;
Bluetooth;
Wi-Fi;
Portas de comunicação USB;
Leitor de Blu-Ray;
256 MB de memória XDR.
A quantidade de unidades do tipo SPE implantada pela Sony torna o aparelho mais
que hábil para ser capaz de processar as informações gráficas dos jogos. Neste contexto, vale
comentar que apenas sete SPEs estão habilitadas para o hardware. Este requisito abordado
12. 12
pela Sony tem a finalidade de aumentar o rendimento na fabricação do equipamento.
(COLOMBO; HAYASHIDA; KATO, 2008, p. 16).
13. 13
5 CONSTRUÇÃO DO CLUSTER COM AS PLAYSTATIONS 3
5.1 Breve comparação entre um cluster de PS3s e o IBM Bladecenter
A construção de um cluster com diversas consoles PS3 (cf. Figura 4) tornou-se uma
alternativa viável em comparação com outros clusters. Abaixo, Tabela 1 apresenta uma
comparação entre um cluster com PS3s e um outro, bastante popular, o IBM Bladecenter.
Tabela 1 - Comparação entres clusters distintos
Cluster com PS3s IBM Bladecenter
8 consoles PS3 14 blades QS22
Um nó cabeça
Pré-configurado pela fabricante
Switch configurado
US$ 17 000,00 US$ 170 000,00
Fonte: Análise feita sob os dados fornecidos por COLOMBO; HAYASHIDA; KATO, 2008
Os dados apresentados na tabela acima não pretendem fazer com que o cluster de PS3s
se torne sempre o escolhido em questões de implementação. Como mencionado ao longo
deste trabalho, um aglomerado de PS3 pode ter tanta utilidade quanto um cluster pré-
fabricado. E mais: o cluster montado a partir das consoles de videogame apresentou-se em
maior vantagem, quando a questão financeira é comparada. Assim, tanto a análise da tabela
quanto este trabalho não pretendem descaracterizar o potencial e o desempenho dos clusters
disponíveis no mercado e que são próprios para tal finalidade.
14. 14
Figura 4 - Um cluster implantado com PS3s
5.2 Implantação de um cluster de PS3s baseado em um estudo de caso
Colombo, Hayashida e Kato (2008) demonstraram que é possível construir um cluster
a partir de diversas consoles de PS3. Este capítulo estuda a implementação realizada pelos
autores e comenta, de modo crítico, o estudo por eles realizado.
Segundo os próprios pesquisadores, um dos principais problemas encontrados foi a
pouca capacidade de memória que disporia o cluster, já que a console não dispõe de muita
memória RAM. Para contornar esse problema, o trabalho foi realizado através de um cluster
heterogêneo, ou seja, o cluster não estava composto apenas pelos oito PS3s, mas também por
alguns outros nós2 não idênticos.
A rede montada para o cluster agregava-se a um switch básico de oito portas. Por
causa do Hypervisor dos PS3, algumas funcionalidades das placas de rede ficaram
desabilitadas. Entretanto, para o caso apresentando, a rede provavelmente não apresentou
falhas, já que o cluster montado é uma estrutura básica de centro de tecnologia da informação.
Por fim, o grupo desenvolveu um software para analisar a corrosão isotrópica do
silício, a fim de testar a capacidade do cluster. Esse software, segundo os pesquisadores,
poderia ser rodado em qualquer outra plataforma.
2
Um nó de apenas um cluster é formado, basicamente, por uma CPU, memória e uma interface de rede.
Algumas vezes pode ter também um disco rígido (TANENBAUM, 2010).
15. 15
REFERÊNCIAS
COLOMBO, Fábio B.; HAYASHIDA, Daniel Z.; KATO, Milton E. Cluster de Playstation 3
para computação científica. Monografia (Engenharia de Computação) - Escola Politécnica,
Universidade de São Paulo, São Paulo, 2008.
RODRIGUES, Douglas J. S. A Arquitetura Cell. IC – Unicamp, 2006.
SONY. Explanation of technology. In.: Cell High-performance Processor. Disponível em:
<http://www.sony.net/SonyInfo/technology/technology/theme/cell_01.html>. Acesso em: 22
mai 2010.
SONY. Business Development/Japan. In.: Corporate Information. Disponível em:
<http://www.scei.co.jp/corporate/data/bizdatajpn_e.html>. Acesso em: 22 mai 2010.
SONY. Playstation 2 breaks record as the fastest computer entertainment plataform to reach
cumulative shipment of 100 million units. Sony Computer Entertainment Releases,
Tóquio, 30 nov. 2005. Disponível em:
<http://www.scei.co.jp/corporate/release/pdf/051130e.pdf>. Acesso em: 22 mai 2010.
STALLINGS, William. Arquitetura e Organização de Computadores. 8. ed. São Paulo:
Pearson Prentice Hall, 2010.
TANENBAUM, Andrew. Sistemas Operacionais Modernos. Pearson Prentice Hall: São
Paulo, 2010. 3. ed.