SlideShare ist ein Scribd-Unternehmen logo
1 von 15
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
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
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
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



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



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



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



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



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




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



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



pela Sony tem a finalidade de aumentar o rendimento na fabricação do equipamento.
(COLOMBO; HAYASHIDA; KATO, 2008, p. 16).
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




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



                                    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.

Weitere ähnliche Inhalte

Was ist angesagt?

Apostila arquitetura de computadores 03
Apostila arquitetura de computadores 03Apostila arquitetura de computadores 03
Apostila arquitetura de computadores 03fernandao777
 
Arquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicosArquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicosAlex Camargo
 
Arquitetura de Computadores: Unidade central de processamento
Arquitetura de Computadores: Unidade central de processamentoArquitetura de Computadores: Unidade central de processamento
Arquitetura de Computadores: Unidade central de processamentoAlex Camargo
 
Trabalho sobre processadores
Trabalho sobre processadoresTrabalho sobre processadores
Trabalho sobre processadoresTiago
 
Aquitetura dos Processadores Multicore
Aquitetura dos Processadores MulticoreAquitetura dos Processadores Multicore
Aquitetura dos Processadores MulticoreIsraelCunha
 
Hardware questionario 01
Hardware   questionario 01Hardware   questionario 01
Hardware questionario 01Tiago
 
Gerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e SaídaGerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e SaídaAlexandre Duarte
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do LinuxMauro Tapajós
 
Arquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesArquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesAlex Camargo
 
Apresentação da aula de sistemas operacionais
Apresentação da aula de sistemas operacionaisApresentação da aula de sistemas operacionais
Apresentação da aula de sistemas operacionaisFelipe Martinin
 
Microprocessadores
MicroprocessadoresMicroprocessadores
MicroprocessadoresSOL RIBEIRO
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisRonildo Oliveira
 
Curso MMM - Aula 02 - Processadores
Curso MMM - Aula 02 - ProcessadoresCurso MMM - Aula 02 - Processadores
Curso MMM - Aula 02 - ProcessadoresSpartan Digital
 
Processadores core i3 e amd
Processadores core i3 e amdProcessadores core i3 e amd
Processadores core i3 e amdMario Kleber
 

Was ist angesagt? (20)

Apostila arquitetura de computadores 03
Apostila arquitetura de computadores 03Apostila arquitetura de computadores 03
Apostila arquitetura de computadores 03
 
Processadores
ProcessadoresProcessadores
Processadores
 
Mac 2
Mac 2Mac 2
Mac 2
 
Arquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicosArquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicos
 
Arquitetura de Computadores: Unidade central de processamento
Arquitetura de Computadores: Unidade central de processamentoArquitetura de Computadores: Unidade central de processamento
Arquitetura de Computadores: Unidade central de processamento
 
Trabalho sobre processadores
Trabalho sobre processadoresTrabalho sobre processadores
Trabalho sobre processadores
 
Aquitetura dos Processadores Multicore
Aquitetura dos Processadores MulticoreAquitetura dos Processadores Multicore
Aquitetura dos Processadores Multicore
 
Hardware questionario 01
Hardware   questionario 01Hardware   questionario 01
Hardware questionario 01
 
Gerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e SaídaGerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e Saída
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do Linux
 
MAC OS X - Caio
MAC OS X - CaioMAC OS X - Caio
MAC OS X - Caio
 
Multiprocessadores sunfiree25k
Multiprocessadores sunfiree25kMultiprocessadores sunfiree25k
Multiprocessadores sunfiree25k
 
Arquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesArquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruções
 
Apresentação da aula de sistemas operacionais
Apresentação da aula de sistemas operacionaisApresentação da aula de sistemas operacionais
Apresentação da aula de sistemas operacionais
 
Microprocessadores
MicroprocessadoresMicroprocessadores
Microprocessadores
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionais
 
Curso MMM - Aula 02 - Processadores
Curso MMM - Aula 02 - ProcessadoresCurso MMM - Aula 02 - Processadores
Curso MMM - Aula 02 - Processadores
 
Processadores
ProcessadoresProcessadores
Processadores
 
Processadores
ProcessadoresProcessadores
Processadores
 
Processadores core i3 e amd
Processadores core i3 e amdProcessadores core i3 e amd
Processadores core i3 e amd
 

Ähnlich wie Computação de Alto Desempenho com PS3

Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia J Chaves Silva
 
Apostila hardware-introducao-a-arquitetura-de-computadores
Apostila hardware-introducao-a-arquitetura-de-computadoresApostila hardware-introducao-a-arquitetura-de-computadores
Apostila hardware-introducao-a-arquitetura-de-computadoresalmeida26
 
Alfa con 4 -hardware
Alfa con 4 -hardwareAlfa con 4 -hardware
Alfa con 4 -hardwareJane Cesca
 
Alfa con -hardware
Alfa con -hardwareAlfa con -hardware
Alfa con -hardware92josue
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end Andressa Silveira
 
Introdução risc x cisc
Introdução risc x ciscIntrodução risc x cisc
Introdução risc x ciscuembley
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Claudio Santos
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...claudiovalentim
 
Como montar um pc
Como montar um pcComo montar um pc
Como montar um pcTiago
 
11 montagem
11 montagem11 montagem
11 montagemTiago
 
Trabalho processadores vanessa
Trabalho processadores vanessaTrabalho processadores vanessa
Trabalho processadores vanessaVanessa Costa
 
Aula05 - Arquitetura e manutanção de Computadores
Aula05 - Arquitetura e manutanção de ComputadoresAula05 - Arquitetura e manutanção de Computadores
Aula05 - Arquitetura e manutanção de ComputadoresJorge Ávila Miranda
 

Ähnlich wie Computação de Alto Desempenho com PS3 (20)

Htm trabalho
Htm trabalhoHtm trabalho
Htm trabalho
 
33149_1
33149_133149_1
33149_1
 
Aula 3
Aula 3Aula 3
Aula 3
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia
 
Apostila hardware-introducao-a-arquitetura-de-computadores
Apostila hardware-introducao-a-arquitetura-de-computadoresApostila hardware-introducao-a-arquitetura-de-computadores
Apostila hardware-introducao-a-arquitetura-de-computadores
 
Arquitetura paralela
Arquitetura paralelaArquitetura paralela
Arquitetura paralela
 
Clusters, o que é?
Clusters, o que é?Clusters, o que é?
Clusters, o que é?
 
Alfa con 4 -hardware
Alfa con 4 -hardwareAlfa con 4 -hardware
Alfa con 4 -hardware
 
Alfa con -hardware
Alfa con -hardwareAlfa con -hardware
Alfa con -hardware
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end
 
Introdução risc x cisc
Introdução risc x ciscIntrodução risc x cisc
Introdução risc x cisc
 
Mini-curso CUDA
Mini-curso CUDAMini-curso CUDA
Mini-curso CUDA
 
Arquitetura 8
Arquitetura 8Arquitetura 8
Arquitetura 8
 
Arquitetura 8
Arquitetura 8Arquitetura 8
Arquitetura 8
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
 
Como montar um pc
Como montar um pcComo montar um pc
Como montar um pc
 
11 montagem
11 montagem11 montagem
11 montagem
 
Trabalho processadores vanessa
Trabalho processadores vanessaTrabalho processadores vanessa
Trabalho processadores vanessa
 
Aula05 - Arquitetura e manutanção de Computadores
Aula05 - Arquitetura e manutanção de ComputadoresAula05 - Arquitetura e manutanção de Computadores
Aula05 - Arquitetura e manutanção de Computadores
 

Mehr von Orlando Junior

Árvores - Introdução e Conceitos Básicos
Árvores - Introdução e Conceitos BásicosÁrvores - Introdução e Conceitos Básicos
Árvores - Introdução e Conceitos BásicosOrlando Junior
 
Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...
Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...
Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...Orlando Junior
 
Predição de Links em Redes Complexas usando o Classificador Naïve Bayes
Predição de Links em Redes Complexas usando o Classificador Naïve BayesPredição de Links em Redes Complexas usando o Classificador Naïve Bayes
Predição de Links em Redes Complexas usando o Classificador Naïve BayesOrlando Junior
 
Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014
Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014
Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014Orlando Junior
 
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de ComputadoresInvestigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de ComputadoresOrlando Junior
 
Predição de Fluxos em Redes de Computadores
Predição de Fluxos em Redes de ComputadoresPredição de Fluxos em Redes de Computadores
Predição de Fluxos em Redes de ComputadoresOrlando Junior
 
Normalização em banco de dados
Normalização em banco de dadosNormalização em banco de dados
Normalização em banco de dadosOrlando Junior
 
Introdução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosIntrodução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosOrlando Junior
 
Classes de Problemas P e NP
Classes de Problemas P e NPClasses de Problemas P e NP
Classes de Problemas P e NPOrlando Junior
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação DinâmicaOrlando Junior
 
A Missa para não-católicos
A Missa para não-católicosA Missa para não-católicos
A Missa para não-católicosOrlando Junior
 
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...Orlando Junior
 
Sacramento da Penitência - Estrutura
Sacramento da Penitência - EstruturaSacramento da Penitência - Estrutura
Sacramento da Penitência - EstruturaOrlando Junior
 
Web Server Controls e Banco de Dados
Web Server Controls e Banco de DadosWeb Server Controls e Banco de Dados
Web Server Controls e Banco de DadosOrlando Junior
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosOrlando Junior
 
Acessando Dados com ADO .NET
Acessando Dados com ADO .NETAcessando Dados com ADO .NET
Acessando Dados com ADO .NETOrlando Junior
 
10 Mandamentos e Pecados Relacionados
10 Mandamentos e Pecados Relacionados10 Mandamentos e Pecados Relacionados
10 Mandamentos e Pecados RelacionadosOrlando Junior
 
Catequese da Missa Tridentina - Símbolos
Catequese da Missa Tridentina - SímbolosCatequese da Missa Tridentina - Símbolos
Catequese da Missa Tridentina - SímbolosOrlando Junior
 
Verbos da Língua Inglesa - Observações preliminares
Verbos da Língua Inglesa - Observações preliminaresVerbos da Língua Inglesa - Observações preliminares
Verbos da Língua Inglesa - Observações preliminaresOrlando Junior
 

Mehr von Orlando Junior (20)

Árvores - Introdução e Conceitos Básicos
Árvores - Introdução e Conceitos BásicosÁrvores - Introdução e Conceitos Básicos
Árvores - Introdução e Conceitos Básicos
 
Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...
Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...
Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...
 
Predição de Links em Redes Complexas usando o Classificador Naïve Bayes
Predição de Links em Redes Complexas usando o Classificador Naïve BayesPredição de Links em Redes Complexas usando o Classificador Naïve Bayes
Predição de Links em Redes Complexas usando o Classificador Naïve Bayes
 
Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014
Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014
Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014
 
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de ComputadoresInvestigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
 
Predição de Fluxos em Redes de Computadores
Predição de Fluxos em Redes de ComputadoresPredição de Fluxos em Redes de Computadores
Predição de Fluxos em Redes de Computadores
 
Normalização em banco de dados
Normalização em banco de dadosNormalização em banco de dados
Normalização em banco de dados
 
Introdução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosIntrodução à Engenharia de Requisitos
Introdução à Engenharia de Requisitos
 
O que é direito
O que é direitoO que é direito
O que é direito
 
Classes de Problemas P e NP
Classes de Problemas P e NPClasses de Problemas P e NP
Classes de Problemas P e NP
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação Dinâmica
 
A Missa para não-católicos
A Missa para não-católicosA Missa para não-católicos
A Missa para não-católicos
 
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
 
Sacramento da Penitência - Estrutura
Sacramento da Penitência - EstruturaSacramento da Penitência - Estrutura
Sacramento da Penitência - Estrutura
 
Web Server Controls e Banco de Dados
Web Server Controls e Banco de DadosWeb Server Controls e Banco de Dados
Web Server Controls e Banco de Dados
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Acessando Dados com ADO .NET
Acessando Dados com ADO .NETAcessando Dados com ADO .NET
Acessando Dados com ADO .NET
 
10 Mandamentos e Pecados Relacionados
10 Mandamentos e Pecados Relacionados10 Mandamentos e Pecados Relacionados
10 Mandamentos e Pecados Relacionados
 
Catequese da Missa Tridentina - Símbolos
Catequese da Missa Tridentina - SímbolosCatequese da Missa Tridentina - Símbolos
Catequese da Missa Tridentina - Símbolos
 
Verbos da Língua Inglesa - Observações preliminares
Verbos da Língua Inglesa - Observações preliminaresVerbos da Língua Inglesa - Observações preliminares
Verbos da Língua Inglesa - Observações preliminares
 

Computação de Alto Desempenho com PS3

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