ArtigosDestaque

Intel SCCC: Pentium revisitado a pensar na Cloud

SCCC: Software

Se é verdade que o hardware é interessante neste processador, com algumas novidades que não são vistas noutros processadores, o software não tem menos importância.
NA verdade, até se pode dizer que é o software que faz a diferença.

Cada core é independente dos outros 47 cores e cada um corre uma instância de linux.
Esta instância de linux corre o kernel 2.6.16 e tem um conjunto de utilitários, com o busybox, que é muito leve.
O mesmo se pode dizer do servidor de ssh, o dropbear, que é um servidor muito usado em sistemas embedded, pois é mais leve que o mais conhecido Openssh.
O Kernel teve que receber vários patchs, para efectuar o boot sem uma BIOS e para os drivers específicos.

Programar para um destes cores, a nível de instruções, é quase o mesmo que programar para o Pentium P54C.
Na verdade, os manuais que a Intel fornece são os originais desta versão do Pentium.

A nível de linguagens, estão disponíveis as mais comuns, no SDK e é possível usar MPI.

Linux é uma parte essencial deste processador, mesmo quando externamente se está a usar ferramentas de outro sistema operativo.
Pode-se dizer que Linux neste processador é uma “feature” e que a Intel vê o futuro de processadores com múltiplos cores a usar este kernel.

No entanto, como podem ver neste video, a Microsoft também criou extensões para um utilizador usar este processador.

Nesta altura a plataforma já recebeu novas funcionalidades através do Chipset. Grande parte do futuro passa pelo software.
Estão previstas novas funcionalidades em Linux, como suporte de uma gráfica virtual, SDL, PulseAudio e aplicações de demonstração como o mplayer e links.

Quando se trabalha com este chip, o que se pode fazer é ligar por consola aos 48 Linuxs via terminal. Há a possibilidade de passar o mesmo comando aos diversos cores e ter uma janela com previews de cada terminal.

Um interface TCP para se ligar ao Visual Studio da Microsoft.

O actual kernel é baseado na versão 2.6.16. No futuro havera uma evolução do kernel para a versão 2.6.37, Vnc server, Debugging tools, qemu, que para quem não conhece pode permitir virtualização ou emulação de hardware, etc.

Outras funcionalidade é o suporte SATA em Linux e monitorização de energia.

 

SCCC: Benchmarks

Um dos cuidados que se tem que ter com benchmarks neste processador é que não se pode comparar com o Tera Chip ou o Knights Corner, porque apesar de terem particularidades semelhantes, o core do SCCC é genérico e não foi feito só para cálculo “puro e duro”.

Este slide mostra o SCCC a correr Linpack. Como seria de esperar, não vai ser um recordista absoluto (até porque está a correr a metade da velocidade normal e nem registos MMX tem) neste benchmark, mas talvez o mais interessante é que mesmo não estando optimizado, ele escala quase linearmente com o aumento dos cores.
De referir que o Linpack a correr em diversos nós, não é só importante o poder de computação do core, mas também a velocidade da rede que liga os nós.

Aqui temos o NAS Parallel Benchmark, com uma versão não optimizada e com uma versão optimizada.
NAS é um benchmark da Nasa, composto por vários programas, para ajudar avaliar a performance de computadores com vários nós paralelos.

Aqui temos dois benchmarks de uma forma não optimizada e com optimizações.
Por exemplo “Black–Scholes”, que é um modelo matemático usado no mundo financeiro, com 32 cores SCCC, tem uma performance 20 vezes melhor que 1 core.
No mundo ideal, o perfeito fosse que ele escalasse 32 vezes com 32 cores, mas com optimizações, pode-se melhorar esse aspecto.

Uma das demonstrações mais interessantes foi colocar este processador como co-processador num teste de javascript a renderizar uma imagem por raytracing.

Este é um video com outra demonstração de javasript, a simular um motor de física.

São mostradas várias formas como se pode aceder ao SCCC e como ele escala a nível de resolução da imagem e de tempo com uma a 48 threads.

 

Conslusão

O interessante deste processador, que se encontra numa área de “pesquisa”, não é só o facto de ser multicore.
Processadores desse tipo já existem vários, como o Ultrasparc T2 ou o Tilera GX, que pode escalar até 100 cores e também tem uma rede interna de grande velocidade. Até os GPUs dos dias de hoje podem ser considerados multi core.

O que torna interessante o SCCC é que a Intel mudou algumas coisas que todas as pessoas dão como certas, como a coerência da memória e de ter criado uma infraestrutura dentro de um chip.
Temos 48 cores genéricos e independentes. Cada core tem o seu sistema operativo e pode ter um load diferente de outros cores. Temos também uma rede de alta velocidade a unir cada “tile” e um controlador de memória diferente do comum, pois tem que estar optimizado para servir vários cores ao mesmo tempo.

Algumas decisões terão que ser avaliadas no final deste programa, como a questão da coerência ter que ser mantida por software ou se não existe demasiado “overhead” ao ter um sistema operativo completo por cada core, mas este tipo de experiências é algo que a Intel pode fazer e ajuda a decidir que caminho seguir no futuro.

Também é interessante o uso do Pentium P54C, pois é a segunda vez que a Intel usa este core para chips com múltiplos cores.
Talvez seja um sinal que a Intel veja este core, alterado e melhorado, como base de alguns dos seus futuros produtos nesta área.

A Intel afirmou que este processador nunca será comercializado, da mesma forma que o Tera Chip também não o foi, mas isso não o torna menos interessante.
O ir mais além e experimentar nova tecnologia é o que torna este processador interessante.
Existe uma grande probabilidade que este processador seja o “Pai” de futuras gerações de Xeons virados para mercados específicos.

Fica aqui mais um video da Intel que dá uma perspectiva geral sobre o SCCC.

Alguns links sobre este processador e que me ajudaram a criar o artigo:

Arstechica

Intel Techresearch

Intel Communities

Xbitlabs

Connected Social Media

Google Books

Página anterior 1 2 3 4

Artigos Relacionados

Botão Voltar ao Topo