Computação de Alto Desempenho com PS3

  • 3,285 views
Uploaded on

Este é o trabalho referente à apresentação, também presente no SlideShare, sobre a construção de um cluster com PS3s.

Este é o trabalho referente à apresentação, também presente no SlideShare, sobre a construção de um cluster com PS3s.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,285
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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.