IME-USP Departamento de Ciência da Computação Single-Chip Cloud Computer Diogo de Jesus Pina 6798294 (diogojpina@gmail.com) Everton Topan da Silva 6514219 (everton.topan.silva@usp.br) Disciplina: Organização de Computadores Ministrada por: Prof. Dr. Alfredo Goldman Dezembro/2010
Índice Resumo... 3 Palavras-chaves... 3 Abstract... 4 Keywords... 4 Introdução... 5 1. Single-Chip Cloud Computer... 6 1.1. Programa de Pesquisa Tera-Scale... 7 1.2. Arquitetura do Processador... 8 1.3. Consumo de Energia... 10 1.4. Vantagens... 12 1.5. Desvantagens... 13 1.6. Mas por que Cloud Computer?... 14 1.7. Perspectivas da Intel... 15 Conclusão... 16 Referencias Bibliograficas... 17
Resumo Neste artigo apresentaremos as características do Single-Chip Cloud Computer desenvolvido pela Intel Labs, bem como todos benefícios e paradigmas que esta nova plataforma trará para a computação. Palavras-Chaves Multi-Processadores, Cloud Computing, Programação Paralela.
Abstract In this paper we present the characteristics of Single-Chip Computer Cloud developed by Intel Labs, as well as all benefits and paradigms that will bring this new platform for computing. Keywords Multi-Core, Cloud Computing, Parallel Programming.
Introdução O Single-Chip Cloud Computer é um processador desenvolvido pela Intel Labs e possui recursos que podem ser comparados com a Cloud Computing. Um dos destaques deste processador é o baixo consumo de energia comparado ao desempenho, outro destaque é que ele pode ser escalável, podendo chegar até 1000 núcleos. Essa é a aposta da Intel para o futuro dos computadores.
1. Single-Chip Cloud Computer Nos dias de hoje muito se fala em Cloud Computer, que é o uso de recursos de hardware e/ou de software de outro computador por meio de uma rede, seguindo o modelo da computação em grade, é possível até mesmo usar um sistema operacional exclusivo fornecido por um servidor da nuvem. A computação nas nuvens, vem se difundindo muito devido ao aumento de banda, ao baixo custo e pelo fato de ser on demand, ou seja, pagar apenas pela aquilo que usar. Para não ficar fora do céu, a Intel Labs desenvolveu experimentalmente um processador denominado de Single-Chip Cloud Computer (SCC). Este chip é feito de silício e possui 48 núcleos, sendo este o maior número de núcleos que a Intel já colocou em um único processador até hoje. Este dispositivo incorpora tecnologias destinadas a processadores multi-core, tais como: uma rede dentro do chip, controle de gestão de energia e suporte a passagem de mensagens. A pesquisa com este chip faz parte da linha Tera-Scale da Intel e esta sendo realizada nos Estados Unidos, na Alemanha e na Índia.
1.1. Programa de Pesquisa Tera-Scale O programa de pesquisa Tera-scale é um esforço mundial para avançar a tecnologia dos computadores para a próxima década. Este programa visa aumentar o desempenho e a capacidade dos computadores atuais. Ao escalar arquiteturas de multiplos núcleos de 10 para 100 núcleos e aceitar a mudança para a programação paralela a Intel visa melhorar o desempenho e aumentar a eficiência energética. Fazer com que os computadores cheguem a uma escala tera requer um novo modo de construir processadores que podem ser pensados como uma rede de poderosos computadores em apenas um chip. A pesquisa tera-scale Computing está investigando a tecnologia necessária para que a Intel possa construir novos processadores com centenas de núcleos em entre 5 e 10 anos, assim como o uso eficiente de plataformas e softwares sobre esses processadores. Existem mais de 100 projetos desse programa (tera-scale) sendo feitos pela Intel em todo o mundo. A pesquisa desse chip visa estudar o uso de processadores de multiplos cores e suas arquiteturas, além de desenvolver técnicas para programá-los.
1.2. Arquitetura do Processador Arquiteturalmente o chip assemelha-se a uma nuvem de computadores integradas em um chip de silício. A nova arquitetura multi-core inclui inovações para escalabilidade em termos de eficiência de energia, incluindo uma comunicação entre os núcleos melhorada e técnicas que permitem softwares a configurarem a voltagem e a frequencia do chip para economizar energia de 125W a 25W. Isso representa a maior realização do programa de pesquisa da intel na escala tera. O chip é composto basicamente de: - 48 núcleos; - 24 "tiles" com dois núcleos cada; - Uma rede de 24 roteadores com uma banda de 256 GB/s da bissecção; - 4 controladores de memória DDR3 e - Hardware que suporta a transmissão de mensagem. Um dos mais importantes aspectos da arquitetura de rede do SCC é que ela suporta expansão. Cada núcleo tem 2 níveis de cache, porém não há suporte de hardware para de coerência entre núcleos, pois com isso foi possível simplificar o desenho, economizar energia e encorajar a exploração de modelos de memoria distribuída nos datacenters. As pesquisas da Intel tem demonstrado que a passagem de mensagens é tão boa quanto o compartilhamento de memoria no SCC. Os núcleos do SCC são baseados no núcleo do P54C, que lida com todas as requisições de memória e mensagens. Os tiles são conectadas por uma rede 2D totalmente síncrona, com um rigoroso controle de desempenho e energia. A única interface entre o tile e o router é o mesh interface unit (MIU), e o router é a única interface entre os tiles. Os 4 controladores de memória DDR3-800 x8 integrados capazes de endereçar até 64GB de memória externa com 1, 2 ou 4GB por slot, com um canal com capacidade para até 16GB e um pouco de memória em cada tile, destinado a passagem de mensagens e
O cache não é muito eficiente, pois durante um evento de cache miss o controlador de cache manda o endereço para o MIU, para decodificação e recuperação. Cada core pode ter apenas uma solicitação pendente e irá parar com miss reads até o dado ter chegado. Em miss write o processador continua operando até que qualquer outro tipo de miss ocorra. Assim que o dado chega o processador continua com sua operação normal. O memory bufferd do chip é capaz de fazer rapidamente operações de leitura e gravação. Tendo 16kB e equivale a 512 linhas de cache. O principal uso do Memory buffer é a passagem de mensagem.
1.3. Consumo de Energia Uma boa gestão de energia é um dos principais focos do chip. Para isso, ele permite que as aplicações tenham o controle de desligar cores e mudar os níveis de desempenho, adaptando o uso para a energia mínima necessária no momento. O SCC pode rodar todos os 48 cores de uma vez sobre a faixa de 25W a 125W e escolher varias voltagens e frequencia da malha de rede, assim como o conjunto de cores. Cada telha pode ter sua própria frequencia e grupos de 4 telhas podem ter sua própria voltagem e com isso, permite que o chip consuma pouca energia se comparado a outros chips de vários núcleos, permitindo assim o seu enquadramento na computação verde. Uma parte dos múltiplos domínios de voltagem e frequencia do SCC são configuráveis na inicialização (BIOS) e os outros podem variar dinamicamente com o controle fino feito pelas aplicações.
1.4. Vantagens As vantagens do SCC é que ele é um micro datacenter, podendo ser escalável e de auto poder de processamento. Além disso, cada processador pode rodar um sistema operacional, com isso, podemos ter 48 SO's rodando ao mesmo tempo, permitindo assim, uma interoperabilidade de sistemas sem precisar de virtualização ou abstração de hardware. O SCC trata a pilha de execução de programas como sendo única para cada só, individualizando-as. Outra grande vantagem deste processador é o gerenciamento de energia avançado, permitindo ter um chip de alto desempenho com um baixo consumo de energia.
1.5. Desvantagens A grande desvantagem do SCC é que o cache não é muito eficiente, fazendo com que os núcleos sejam utilizados sem necessidade ou fiquem esperando respostas do cache, o que para grande volume de dados e SO's podem fazer o chip perder muito o desempenho. O acesso a memória e ao disco rígido podem ser gargalos em caso de muitos sistemas operacionais rodando ao mesmo tempo, ou de programas que busquem muitos dados. Apesar da simplicidade de uso, o processador exige que muitas coisas sejam gerenciadas por meio de software, podendo perder desempenho ou dificultar a implementação de softwares eficientes.
1.6. Mas por que Cloud Computer? O nome SCC reflete o fato de que a arquitetura do chip assemelha-se a um cluster de computadores escalável, tais como achamos na nuvens. De algum modo o SCC é um pequeno espelho de um datacenter da nuvem. Permitindo que cada núcleo possa rodar um sistema operacional separado, a pilha de execução age como em um computador individual e se comunica com outros computadores por passagem de pacotes pela rede.
1.7. Perspectivas da Intel A Intel acredita que o SCC é a plataforma de pesquisa ideal para ajudar a acelerar o desenvolvimento de software para múltiplos núcleos. Os pesquisadores já portaram uma variedade de aplicações para o SCC, incluindo web servers, modelos físicos e analise de finanças. A pesquisa feita nesse chip esta em um estágio avançada, e está em fase de pesquisa um novo chip com 80 cores que usa basicamente as mesmas tecnologias do SCC (divisão em tiles, rede dentro do chip para aumentar a escalabilidade, e gerenciamento de energia). Esse novo chip será o primeiro a atingir 1 teraflop usando apenas 62W, enquanto o primeiro computador a conseguir alcançar um teraflop (ASCI Red - 1996), tinha aproximadamente 10.000 processadores pentium rodando a 200MHz, e gastava 500kW para rodar e 500kW com refrigeração. Outra aposta da Intel é que cresça rapidamente o uso da plataforma SCC para fins acadêmicos, o que ajudara ainda mais, o avanço rápido desta tecnologia.
Conclusão Com este trabalho pudemos conhecer o futuro dos processadores Intel e também dos prováveis processadores em geral. A tendencia do futuro é que os processadores trabalhem de forma paralela a fim de aumentar a velocidade de processamento e conseguir evoluir cada vez mais a computação. Observamos também, que a linha tera-scale da Intel além do desempenho se preocupa com a eficiência energética, conseguindo que seu processador consuma pouca energia elétrica, principalmente quando não esta sendo usado. Este processador possui diversos recursos interessantes tais como o uso de mensagens para a comunicação entre núcleos, uso de tiles para separar grupos de núcleos e a possibilidade de alterar a voltagem e a frequencia do processador. Apesar da variedade de recursos que este processador possibilitará, ele ainda não possui muitos recursos que facilitem seu uso, dificultando o estudo dessa nova plataforma.
Referencias Bibliograficas Intel Labs http://techresearch.intel.com/projectdetails.aspx?id=1 http://techresearch.intel.com/newsdetail.aspx?id=17#scc WikiPédia Cloud Computing