You are on page 1of 136

UNIVERSIDADE FEDERAL FLUMINENSE

ANTONIO ADLSON FERREIRA e EDUARDO ASSIS SILVEIRA


UM ESTUDO SOBRE PROCESSADORES CELL E GPU:
A ANUCIAO DA NOVA ERA DA
COMPUTAO PARALELA
HETEROGNEA
Niteri
2!
ANTONIO ADLSON FERREIRA e EDUARDO ASSIS SILVEIRA
UM ESTUDO SOBRE PROCESSADORES CELL E GPU:
A ANUCIAO DA NOVA ERA DA
COMPUTAO PARALELA
HETEROGNEA
Trabalho de Concluso de Curso subme-
tido ao Curso de Tecnologia em Siste-
mas de Computao da Universidade
Federal Fluminense como requisito par-
cial para obteno do Tecnlogo em Sis-
temas de Computao.
Orie"t#$%r:
Le#"$r% S%#re& $e S%'&#
NITER(I
2!
ANTONIO ADLSON FERREIRA e EDUARDO ASSIS SILVEIRA
UM ESTUDO SOBRE PROCESSADORES CELL E GPU:
A ANUCIAO DA NOVA ERA DA
COMPUTAO PARALELA
HETEROGNEA
Trabalho de Concluso de Curso subme-
tido ao Curso de Tecnologia em Siste-
mas de Computao da Universidade
Federal Fluminense como requisito par-
cial para obteno do Tecnlogo em Sis-
temas de Computao.
Niteri,18 de Dezembro de 2007.
B#")# E*#+i"#$%r#:
Prof
a
. Anna Dolejsi Santos, Dr.Sc. - Universidade Federal Fluminense
Prof. Leandro Soares de Sousa, Msc. - Universidade Federal Fluminense
Prof
a
. Talita de Oliveira Ferreira, Msc. Universidade Federal do Rio de Janei-
ro
Dedicamos aos nossos pais, respons-
veis primeiros pelas ddivas das concep-
es de nossas vidas.
s empresas AMD, BM, NTEL e
NVDA assim como o LANL -
Los Alamos Lab pela generosidade em
tornar pblico, em seus stios na nternet,
informaes vitais para todos sobre o as-
sunto em questo.
Aos institutos MT, GeogeTech e uni-
versidade de Stanford pelos materiais de
cursos online.
AGRADECIMENTOS
A Deus, que ilumina todos os caminhos.
A nosso Orientador Leandro Soares de Sousa
pelo estmulo e ateno que nos concedeu
durante o curso.
s coordenadoras Marta e Rosana do Plo
de Angra dos Reis do CEDERJ por seus
enormes e solidrios prstimos.
Aos colegas de trabalho pelo apoio e suporte:
Anis, Jorge e Waldirio (Windows); Leandro
(Linux); e Paulo (CELL e GPU).
Ao Paulo Fernando pelo enorme esprito de-
mocrtico, liderana nata e profissional,
incentivador da educao e cultura.
s nossas esposas e aos nossos filhos.
Quem no soube a sombra, no sabe a luz.
Taiguara Chalar da Silva
O estilo uma dificuldade de expresso.
Mrio Quintana
Agente ai contra a corrente, at no poder resistir.
!a olta do barco "ue sente, o "uanto deixou de
cumprir.
#$ico %uar"ue de &olanda, em Roda Viva, 1967.
Muitos escritores noos dizem "ue seu maior pro'
blema saber por onde come(ar. !o . O maior
problema de "uem escree )ou comp*e, ou interpre'
ta, ou, principalmente, discursa+ saber onde parar.
,uis -..er/ssimo em "Robinho e o Paradoxo, O Globo, 1/7/7
0o put it "uite bluntl12 as long as t$ere 3ere no ma'
c$ines, programming 3as no problem at all4 3$en
3e $ad a fe3 3ea5 computers, programming be'
came a mild problem, and no3 3e $ae gigantic
computers, programming $as became an e"uall1 gi'
gantic problem.
6. 7i85stra.
Turing Award, 1972.
RESUMO
Este trabalho descreve a origem do multicore e as tendncias em compu-
tao paralela heterognea de alto desempenho. Especialmente arquiteturas como
GPUs e o processador CELL da BM, que so o nosso principal alvo de estudo.
Fornecemos alguns detalhes de especificaes e implementaes do
$ard3are e soft3are para estas arquiteturas bem como suas aplicaes em diversas
reas de atuao. Nos aprofundamos principalmente na computao de alto desem-
penho, no processamento grfico e de multimdia.
Detalhamos muitas caractersticas, tecnologias envolvidas, programao,
mercados de atuao e propostas para novos processadores grficos, GPUs, e uma
nova abordagem para processadores com mltiplos ncleos, heterogneos, com
rede interna e arquitetura SMP, com modelo de programao paralela heterognea,
como tendncia tecnolgica a ser consolidada.
Descrevemos e detalhamos o porqu da tecnologia multicore, e os funda-
mentos tericos motivados inicialmente pela ,ei de Moore, que ainda vigora mas tal-
vez no vigorar devido aos limites impostos pela Fsica e estabelecidos pela Mec-
nica Quntica, que inviabilizam os processos de fabricao atual da eletrnica digital
baseado na tecnologia CMOS para processadores de computador e que, possivel -
mente, sero repensados e redirecionados para uma nova tecnologia.
Comentamos sobre os paradigmas da computao atual tanto nos pro-
cessos de fabricao tecnolgicos, com tecnologia CMOS, quanto o de programa-
o seqencial com a programao serializada e algumas das novas tendncias tec-
nolgicas de $ard3are e soft3are.
Mostramos as tendncias atuais de fabricao de processadores com
mltiplos ncleos, homogneos e heterogneos, associados computao paralela
heterognea de alto desempenho e as novas tecnologias candidatas substituio
da tecnologia CMOS, em especial a Spintrnica como sendo a melhor posicionada.
P#,#-r#&.)/#-e&: CELL, COMPUTAO HETEROGNEA, GPU, GPGPU, HPC,
MULTCORE, PROCESSADOR, PROGRAO PARALELA, SPNTRNCA.
LSTA DE LUSTRAES
Figura 1: Evoluo do processos de fabricao de processadores at 2.012...........29
Figura 2: Evoluo da potncia consumida das CPUs x performance escalar..........30
Figura 3: Limitaes fsicas inviabilizam o aumento das freqncias........................31
Figura 4: O multicore como soluo para as limitaes impostas pela Fsica...........32
Figura 5: Consumo crescente de potncia nos ltimos 20 anos................................33
Figura 6: A inexorvel jornada para o multicore.........................................................34
Figura 7: Evoluo da bitola equivalente do fio em ciclos de mquina......................35
Figura 8: Processador single core: em extino.........................................................36
Figura 9: O singlecore tende a extino. O multicore floresce...................................37
Figura 10: Problema fundamental: alta dissipao trmica........................................38
Figura 11: Aquecimento das CPUs.............................................................................38
Figura 12: A gnesis do problema est na Fsica.......................................................39
Figura 13: A inviabilidade de se aumentar a freqncia indefinidamente..................40
Figura 14: A histria se repete ou ns j vimos isto ocorrer anteriormente...............41
Figura 15: As diminutas dimenses do processador CELL........................................42
Figura 16: GPUs de mercado: Nvidia Quadro FX 5600 e AT (AMD) R600.........44
Figura 17: Acelerada evoluo do poder computacional das GPUs..........................49
Figura 18 Diagrama de blocos das unidades de processamento das GPUs............56
Figura 19: Caractersticas gerais de um CELL...........................................................59
Figura 20: Fotografia da pastilha de um processador CELL.....................................63
Figura 21 Jogos de mercado: Sony PS3, Microsoft Xbox 360 e Nintendo Wii..........70
Figura 22: Cluster Linux de BM CELL com Sony PS3...............................................88
Figura 23: Lminas de CELL e BM CELL Blade Center QS20 ................................89
Figura 24: nstalaes tpicas de clusteres Linux Beowolf.........................................89
Figura 25: Ambiente Teste: Sun + NV FX 5600 + cluster PS3 + switch Gig E........91
Figura 26: BM BlueGene/P........................................................................................94
Figura 27: Logo do projeto RoadRunner.....................................................................96
Figura 28: Distintas abordagens e direes na busca do PetaFLOPS......................97
Figura 29 O processador CELL, pea fundamental do projeto RoadRunner............98
Figura 30 Em apenas 18 racks , 7.000 CPUs e 13.000 CELLs : 1 PetaFLOPS......99
Figura 31 Arquiteturas distintas com duas CPUs fsicas distintas...........................100
Figura 32 Um exemplo marcante de heterogeneidade............................................103
Figura 33 O futuro imita o passado..........................................................................105
Figura 34 Tributo a Gordon Moore...........................................................124
LSTA DE TABELAS
Tabela 1 Exemplos de processadores multicore ....................................................... 43
Tabela 2 Caractersticas gerais de alguns processadores multicore ......................... 43
Tabela 3 Algumas aplicaes para GPGPUs ............................................................. 54
Tabela 4 Tipos de operaes em GPU e localizao de ocorrncia ...................... 75
Tabela 5 Exemplo de limites superiores para GPU .................................................. 75
Tabela 6 Acesso memria pelo tipo especfico de memria .................................. 78
Tabela 7 Caracterstica de cada memria de uma moderna GPU ............................ 80
LSTA DE GRFCOS
Grfico 1 Evoluo do nmero de transistores nos microchips ntel no tempo.......124
LSTA DE ABREVATURAS E SGLAS
AMD . Adanced Micro 7eices
ANSI . America !ational 9tandard :nterc$ange
API . Application ;rogram :nterface
ATI . AT Fabricante de GPUs e Placas de Vdeo (AMD)
B0 . %roadband <it$
CDC . #ontrol 7ata #orporation
CEDER1 . Centro de Educao Superior Distncia do RJ
CELL BE . CELL %roadband 6ngine
CMOS . #omplementar1 Metal'Oxide'9emiconductor
CPU . #entral ;rocessor =nit
CTM . #lose to 0$e Metal
CUDA . #omputer =nified 7eelopment Arc$itecture
DD . 7ata 7efinition
DDR2 . 7ouble 7ata >ate 2
DMA . 7irect Memor1 Access
DP . 7ouble ;recision
DRAM . 71namic >ead Access Memor1
EIB . 6lement :nterconnected %us
FFT2D . -ast -ourier 0ransform 3D
FLE3IO . -lexible :nput Output
FORTRAN . -ormula 0ranslator
FPAP . -loating ;oint Arra1 ;rocessor
FPGA . -ield';rogrammable ?ate Arra1
FPS . -loating ;oint 91stem
GDB . GNU 7ebugger
GEOGIATECH . ?eorgia 0ec$nolog1 :nstitute
GF . Giga Flops
GFLOPS . ?iga -loating ;oint Operations ;er 9econd
GNU . Gnu is !ot =nix
GTS . Modelo de GPU da Nvidia
GT3 . Modelo de GPU da Nvidia
HPC . &ig$ ;erformance #omputing
HT . &1per 0ransport
HT3 . &1per 0ransport 6xtended
I4O . :nput'Output
I567 . :ntel Arc$itecture 80486
IBM . :nternational %usiness Mac$ine
IBM BLUE GENE . A ;eta-,O;9 supercomputer of :%M
IBM ES8 . A mainframe 6nterprise 91stem of :%M
IBM PO0ER . <or5station 0ec$nolog1 from :%M
INTEL . :ntel #orporation
1CL . @ob #ontrol ,anguage
LANL . ,os Alamos !ational ,aborator1
LCM4SCM . 9mall -ast #ore Memor1 A ,arge #ore Memor1
LLNL . ,a3rence ,iermore !ational ,aborator1
MASS . Mat$ematical Application 9tatistical 9ubroutines
MIPS . Old Manufacturer of ;rocessors
MIT . Massac$ussetts :nstitute of 0ec$nolog1
MPI . Message ;assing :nterc$ange
NVCC . !idia # #ompiler
NVIDIA . Manufacturer of ?;=s
OPENMP . -ree ,ibrar1 of Message ;assing Open
PC . ;ersonal #omputer
PCI E3PRESS . ;erip$eral #ard :nterface model 6xpress 16x
PDA . ;ersonal 7igital Assistants
PPE . ;o3er ;rocessor 6lement
PPU . ;o3er ;rocessor =nit
PS2 . 9on1 ?ame ;la1 9tation B
RAM . >ead Access Memor1
RED HAT 0S . ,inux Operating 91stem for <or5station
ROAD RUNNER . HPC ;ro8ect of ,os Alamos !ational ,ab
RPC . >e"uest ;rocedure for #omments
SCEI . 9on1 #omputer 6ntertainment :nc.
SD9 . 9oft3are 7eelopment Cit
SGI . 9ilicon ?rap$ics :nc.
SIMD . 9ingle :nstruction Multiple 7ata
SM . 9ingle Multiprocessor
SMP . 91mmetric Multi ;rocessor
SOI . 9ilicon Oer :nsulator
SP . 9ingle ;recision
SPE . 91nergetic ;rocessor 6lement
SSE . :nternet 9treaming 9:M7 6xtensions
STANFORD . 9tanford =niersit1
STI . @oint .enture 9on1'0os$iba':%M
TFLOPS . 0era -loating ;oint Operations ;er 9econd
TSUBAME . A supercomputer of @apan
0II . A ?ame of !intendo Manufacturer
367:75 . Arc$itecture based in :ntel 80486 processor
3BO327 . A ?ame of Microsoft #orporation
3DR . Memria Rambus
3EON . Processador ntel x86_32, x86_64 bits
SUMRO
RESUMO ...................................................................................................................... 7
LSTA DE LUSTRAES ........................................................................................... 8
LSTA DE TABELAS .................................................................................................. 10
LSTA DE GRFCOS ................................................................................................ 11
LSTA DE ABREVATURAS E SGLAS ..................................................................... 12
SUMRO ................................................................................................................... 15
1 NTRODUO ........................................................................................................ 16
2 HSTRCO .............................................................................................................. 18
3 OS PROCESSADORES MULTCORE .................................................................... 20
3.1 CONCETOS PRELMNARES ......................................................................... 20
3.2 A EVOLUO DO SNGLECORE ................................................................... 22
3.2.1 Os limites da tecnologia singlecore ........................................................... 23
3.3 A TECNOLOGA MULTCORE ........................................................................ 24
3.3.1 Arquiteturas Multicore ............................................................................... 26
4 O PORQU DA TRANSO PARA O MULTCORE ............................................. 27
4.1 TAXONOMA DOS MULTCORES ................................................................... 42
5 GPU .......................................................................................................................... 44
5.1 FUNES COMPUTACONAS ...................................................................... 45
5.2 GPGPU ............................................................................................................. 46
5.2.1 Conceitos de Programao em GPGPU .................................................... 47
5.3 PORQUE USAR GPGPU? ............................................................................... 48
5.4 TCNCAS GPGPU .......................................................................................... 50
5.4.1 Classificao das operaes das GPUs .................................................... 50
5.5 ESTRUTURA DE DADOS ................................................................................ 53
5.6 APLCAES EM GPGPU .............................................................................. 53
5.7 DAGRAMA DE BLOCOS DA GPU .................................................................. 54
5.8 PRNCPAS LNGUAGENS PARA USO EM GPUs ........................................ 56
6 CELL ......................................................................................................................... 57
6.1 UMA HSTRA ROMNTCA ......................................................................... 57
6.2 DA MAGNAO REALDADE .................................................................... 57
6.3 DSPOSTVOS DE VETORZAO DO CELL ................................................ 64
6.4 DESENVOLVMENTO PARA O CELL ............................................................. 66
6.5 O PROCESSADOR CELL DE FM GERAL? ................................................ 67
6.6 A ARQUTETURA RSC ATACA NOVAMENTE .............................................. 68
7 DFERENAS ENTRE O PROCESSADOR CELL E GPUs .................................... 69
8 RUDMENTOS DE SOFTWARE PARA GPUs ........................................................ 72
8.1 A ARQUTETURA CUDA COMO PADRO PARA GPU .................................. 73
8.2 CONCLUSO SOBRE A ARQUTETURA CUDA EM GPU ............................. 76
8.3 UMA MPLEMENTAO CUDA NO HARDWARE G80 ................................... 78
8.4 MPLEMENTAO DA ARQUTETURA DE MEMRA - G80 ........................ 78
8.5 SNTESE DO MODELO DE HARDWARE dA G80 .......................................... 79
8.6 APs PARA GPUs .............................................................................................. 80
8.7 COMPLAO EM CUDA ................................................................................. 82
8.8 LNK-EDO EM CUDA .................................................................................. 82
8.9 DEPURAAO EM CUDA .................................................................................. 83
8.10 A NOVA ARQUTETURA DE DESENVOLVMENTO EM GPUS ................... 84
9 RUDMENTOS DE SOFTWARE PARA CELL ........................................................ 85
10 USO DE GPUs E DE CELL NO AMBENTE HPC ................................................ 86
11 UMA EXPERNCA PRTCA COM GPUS E CELL ........................................... 90
12 A COMPUTAO DE PETAFLOPS ................................................................... 93
12.1 SSTEMAS DE COMPUTAO HBRDA ESTO CHEGANDO ................. 101
12.2 "DEJA VU (PARECE QUE A HSTRA SE REPETE) .............................. 104
13 TECNOLOGAS ALTERNATVAS A SUBSTTUO DO CMOS ..................... 106
13.1 A EVOLUO DAS TECNOLOGAS DOS TRANSSTORES ..................... 106
13.2 LMTES de TRANSSTORES na TECNOLOGA MOSFET ........................ 108
13.3 AS FUTURAS TECNOLOGAS QUE SE APRESENTAM ........................... 109
1.1.1Tecnologia de Diodos Ressonantes de Tunelamento ............................... 109
1.1.2AUTMATOS CELULARES QUNTCOS (QCA) .................................... 110
1.1.3Nanoeletrnica Molecular .......................................................................... 110
1.1.4SPNTRNCA ........................................................................................... 111
14 CONCLUSES ................................................................................................... 113
REFERNCAS BBLOGRFCAS ........................................................................ 118
ANEXOS ................................................................................................................... 122
ANEXO A - LE DE MOORE .................................................................................... 123
ANEXO B - PRNCPO DA NCERTEZA DE HESENBERG ................................. 128
1 NTRODUO
O objetivo fundamental deste trabalho de apresentar duas mais impor-
tantes tecnologias de processadores da atualidade, CELL e GPU, que despontam e
disputam as preferncias tcnico-cientfica, comercial e de pblico para uma enorme
gama de aplicaes tais como: jogos, computao grfica e computao de alto de-
sempenho. Ele foi elaborado fundamentalmente atravs de vrios cursos on'line
disponibilizados pelos fabricantes BM, Nvidia, ntel e instituies cientficas como
MT, Los Alamos Lab, Geogia Tech, Stanford University, dentre outras, aliado a mui -
tos trabalhos publicados e informaes tambm disponibilizadas na nternet. A moti -
vao bsica reside na necessidade de se ter acesso e disponibilidade de computa-
o de altssimo desempenho e a um baixo custo, ou seja, TeraFLOPS por centenas
de dlares. Este trabalho no original nem tem a pretenso de s-lo, pois procurou
extrair aquilo que considerarmos ser de melhor na bibliografia e em todas as refern-
cias encontradas. A maior dificuldade foi exatamente a escolha e ordenao do con-
tedo, imagens, grficos e figuras, bem como o texto e a ordenao do mesmo
numa modesta tentativa de conduzir o leitor de tal forma que este possa ter uma re-
ferncia e um roteiro significativos na lngua nacional sobre o tema e, de posse des-
tes, possa guiar-se e enveredar pelo conhecimento nesta rea.
O despertar do sculo XX traz boas novas em termos tecnolgicos e, em
particular, novssimas arquiteturas de processadores para enfrentar o desafio impos-
to pelas necessidades econmicas de baixos custos e ambientais, de melhor e mais
racional uso dos recursos energticos aliados requisio de processadores muito
mais velozes. Em especial, no que tange a computao de alto desempenho, objeti -
vando apresentar e resolver vrias aplicaes como processamento de imagens, si -
mulaes, clculos cientficos, pesquisas em biologia, qumica, fsica e medicina,
processamento ssmico e pesquisas espaciais entre tantas outras. A restrio tecno-
lgica fundamental reside nas limitaes impostas para consumo de energia e ne-
cessidades de refrigerao dos processadores devidos ao enorme consumo e des-
perdcio, provenientes da dissipao de calor, alm do grande espao fsico para
acomodar os equipamentos e os altssimos custos de aquisio, manuteno e ga-
rantia dos mesmos.
Estamos vivendo num momento nitidamente propcio para a ruptura do
paradigma vigente de computao e programao numa busca de um novo paradig-
ma. No paradigma atual, a computao homognea, isto , aquela baseada em pro-
cessadores com um ou mais ncleos homogneos idnticos e de mesma natureza
como, por exemplo os dos fabricantes ntel ou AMD de um nico ncleo (singlecore),
dois ncleos (dualcore), quatro ncleos ("uadcore), oito ncleos (octocore)
[;]
, etc; e,
a programao seqencial (baseadas em programas compostos por instrues que
so executadas passo a passo, seqencialmente) seu carro-chefe. Nesta nova
era que se vislumbra e que se estabelecer definitivamente nos prximos dez ou
vinte anos, os computadores heterogneos multicore (baseado em mltiplos ncleos
distintos) e a programao paralela ("de pedaos das linhas de cdigos a serem
executados sequencialmente ou "um fluxo de controle sequencial isolado dentro de
um programa t$reads sendo executados em paralelo pelos distintos ncleos do
processador)
[;!]
reinaro hegemnicos e, motivados pelas de necessidades de
computao de alto desempenho e baixos custos, estaro disponveis para a grande
maioria dos usurios em seus prprios des5tops, noteboo5s, laptops, e nos novos
dispositivos de tecnologia convergente que se apresentaro, permitindo que a com-
putao de teraflops (trilhes de operaes de ponto flutuante por segundo) fique
disposio de todos por custos muito baixos.
Duas das tecnologias representantes desta verdadeira revoluo, que se
configura, podem ser identificadas nos processadores grficos (GPUs) e nos proces-
sadores heterogneos multicore (BM CELL, por exemplo), ou, tambm, nos multico'
re homogneos (com microarquitetura x86_64 dual, quad, octocore da ntel ou AMD)
[7,10]. Por considerar este tema apaixonante e excitante, modestamente discorrere-
mos em particular sobre estas duas tecnologias e alguns tpicos relacionados ao
tema da computao de alto desempenho, computao paralela e os novos desafios
delas decorrentes.
17
2 HSTRCO
No ltimo quarto do sculo XX, observou-se uma desenfreada e frentica
competio na corrida pelo aumento da freqncia do cloc5, ou seja, da velocidade
de operao, dos processadores como o modo mais simples de se obter o aumento
de desempenho dos computadores. Desde os 4.77 MHz do BM PC original lanado
em agosto de 1981
[;<2]
at os 3.4 GHz dos monoprocessados e singlecore ntel
Xeon ou AMD Opteron
[!<;]
ou, a impressionante freqncia de 4.7 GHz do BM
Power 6 dualcore
[2]
, a corrida parece ter chegado ao seu limiar. Limiar este que es-
barrou nos limites decorrentes das propriedades fsicas dos materiais envolvidos e
de suas dimenses fsicas, que definiram uma barreira intransponvel para os fabri-
cantes de processadores. Dos fabricantes de processadores apenas a BM segue
em frente, imediatamente, com freqncias de cloc5s alm de 4 GHz
[=]
como, por
exemplo, o seu j citado BM Power6 que, em sua verso comercial de 2007, pode
operar em at 4.7 GHz ou 4.2 GHz ou 3.7 Ghz
[2]
, como possibilidades de atingir algo
prximo a 6 Ghz
[5]
em verses futuras, segundo o prprio fabricante, mas por um
custo altamente proibitivo para a maioria dos usurios. Do ponto de vista tecnolgi -
co, o custo no relevante, o que importa possibilidade de ultrapassar os limites
anteriores com inovao tecnolgica e pesquisa de novos materiais e propriedades
destes para obteno das metas, mas do ponto de vista econmico-financeiro, im-
portantssimo o baixo custo, para uma possvel produo em massa e a dissemina-
o dos benefcios da tecnologia para um maior nmero possvel de pessoas e sis-
temas.
As atuais e futuras necessidades computacionais passam diretamente
pela obrigatria ruptura com o estabelecido, isto , dadas as barreiras e restries
de energia finita, espao exguo e refrigerao tambm finita, no se pode ou poder
conceber arquiteturas computacionais gulosas e ineficientes nestes pontos de vista.
A mitigao dos recursos energticos, principalmente, aliada a impossibilidade de se
elevar o cloc5 dos processadores a nveis alm dos atualmente alcanados (que j
atingiu um ponto de temperatura equivalente ou prximo do ponto das reaes nu-
cleares e que, se levado avante, alcanaria a temperatura da superfcie solar
18
10.000 graus centgrados), conforme mostram, respectivamente, as Figuras 10 e 11,
induzindo obrigatoriamente a uma mudana tecnolgica. Esta mudana, pelas ra-
zes anteriores e por outras que detalharemos mais frente, implicou na tecnologia
multicore
[;6]
por um lado e por outro, como fruto da natural evoluo tecnolgica dos
conceitos de co-processador matemtico dedicado, de uma outra tecnologia: proces-
sadores grficos (GPU)
[;;]
, aplicados inicialmente computao grfica e atualmen-
te com incurses na rea da computao de alto desempenho.
As GPUs encontraram um rico e profcuo ambiente de altos e relevantes
investimentos no mercado de jogos eletrnicos e na indstria do entretenimento for-
mada pelos desenhos em 3D, sofisticadas texturas, computao fsica, etc. O mer-
cado de jogos eletrnicos primordialmente o principal mote da evoluo tecnolgi -
ca das GPUs, representando bilhes de dlares de faturamento, o que permitiu mai -
ores investimentos nesta tecnologia e um alto nvel de capitalizao dos fabricantes
de GPUs, tendo o fabricante Nvidia [9] como o maior e melhor representante como
poder comprovado por seus balanos financeiros e valorizao de suas aes no
mercado de capitais.
Por outro lado, grandes fabricantes de computadores e produtos de con-
sumo do mercado de eletro-eletrnico, em defesa de seus interesses, uniram-se
numa parceria batizada como BM ST (Sony, Toshiba e BM) no despertar deste,
que ser um luminoso sculo, para definir aquilo que se espera que no seja apenas
uma evoluo da tecnologia existente aplicada a um nicho de mercado, como o da
computao grfica ou jogos eletrnicos, mas para a computao de fim geral e
tambm aplicvel em problemas mais especficos. Especialistas da BM denominam
esta evoluo de "A vingana da arquitetura RSC [21]. Esta parceria gerou como
fruto o BM CELL %roadband 6ngine, o CELL BE, a qual detalharemos nos captulos
seguintes bem como a tambm o faremos com relao a GPU (?rap$ical ;rocessor
=nit).
19
3 OS PROCESSADORES M=,0:#O>6
3.1 CONCETOS PRELMNARES
As principais partes dos processadores convencionais so
[22]
:
1 Ncleo (em ingls, #ore): local onde as instru-
es so executadas. Ou seja, aqui que as coisas realmente acontecem. Que tipo
de coisas? Execuo de instrues, clculos, etc.
2 #ac$e: uma memria que se encontra dentro
do processador. Ao invs de termos o processador indo buscar dados na memria
principal o tempo todo, aplicando-se o ;rinc/pio da ,ocalidade
[22]
, ele possui uma
memria interna onde os dados so armazenados temporariamente. O processador
procura por um dado primeiramente dentro de sua memria cac$e antes de ir buscar
o dado na memria principal. Por este motivo, o cac$e tambm influencia no desem-
penho do processador. Resumindo, cac$e uma pequena quantidade de memria
esttica de alto desempenho, tendo por finalidade aumentar o desempenho realizan-
do uma busca antecipada na memria RAM. A taxa de acerto tpica de 80% a 90%
[;;]
.
Note-se que a palavra Ncleo em ingls #ore. Quando colocamos den-
tro de um processador mais do que um ncleo, ele se torna um processador Multi-N-
cleos ou Multi#ore.
No caso dos processadores que possuem dois ncleos, eles so chama-
dos de 7ual#ore. Qualquer que seja o processador, quando ele for identificado
20
como sendo 7ual #ore, ter dois ncleos de execuo. Quando os processadores
7ual#ore comearam a aparecer no mercado
[25]
, dizia-se que tnhamos colocado
dois processadores em um. sso no verdade mas serve muito bem como analo-
gia. H tambm, os processadores que possuem 4 (quatro) ncleos. Esses proces-
sadores so chamados de Quad#ore e esto presentes hoje em des5tops e servido-
res. Tanto a empresa ntel como a sua concorrente em arquiteturas x86, fabricam
processadores dualcore e "uadcore disponveis no mercado como, por exemplo,
ntel Xeon Core Duo (para laptops e des5tops+, ntel Xeon Quad Core (para servido-
res), AMD Opteron Dual Core, AMD Opteron Quad Core. Os processadores BM
Power5+ e BM Power 6 so dualcore
[6]
. Existem tambm, no mercado, processado-
res com 8 ncleos como o Sun T1
[2=]
ou de 9 (nove) ncleos como o BM CELL
[27]
,
que est incorporado nas consoles de jogos Sony PS3 e outros com muitos ncle-
os, ditos man1cores ainda no comercializveis ou em testes nos laboratrios dos
fabricantes como o Octocore da ntel, o Octocore da AMD, o MT >a3 (16 ncleos),
etc.
Existem processadores ainda no comerciais como o ntel ,arrabee de 80
(oitenta) ncleos ou outros em desenvolvimento, como na universidade de Tkio
com 512 ncleos denominado ?rape 7> e destinado computao de alto desem-
penho (HPC)
[2]
.
A existncia de vrios ncleos dentro dos processadores uma tendncia
e deve-se esperar que a quantidade de ncleos cresa para alm dos quatro exis-
tentes hoje como os vistos no pargrafo anterior. Colocar vrios ncleos dentro de
um processador foi uma das formas encontradas para se aumentar ainda mais o seu
desempenho. sto gerou uma quebra de paradigma (tabD). O desempenho dos pro-
cessadores sempre foi definido simplificadamente pelo cloc5 )fre"EFncia de opera'
(o do processador+, ou o popular GHz (giga$ertz, ou seja, tendo $ertz como unida-
de de medida de freqncia). Esta foi uma boa medida durante muito tempo. Quan-
do vamos para processadores com mltiplos ncleos, a coisa muda de figura. Pro-
cessadores com dois ncleos e com freqncia de cloc5 menor possuem desempe-
nho superior a processadores com um nico ncleo trabalhando a uma freqncia
21
maior. Ou seja, ao analisarmos o desempenho de processadores no devemos con-
siderar a freqncia do cloc5 como o nico e exclusivo indicador de desempenho.
Os processadores tm um ou mais ncleos e uma ou mais memrias ca'
c$e. nternamente, o ncleo ainda subdividido em vrios componentes. A forma
como os elementos internos do ncleo esto dispostos, como eles iro se comuni -
car, a maneira como o cac$e ser acessado, como as instrues sero executadas
serializadas ou em paralelo - etc, tudo isso define o que chamamos de Microarqui -
tetura. a partir de uma concepo de Microarquitetura que os processadores so
criados. Os processadores criados a partir de uma mesma Microarquitetura tero as
mesmas caractersticas bsicas, apesar de poderem ter pequenas alteraes para
funcionamento em des5tops, noteboo5s ou servidores devido s particularidades dis-
tintas de cada um destes como dimenso fsica, alimentao, autonomia, robustez,
etc. Porque uma Microarquitetura importante? A mudana de uma Microarquitetura
pode fazer com que uma nova gerao de processadores atinja um desempenho
(performance) muito melhor e consiga, por exemplo, ter um consumo muito menor
de energia, como a proposta dos multcores: BM CELL (9 cores e heterogneo: 1
PPE e 8 SPEs)
[26]
; e os homogneos ntel ,arrabee (80 cores), Sun T1
(octocore)
[2!]
, AMD Barcelona ("uadcore), ntel Xeon ("uadcore)
[;]
, etc.
3.2 A EVOLUO DO 9:!?,6#O>6
Os processadores multicore representam uma grande revoluo da tecno-
logia computacional. So capazes de prover maior capacidade de processamento
com uma relao entre custo e benefcio melhor do que os processadores singleco'
re. So uma resposta cientfica s crescentes demandas por desempenho e uma
forma de contornar as limitaes impostas pela Fsica para os processadores single'
core, preservando o paradigma vigente da tecnologia CMOS.
22
3.2.1 OS LMTES DA TECNOLOGA 9:!?,6#O>6
As demandas de complexas simulaes 3D, arquivos de streaming me'
dia, nveis adicionais de segurana, interfaces do usurio mais sofisticadas, bancos
de dados mais robustos e cada vez mais e mais usurios conectados on'line esto
sempre requisitando por maior poder de processamento. A soluo aplicada at
agora, de maneira simplificada, foi aumentar a freqncia de operao dos proces-
sadores, aumentando-se assim a sua capacidade de processamento. sto exige que
o processo de fabricao de transistores seja feito em camadas de silcio cada vez
menos espessas. Entretanto, este mtodo de fabricao tem seus dias contados
[26]
o que obriga a busca de uma tecnologia alternativa para a fabricao de circuitos in-
tegrados e, com eles, microprocessadores.
Conforme Figura 1, podemos verificar que as tecnologias de fabricao
de 90 nm com espessura de porta de 50 nm, e as seguintes devero ter sua exaus-
to l pelos idos de 2012, conforme previses dos cientistas das empresas fabrican-
tes de processadores. sto porque, quanto menor for largura da porta mais prxima
as regies da fonte e do dreno do transistor ficaro. Pelas leis da Fsica Quntica,
quando a largura da porta atingir a 5 nm, a fonte e o dreno ficaro separados por um
trecho de silcio to pequeno que no se conseguir isol-los completamente, geran-
do uma probabilidade de 50% de que a corrente flua mesmo quando no houver ten-
so aplicada porta (este fenmeno denomina-se na Fsica Quntica de tunelamen'
to do eltron). Quando isto ocorre, o transistor deixa de ser confivel como dispositi-
vo de processamento de dados pois passamos a no ter mais controle sobre seu
comportamento ou propriedades
[26<28]
. Alm disso, temos outro problema ainda mais
grave: a dissipao de energia em forma de calor. Devido miniaturizao dos no-
vos processos de fabricao de circuitos integrados, cada vez mais se fabricam pro-
cessadores com mais e mais transistores equivalentes em menores reas do c$ip.
Quanto menores so os transistores do circuito integrado, maior sua "densidade su'
perficial , ou seja, o nmero de transistores por unidade de rea. O acmulo de um
nmero muito grande de transistores numa rea to pequena concentra tremenda-
23
mente a produo de calor devido dissipao de energia pela corrente eltrica
que circula nos transistores (dada pela ,ei de @oule:P = i
2
R)
[2;]
. Se essa energia
no for rapidamente removida do circuito e transferida para o ambiente, o c$ip atingi-
r temperaturas to elevadas que, literalmente, derreter
[22]
. As Figuras 10 e 11,
respectivamente, mostram a evoluo da energia dissipada por processador.
Afirmam os cientistas que, mesmo que se conseguisse contornar o limite
da largura de porta, no haveria como remover o calor do processador com a mes-
ma velocidade com que ele seria produzido. O c$ip se autodestruiria
[22]
.
Alm dessas, h diversas outras limitaes impostas pela arquitetura de
ncleo nico. Entre elas, temos que a estreita banda de dados, aliada a grande dife-
rena entre a velocidade do processador e a da memria, faz com que 75% do tem-
po da CPU, em mdia, seja gasto esperando por resultados dos acessos
memria
[22]
.
3.3 A TECNOLOGA M=,0:#O>6
A tecnologia multicore (mltiplos ncleos) consiste em colocar duas ou
mais unidades de execuo (cores) no interior de um nico "pacote de processador
(um nico c$ip). O sistema operacional trata esses ncleos como se cada um fosse
um processador diferente, com seus prprios recursos de execuo. Na maioria dos
casos, cada unidade possui seu prprio cac$e e pode processar vrias instrues si-
multaneamente.
Adicionar novos ncleos de processamento a um processador possibilita
que as instrues, das aplicaes, sejam executadas em paralelo em vez de serial -
mente, como ocorre em um nico ncleo (considerando um nico pipeline de execu-
o - pipeline uma tcnica de hardware que permite que a CPU realize a busca de
uma ou mais instrues alm da prxima a ser executada
[;;]
).
24
Os processadores de mltiplos ncleos permitem trabalhar em um ambi-
ente multitarefa. Em ambientes de um s ncleo, as funes de multitarefa podem
ultrapassar a capacidade da CPU, o que resulta em queda de desempenho enquan-
to as operaes aguardam serem executadas. Em sistemas de mltiplos ncleos,
como cada ncleo tem seu prprio cac$e, o sistema operacional dispe de recursos
suficientes para lidar com o processamento intensivo de tarefas executadas em pa-
ralelo. Portanto, melhora-se a eficincia do sistema como um todo e o desempenho
dos aplicativos, em computadores que executam vrios aplicativos simultaneamen-
te. A presena de vrios ncleos particularmente eficaz quando uma das aplica-
es deve ficar sendo executada continuamente (ou quase), como no caso dos dis-
positivos das consoles grficas de jogos, nos dispositivos de convergncia digital
(som, vdeo, etc), entre outros.
As principais vantagens da arquitetura multicore so:
1. Maior eficcia (t$roug$put) do sistema e desempenho aprimorado
de aplicativos em computadores que executam vrios aplicativos
simultaneamente.
2. Desempenho aprimorado para aplicativos multi't$readed.
3. Maior capacidade para mais usurios ou tarefas em aplicativos
com muitas transaes.
4. Desempenho superior em aplicativos que utilizem processamento
de forma intensiva.
5. Economia no preo do licenciamento de soft3are proprietrio, pas-
sando a ter um maior poder de processamento sem necessitar de
uma nova mquina (os fabricantes de soft3are podem rever suas
polticas de comercializao de licenas de soft3are por processa-
dor para core, minimizando esta vantagem).
6. Reduo da dissipao trmica quando comparado ao singlecore.
25
3.3.1 ARQUTETURAS M=,0:#O>6
Uma arquitetura multicore , geralmente, um multiprocessamento simtri-
co (SMP) implementado em um nico circuito VLS (.er1 ,arge 9cale :ntegrated). O
objetivo melhorar o paralelismo no nvel das t$reads, ajudando especialmente as
aplicaes que no conseguem se beneficiar dos processadores superescalares
atuais, por no possurem um bom paralelismo ao nvel de instrues. Essa arquite-
tura propicia o chamado paralelismo em nvel de c$ip. Algumas de suas vantagens
so: melhor localidade de dados se comparado com outras arquiteturas de multi-pro-
cessamento; melhor comunicao entre as unidades; economia de espao e ener -
gia. importante observar que o aumento de t$roug$put no ocorre ao acaso da
execuo de uma nica aplicao que no possa ser paralelizada, mas, nos outros
casos, e sempre que se considera o sistema como um todo (rodando vrias aplica-
es simultaneamente), tal aumento bastante notvel. Com todas essas vanta-
gens, os multicores apresentam uma melhor relao custo / benefcio do que os sin'
glecore.
Uma alternativa ao multiprocessamento simtrico, ou SMP (91mmetric
Multi ;rocessing), uma arquitetura de multiprocessadores na qual dois ou mais
processadores idnticos so conectados a uma nica memria principal. sso permi -
te que qualquer processador trabalhe em qualquer tarefa, no importando onde ela
esteja localizada. Assim, possvel ficar movendo as tarefas entre processadores de
modo a tornar a carga de trabalho o mais eficiente possvel. Porm, h um custo a
se pagar: como a memria muito mais lenta que o processador, se em arquiteturas
singlecore gasta uma grande parcela de tempo esperando pelos dados da mem-
ria, na SMP fica pior ainda, pois vrios processadores podem ficar esperando por
uma mesma memria
[22]
.
26
Uma alternativa ao SMP a NUMA (!on'=niform Memor1 Access), na
qual cada processador tem a sua prpria parte de memria. Essa arquitetura permite
acessos paralelos memria, melhorando em muito o t$roug$put, se os dados de
um processo forem bem localizados. Por outro lado, o custo de se mover os dados
de um processador para o outro fica bem mais caro, ou seja, balancear a carga de
trabalho bem mais custoso do ponto de vista computacional, ou seja, exige mais
recursos de processador, rede, ocupao de banda, comunicao e tempo
[;;]
.
H ainda alternativas no to utilizadas como as acima: o Multiprocessa-
mento Assimtrico (ASMP) designa diferentes processadores especializados para
tarefas especficas, enquanto que, no multiprocessamento com clusters de computa-
dores, nem toda a memria est disponvel para todos os processa-
dores
[22]
.
Como exemplo de implementao multicore podemos citar: ntel Xeon
Core Duo, ntel Xeon Quad Core, ntel Larrabee (80 cores), AMD Opteron Dual Core,
AMD Barcelona Quad Core, SUN T1 (octocore), BM Power 6, BM CELL (ninecore),
etc.
4 O PORQU DA TRANSO PARA O MULTCORE
Como visto anteriormente, a corrida pelo aumento de desempenho dos
processadores com o mais conveniente e fcil procedimento, que o da elevao
do cloc5 do processador, atingiu o seu pice ao esbarrar no superaquecimento e na
baixa relao entre o desempenho e o consumo de energia, medido agora no em
milhes de instruo de ponto flutuante por segundo apenas, mas tambm dividido
pelo consumo energtico em 3atts (GFLOP/Watt). Alm do aumento do cloc5, a tec-
nologia de mltiplos processadores numa mesma placa me (sistemas multiproces-
sados ditos MP) no era, por si s, suficiente devido a vrios problemas de geren-
ciamento do sistema operacional e, mais especificamente, o da memria ou do ca'
27
c$e ou cac$Fs associados a um ou vrios dos processadores. O resultado no era
suficiente e deparava-se com a ,ei de Amda$l [35] para sistemas multiprocessados,
ou seja, tudo indicava no adiantar juntar muitos processadores numa mesma placa-
me devido ao custo-benefcio e as dificuldades de gerenciamento acrescido do pro-
blema das aplicaes no aproveitarem esta arquitetura do tipo SMP (91mmetric
Multi ;rocessing).
O problema crucial o do consumo energtico. Como resolver ou contor-
nar? No foi e no simples. Uma idia, que foi implementada com distintas arquite-
turas, foi a de aumentar o nmero de cores ou ncleos numa mesma pastilha ou
c$ip. Assim, para um pequeno aumento no consumo energtico poderamos aumen-
tar, em tese, significativamente o desempenho. A tecnologia de 90 nm dos c$ips as-
sim o permitia e os primeiros, em verdade, eram como ainda muitos o so, apenas
dois cores acoplados numa mesma pastilha, isto , praticamente se estendeu tec-
nologia SMP a um nico processador, por analogia, com o diferencial de ser contro-
lado por um nico sistema operacional. Outra abordagem a de uma arquitetura
multicore, mas com um barramento interno de comunicao de alta velocidade entre
esses ncleos ou cores, ou seja, em rede.
Neste ponto, devemos frisar bem que, enquanto a GPU uma sofisticada
evoluo de um co-processador, o BM CELL, um processador heterogneo formado
por vrios e distintos processadores em uma mesma pastilha e estes interconecta-
dos entre si atravs de uma rede compartilhada de alta velocidade, uma reolucio'
nria proposta de uma nova arquitetura de um processador nativamente paralelo e
internamente em rede. De fato, no uma proposta, uma realidade e o futuro pr-
ximo ir julgar a ousadia de seus criadores (ST)
[27]
.
Para nosso discurso inicial, acrescentarmos convenientemente alguns
grficos e diagramas, que enriqueam ou comprovem nossos argumentos. A transi -
o obrigatria para o multicore est na Fsica. So as propriedades e leis fsicas
que implicam diretamente no multicore
[25]
.
28
Figura 1: Evoluo do processos de fabricao de processadores at 2.012.
Fonte: Webinar da ntel, www.intel.com em 20 de maro de 2007
[25]
.
Como podemos observar na Figura 1, os processos de fabricao de
c$ips esto cada vez mais provocando um adensamento de transistores numa me-
nor rea. esperado que se atinjam processos de fabricao que possibilitem at
22 nm no ano de 2012. Atualmente so comercializados chips com tecnologia de
65nm e os de 45 nm devero se tornar comercializveis at 2009.
Historicamente, a anlise de processadores monoprocessados revela que
enquanto o desempenho cresce linearmente, a potncia necessria para operao
deste cresce exponencialmente como pode ser exemplificado com os processadores
da ntel do i486 ao Pentium(Prs) na curva normalizada ao consumo de energia do
i486 da Figura 2, demonstrando assim a insustentabilidade de se tentar aumentar o
desempenho de processadores apenas com o aumento da freqncia pois, do ponto
de vista energtico, o consumo excessivamente ineficiente e implica numa enorme
necessidade de refrigerao, o que inviabiliza solues tecnolgicas nesta direo.
29
Figura 2: Evoluo da potncia consumida das CPUs x performance escalar
Fonte: Webinar da ntel, www.intel.com em 20 de maro de 2007
[25]
.
Como conseqncia da ,ei de Moore
[#"e*% A]
, a quantidade de transistores
dobra a cada dezoito meses, o que adensa mais ainda o nmero de transistores
numa menor rea do c$ip, enquanto a espessura do xido tambm se encurta, au-
mentando as freqncias e reduzindo o limiar das voltagens envolvidas. Mas a es-
pessura j atingiu as dimenses atmicas e no pode mais ser encurtada to rapida-
mente. Logo, s podemos obter pequenos aumentos de freqncias com menores
redues na voltagem, o que implica num maior consumo energtico e maior dissi -
pao trmica como esboado na Figura 3.
30
Figura 3: Limitaes fsicas inviabilizam o aumento das freqncias
Fonte: Webinar da ntel, www.intel.com em 20 de maro de 2007
[25]
.
Em longo prazo, a nica soluo a ser considerada, sem levar em conta
novas descobertas na cincia dos materiais e na fsica, seria a de introduzir vrios
ncleos num mesmo c$ip, ou seja, passar-se a fabricar e produzir processadores
com mltiplos ncleos em uma mesma pastilha, levando-se em conta a viabilidade
de faz-lo devido ao adensamento de transistores, causado pelas novas tecnologias
de fabricao de c$ips, como conseqncia da ,ei de Moore, contornando os pro-
blemas determinados pelas limitaes da Fsica e, principalmente, observando que
com mltiplos ncleos num mesmo c$ip, podemos assim obter um melhor desempe-
nho do processador com uma maior eficincia energtica. Portanto, a tecnologia de
fabricao de processadores com muitos ncleos, dita multicore, vem obrigatoria-
mente, como uma forma de contornar as limitaes impostas leis da Fsica e assim
obter um maior desempenho, com maior eficincia energtica e melhor gerenciabili -
dade tcnica, isto , menor necessidade de refrigerao do calor gerado pela dissi -
pao trmica do processador.
31
Figura 4: O multicore como soluo para as limitaes impostas pela Fsica
Fonte: Webinar da ntel, www.intel.com em 20 de maro de 2007
[25]
.
Por exemplo: suponhamos um c$ip com um dado nmero de transistores
e a este associado uma potncia unitria e um desempenho unitrio. Para aumen-
tarmos o desempenho de maneira ingnua e direta, quadruplicamos o nmero de
transistores num c$ip maior, significando apenas a duplicao do desempenho a um
custo tambm quadruplicado da potncia consumida. Por outro lado, se formos ca-
pazes de colocar quatro pequenos ncleos com o mesmo nmero de transistores da
hiptese inicial, num mesmo c$ip poderamos obter ao invs de um nico c$ip com
um nico ncleo, um novo c$ip com quatro ncleos mais eficiente em performance e
consumo energtico, alm de menor dissipao trmica (Figura 4).
32
Figura 5: Consumo crescente de potncia nos ltimos 20 anos.
Fonte: MT Course 6.189 AP, 2007
[2!]
O aumento do nmero de transistores no c$ip devido ,ei de Moore e o
associado aumento da potncia consumida pelo c$ip, medida em <atts (Figura 5),
provocaram, quase que obrigatoriamente, a marcha para o multicore, como pode ser
visto na Figura 6.
33
Figura 6: A inexorvel jornada para o multicore
Fonte: MT Course 6.189 AP, 2007
[2!]
Estima-se que at o ano de 2012 j se possam construir c$ips com pro-
cesso de fabricao de 0,02 microns em pastilhas de 400 mm
2
com freqncias de
cloc5 de 13.5 GHz, conforme pode ser visto na Figura 7. Atualmente, o que est dis-
ponvel no mercado so os c$ips com tecnologia de fabricao CMOS de 45 nm e
3afer de 300 mm
2
com processadores multicore de at oito ncleos de vrios fabri-
cantes como ntel, AMD, Sun (com oito ncleos), BM com dois ncleos para proces-
sadores Power5+ e Power6 e nove ncleos com processadores CELL. Cabe lembrar
que, na microeletrnica, um 3afer uma fina fatia de material semicondutor, assim
como o cristal de silcio, na qual microcircuitos so construdos pela dopagem (por
exemplo, difuso ou implantao de ons), separao qumica com cidos, e deposi-
o de vrios materiais. <afers so importante chave para a construo de disposi-
tivos de semicondutores, assim como circuitos integrados. Eles so feitos de tama-
nhos variados, de cerca de 1 polegada (25,4 mm) at 11,8 polegadas (300mm) e es-
pessura da ordem de 0,5 mm. Geralmente, eles so provenientes do corte de uma
barra pura de um material cristalizado, usando-se para o corte uma serra de diaman-
te ou um fio desse mesmo material, e ento polidos em uma ou nas duas faces. Os
3afers fazem parte do resultado final do processo de fabricao de processadores
34
para computador: hoje em dia, aproximadamente cada 3afer gera 400 microproces-
sadores
[7;]
.
Figura 7: Evoluo da bitola equivalente do fio em ciclos de mquina
Fonte: MT Course 6.189 AP, 2007
[2!]
Como uma conseqncia imediata da chegada dos processadores multi'
core no mercado, motivada pelas necessidades de maior desempenho a custos de
consumo e gerenciamento energticos mais baixos e contornando problemas da F -
sica, parece inexorvel a extino dos processadores com um nico ncleo, ou sin'
glecore. Este movimento e tendncia podem ser avaliados conforma apresentado na
Figura 8.
35
Figura 8: Processador single core: em extino
Fonte: MT Course 6.189 AP, 2007
[2!]
Na verdade, j podem ser vistas e comprovadas as movimentaes do
mercado nesta direo desde os primeiros anos deste sculo, com concentraes e
forte tendncia aps 2004, conforme exposto na Figura 9, com destaque para MT
Raw (2004) no comercial, o BM CELL (2005) e o BM Power 6 (2006) neste pero-
do.
36
Figura 9: O singlecore tende a extino. O multicore floresce.
Fonte: MT Course 6.189 AP, 2007
[2!]
O problema fundamental que levou tecnologia de processadores multi'
core, como visto anteriormente, foi o da necessidade de se reduzir a potncia consu-
mida pelos processadores das geraes anteriores (Figura 10), cujas energias dissi -
padas j beiravam a temperaturas de reaes nucleares e, se levadas avante, tem-
peraturas equivalentes da superfcie solar (Figura 11), que seriam inimaginveis
ou de difcil implementao, inviabilizando novos projetos de fabricao de proces-
sadores. O multicore floresce na tentativa de contornar trs barreiras intransponveis
devido s limitaes da tecnologia CMOS: a de energia, a de potncia e de tamanho
de escala ou dimenses dos transistores na pastilha ou 3afer definidas pela Mecni-
ca Quntica
[28]
.
37
Figura 10: Problema fundamental: alta dissipao trmica
Fonte: MT Course 6.189 AP, 2007
[25]
Figura 11: Aquecimento das CPUs
Fonte: MT Course 6.189 AP, 2007
[25]
A causa fundamental do problema, apresentado nas figuras 10 e 11, est
na sua natureza fsica, pois a potncia consumida proporcional ao quadrado da
voltagem e a freqncia de operao. sto significa que para os processos de fabri -
38
cao de 65 nm os problemas de alimentao do processador e refrigerao seriam
intransponveis (Figura 12).
Figura 12: A gnesis do problema est na Fsica.
Fonte: MT Course 6.189 AP, 2007
[25]
Re-avaliando e analisando historicamente o problema, verificamos que o
mesmo j havia ocorrido desde o instante inicial da produo do primeiro processa-
dor nos idos de 1945 at data de 1990, com a insero do mainframe BM ES9000
(Figura 13).
39
Figura 13: A inviabilidade de se aumentar a freqncia indefinidamente
Fonte: MT Course 6.189 AP, 2007
[25]
Naquela oportunidade, ainda foi possvel uma quebra de paradigma base-
ada na introduo de uma nova tecnologia, findando assim a era dos processadores
com tecnologia Bipolar e surgindo uma nova era da tecnologia de processadores
CMOS. Mas, esta nova era com seu novo paradigma tecnolgico resistiu uns poucos
quinze anos, at 2005, e j demonstra as suas vulnerabilidades teoricamente previs-
tas, ou seja, necessita de ajustes tecnolgicos, como indicado pela Figura 14, que
chegado o momento. Estes ajustes tecnolgicos visam equilibrar melhor o balano
de energia, permitindo que alm de aumentar ligeiramente as freqncias de cada
ncleo, pode-se faz-lo minimizando o consumo energtico do processador como
um todo, assim garantindo um melhor desempenho do mesmo. Portanto, o novo pa-
radigma tecnolgico: o de multicore com processamento paralelo heterogneo se
vislumbra como o florescer desta novssima era do multicore e da computao para-
lela heterognea e de teraflops num des5top.
40
Figura 14: A histria se repete ou ns j vimos isto ocorrer anteriormente.
Fonte: MT Course 6.189 AP, 2007
[25]
Um dos melhores exemplos desta ruptura tecnolgica, que podemos exi -
bir, a do processador BM CELL, com suas diminutas dimenses, alta densidade
de transistores (cerca de 241 milhes), alta freqncia de operao (3.2 GHz), hete-
rogeneidade de processadores (1 PPE + 8 SPE) e altssimo desempenho (240
GFLOPS teoricamente). Um novo olhar tecnolgico se aproxima para iluminar nossa
viso. O CELL no pode esperar, nem ns podemos esperar o CELL (Figura 15).
41
Figura 15: As diminutas dimenses do processador CELL
Fonte: MT Course 6.189 AP, 2007
[25]
4.1 TAXONOMA DOS MULTCORES
Os multicores podem ser divididos em trs principais grupos, descritos na
seqncia:
MemGria #ompartil$ada2 Neste os processadores comparti-
lham uma nica memria comum, acessvel por todos os ncleos.
>ede #ompartil$ada2 Os ncleos compartilham internamente
um barramento exclusivo para comunicao entre eles prprios.
#rippled ou Minicores: Os ncleos ou minicores so desabilita-
dos de algumas funes bsicas para fins de simplificao e apro-
veitamento de projetos mais sofisticados em processadores mais
simples e mais baratos um tipo de desmembramento.
Memria Compartilhada Rede Compartilhada #rippled ou Minicores
42
ntel Yonah, AMD Opteron MT Raw ntel Tflops
BM Power 5 & 6 BM CELL PicoChips
Sun Niagara T1, T2
Tabela 1 Exemplos de processadores multicore
Fonte: MT Course 6.189 AP, 2007
[25]
Algumas das significativas caractersticas dos computadores listados na
Tabela 1 so detalhadas na Tabela 2, a seguir:
Processador Multicore Caractersticas
ntel Yonah, AMD Opteron Primeiro dualcore comercial da ntel, lanado em 2005, com 65 nm e
tambm com verso singlecore
BM Power 5 & 6 Processadores dualcore BM, sendo que o Power 6 pode atingir at
4.7 Ghz de cloc5, lanado em 2007 para servidores $ig$'end
Sun Niagara T1, T2 Denominado T1 pela Sun, possui 8 cores e 32 t$reads, enquanto o
modelo T2 possui 8 cores e 64 t$reads simultneas.
MT Raw Multicore experimental do MT com 16 cores com rede interna de
alta velocidade
BM CELL Bastante discutido neste trabalho, 9 cores heterogneos (1 PPE + 8
SPEs)
ntel Tflops Nome inicial para projeto ntel do processador com 80 cores
PicoChips Multicore heterogneo, constitudo de muitos microprocessadores
que podem ser desmembrados e agregados para constituir funes
de processamento especficas
Tabela 2 Caractersticas gerais de alguns processadores multicore
Fonte: Sites dos fabricantes (ntel [7], BM [8], Sun [25], MT [14])
43
5 GPU
GPU ou unidade de processamento grfico (?rap$ical ;rocessor =nit)
um dispositivo de renderizao grfica para PC, 3or5station ou console de jogos ele-
trnicos. As modernas GPUs so muito eficientes em manipular e exibir grficos
computadorizados e suas estruturas internas altamente paralelas as tornam mais efi -
cientes que as CPUs tpicas e convencionais, para uma faixa de algoritmos que re-
quisitam um intenso e massivo uso de clculos.
Uma GPU pode alojar-se numa placa de vdeo em separado ou estar inte-
grada na prpria placa me. Na Figura 16, temos exemplos de GPUs.
Figura 16: GPUs de mercado: Nvidia Quadro FX 5600 e AT (AMD) R600
Fonte: Sites dos fabricantes Nvidia
[9]
e AMD
[10]
As modernas GPUs so descendentes dos c$ips grficos monolticos dos
idos anos de 80 e 90 e possuem $ard3ares especializados, que so capazes de efe-
tuar a maior parte de operaes grficas 2D e operaes para traar retngulos,
tringulos, crculos e arcos. As mais recentes tambm j possuem suporte a 3D e ti -
picamente incluem funes relativas a processamento de vdeo digital.
Algumas GPUs podem fazer uso de DMAs (dispositivos de acesso direto
memria) para reduzir os tempos de loadArestore nos processadores dos $osts as-
sociados.
As GPUs surgiram da especializao de funes grficas e ainda hoje
esto para os processadores como os co-processadores das famlias inicias de x86,
44
ditos x87. Esta analogia ser crucial para entendimento das diferenas nos captulos
seguintes.
Hoje, as GPUs paralelas avanam contra mercados especficos domina-
dos pelas CPUs convencionais, como veremos, devido alta especializao de suas
funes, num elevado grau de paralelismo e acentuado poder de computao arit-
mtica.
O mercado de entretenimento formado pelos jogos eletrnicos e dese-
nhos animados em 3D foi o grande impulsionador das GPUs e aceleradores grfi -
cos, permitindo uma enorme capitalizao das duas principais empresas respons-
veis pelo desenvolvimento e comercializao de GPUs: Nvdea e AT (atualmente in-
corporada como uma diviso pela fabricante de processadores AMD).
5.1 FUNES COMPUTACONAS
As GPUs mais recentes usam a maior parte de seus transistores para efe-
tuar clculos relativos a grficos computacionais 3D. Elas foram inicialmente usadas
para acelerar o trabalho de mapeamento de texturas e renderizao de polgonos
com uso intensivo de memria, posteriormente foram adicionadas unidades para
acelerao de clculos geomtricos tais como as transformaes de vrtices entre
diferentes sistemas de coordenadas. Desenvolvimentos recentes, em GPUs, inclu-
em suporte para sombreamentos programveis, que podem manipular vrtices e
texturas com muitas das mesmas operaes suportadas pelas CPUs, com tcnicas
de extrapolao e interpolao para reduzir as distores, e com alta preciso no es-
pao de cores. Devido a maior parte destas computaes envolverem matrizes e ve-
tores, engenheiros e cientistas demandaram maiores estudos do uso de GPUs
para clculos no-grficos
[;;]
.
45
5.2 GPGPU
Um novo apelo comercial com a mudana de nome de GPU para GPG-
PU, busca efetuar um novo enquadramento das GPUs no mercado diretamente do-
minado pelas CPUs, pois quando estas so comparadas com os processadores con-
vencionais atuais so de desempenho muito superior para aplicaes especializadas
de diversas ordens, como as cientficas, que fazem uso intensivo de clculos aritm-
ticos e uma ntida paralelizao muito prpria e conveniente s arquiteturas das
GPUs existentes.
A ?eneral';urpose #omputing on ?rap$ics ;rocessing =nits (GPGPU),
ou GPU de fins gerais, uma recente tendncia que fora e incentiva o uso de
GPUs para efetuar computao no lugar de CPUs. A adio de estgios program-
veis e preciso aritmtica mais alta para pipelines de renderizao permitem aos de-
senvolvedores de soft3are usar as GPUs para aplicaes no relacionadas a grfi-
cos apenas. Pela explorao das arquiteturas extremamente paralelas das GPUs,
que usam a abordagem de processamento de stream (um stream uma seqncia
da dados que podem ser nmeros, cores, vetores RGBA, etc.), muitos problemas de
computao em tempo real podem ser acelerados consideravelmente
[;2]
.
Por muitos anos as funcionalidades das GPUs foram limitadas. De fato,
por muitos anos elas foram usadas para acelerar certas partes dos pipelines grfi-
cos. Algumas melhorias eram necessrias antes que a GPGPU se tornasse factvel.
A facilidade de programao e os tipos de dados foram as principais me-
lhorias acrescentadas as GPUs, para permitir sua melhor utilizao pelos desenvol -
vedores de jogos para obter efeitos mais realsticos. O desenvolvedor no precisa fi -
car muito preocupado em portar seu programa para GPUs, pois no uma tarefa
to difcil quanto no caso do processador CELL, mas, com relao s estruturas de
dados, estas sim precisam ser mais bem detalhadas e compreendidas.
46
5.2.1 CONCETOS DE PROGRAMAO EM GPGPU
As GPUs so projetadas especificamente para grficos e assim so muito
restritas em termos de operaes e programao. Por causa de sua natureza, as
GPUs no so eficientes para lidar com problemas que podem ser resolvidos usan-
do-se processamento de stream e o $ard3are s pode ser usado em certas
ocasies
[;;]
.
PROCESSAMENTO 90>6AM
As GPUs s podem processar vrtices e fragmentos independentes, mas
podem processar muitos deles em paralelo. Portanto, especialmente eficiente
quando o programador quer processar muitos vrtices da mesma forma. Neste senti-
do, as GPUs so stream processadas -- os processadores que podem operar em
paralelo pela execuo de um nico 5ernel ou muitos registros num mesmo stream
de uma nica vez.
Um stream simplesmente um conjunto de registros de computao simi-
lar. Nas GPUs, vrtices e fragmentos so elementos no stream e vrtices e sombre-
adores de fragmentos so os 5ernels a serem executados sobre eles. Logo, as
GPUs processam elementos independentemente, se os dados so compartilhados
ou estticos. Para cada elemento s podemos l-lo da entrada, efetuar operaes
sobre ele, e grav-lo na sada. So permitidas mltiplas entradas e mltiplas sadas,
mas nunca um pedao de memria que de leitura e gravao simultaneamente.
Aritmtica intensiva definida como a operao executada por palavra de
memria transferida. importante para aplicaes GPGPU que se tenha aritmtica
intensiva ou a latncia de acesso memria limitar a velocidade de computao.
47
Aplicaes ideais para GPGPU possuem grandes arquivos, alto paralelis-
mo, e mnima dependncia entre os elementos de dados.
5.3 PORQUE USAR GPGPU?
As GPUs hoje so bens de consumo praticamente adquirveis e vend-
veis como commodities (produtos de prateleira) e possuem preos relativos muitos
baixos, sendo o melhor e mais poderoso $ard3are computacional mensurado em
GFLOPS pelo menor custo, ou seja, o melhor valor por dlar empregado. Portanto,
tem sido uma excelente opo de todos que dos seus recursos necessitam para
suas aplicaes extensveis um pouco alm de suas caractersticas especficas de
processamento grfico, com vrias aplicaes de fins gerais sendo portadas para as
GPUs, graas as suas novssimas caractersticas de facilidade de programao, ou
"programabilidade como denominaremos doravante neste trabalho, e uma enorme
largura de banda de memria. No somente o $ard3are rpido, mas tambm as
suas atualizaes e novas tecnologias esto sendo disponibilizadas mais rapida-
mente que a tecnologia de seu concorrente, as CPUs, com disponibilizao de dei'
ce driers (programas acionadores dos dispositivos que permitem a utilizao dos
mesmos pelo sistema operacional e aplicaes dos usurios) rapidamente para sis-
temas ,inux e Windows
[8]
.
48
Figura 17: Acelerada evoluo do poder computacional das GPUs
Fonte: Tutorial sobre GPU de Mike Houston na SGGRAPH 2007
[26]
As GPUs so onipresentes e economicamente menos custosas, ou seja,
esto em todos os dispositivos: placas grficas, des5tops, noteboo5s, PDAs, celula-
res, etc. Atualmente j alcanaram um bom nvel de maturidade tecnolgica e cient -
fica.
Na Figura 17, podemos observar que num curto espao de tempo, de
2001 a 2007, as GPU no apenas aumentaram seu desempenho centenas de vezes
como tambm o fizeram com uma velocidade muito maior que as CPUs, que alm
de crescer muito pouco em termos de desempenho, no mesmo perodo, tambm o
fizeram de modo muito lento relativamente as GPUs, isto no que se refere s suas
aplicaes grficas especficas, claro.
49
5.4 TCNCAS GPGPU
As tcnicas bsicas de operao com GPUs so aplicadas em computa-
o grfica para renderizao de figuras 2D utilizando primitivas grficas para traar
retngulos, tringulos, crculos, arcos, preenchendo reas, processando vrtices e
fragmentos, etc. E, tambm como texturizao, iluminao e suavizao para figuras
3D nas modernas GPUs, alm de inclurem funes relacionadas a processamento
de vdeo digital.
5.4.1 CLASSFCAO DAS OPERAES DAS GPUS
PROCESSAMENTO 90>6AM
As GPUs [49] podem processar vrtices e fragmentos em separado mas
podem faz-lo em muitos desses e de modo paralelo ao mesmo tempo, ou seja, o
desempenho das GPUs podem ser muito acelerado em comparao as CPUs, pois
as GPUs so processadores de streams, isto , processadores que podem operar
em paralelo pela execuo em um nico 5ernel de muitos registros num mesmo
stream de cada vez.
50
MA;6AM6!0O
A operao de mapeamento simplesmente aplica uma dada funo (um
5ernel) a todo o elemento no stream. Como, por exemplo, o aumento do brilho de
uma imagem com a aplicao de um fator constante a cada valor num stream. A
operao de mapeamento de simples aplicao na GPU. O programador gera um
fragmento para cada pixel na tela e aplica o programa fragmento a cada um. O stre'
am resultante do mesmo tamanho do armazenado no buffer de sada.
>67=HIO
Algumas computaes requerem o clculo de um stream pequeno (possi-
velmente um stream de um elemento a partir de um stream muito maior). Esta ope-
rao chamada de redu(o. Geralmente, uma redu(o pode ser obtida em mlti-
plos passos. Os resultados dos passos anteriores so usados como entradas para
os passos seguintes e o resultado final destas operaes reduzido at que se atin-
ja um elemento restante.
9#A006>
A operao de scatter mais naturalmente definida sobre um processa-
dor de vrtices. O processador de vrtices capaz de ajustar as posies dos vrti -
ces, o que permite ao programador controlar onde a informao ser armazenada
no grid (rede de pontos que formam uma malha bidimensional retangular ou tridi -
mensional cbica).
51
?A0&6>
O processador de fragmentos capaz de ler texturas num modo de aces-
so aleatrio, tal que pode obter informao de qualquer clula do grid, ou mltiplas
clulas, se assim o desejar.
-:,0>O9 76 90>6AM
Um stream filter essencialmente uma re$'>?% no-uniforme. A filtragem
envolve a remoo de itens do stream baseada em algum critrio.
9O>0
A operao sort (classificar, ordenar) transforma um conjunto desordena-
do de elementos em um conjunto ordenado de elementos.
96A>#&
A operao searc$ (busca, procura) permite ao programador encontrar
um elemento particular num stream, ou possivelmente encontrar vizinhos de um ele-
mento especfico. A GPU no usada para acelerar a busca de um elemento indivi -
dual, mas sim executar buscas mltiplas em paralelo.
52
5.5 ESTRUTURA DE DADOS
As estruturas de dados das GPUs so bem conhecidas e descendentes
diretas da representao de dados grficos para texturizao, renderizao, buferi'
za(o, etc. Permitem representar dados estruturados como vetores em uma, duas
ou trs dimenses (1D, 2D ou 3D) de forma direta (1D ou 2D) e indireta (3D) mas
com limitaes dependentes da memria da GPU.
5.6 APLCAES EM GPGPU
As aplicaes para GPPGUs foram desenvolvidas inicialmente para as
necessidade de computao grfica. Essencialmente: translaes, rotaes, texturi-
zao, rasterizao, iluminao e todos os aplicativos dependentes destes procedi -
mentos como: grficos 2D e 3D, otimizao geomtrica, multiplicao matricial, pro-
cessamento de sinal, etc. Posteriormente, desenvolveram-se, graas a novos algorit-
mos e novas potencialidades e performance das novas GPGPUs algoritmos para
sistemas de partculas, dinmica de fluidos, processamento de vdeo, dinmica mo-
lecular, simulao fsica, >a1'0racing (traado de raios), etc. A extenso de aplica-
es de computao de alto desempenho (HPC) para GPU muito recente e possui
um amplo espectro sua frente como, por exemplo, processamento ssmico, FFT
3D, dinmica das nuvens, imagens mdicas, etc. Novas aplicaes so esperadas
mas restringe-se ao processamento de ponto fixo ou ponto-flutuante simples, ou
seja, processamento com dados numricos do tipo inteiro ou que necessitem de bai -
xa preciso de clculo ou poucas casas decimais de resultados.
A@,i)#>Ae& e+ GPGPU
53
Anlise de 7ados 7inJmica das !uens
Otimiza(o ?eomtrica %iomdica
9imula(o -/sica 7inJmica dos -lu/dos
Multiplica(o Matricial >econ$ecimento de .oz
9istema de ;art/culas ;rocessamento de ./deo
9imula(o do #ampo de -or(as --0 B7
7inJmica Molecular Anlise ,xica
7esen$o de ?rafos Aalia(o ;olinomial
;rocessamento de 9inal ;rocessamento 9/smico
?rficos #ompara(o de 9trings
>a1'0racing )0ra(ado de >aios+ :magens Mdicas
Tabela 3 Algumas aplicaes para GPGPUs
Fonte: http://www.cis.upenn.edu/~suvenkat/!!/.
[28]
5.7 DAGRAMA DE BLOCOS DA GPU
Na Figura 18, podemos verificar os detalhes arquiteturais da GPU da
Nvidia, modelo Nvidiia GeForce 8800. Existem muitos elementos na pastilha da pla-
ca grfica ou GPU. Estes elementos, esquematicamente podem ser visualizados no
diagrama de blocos mostrado na mesma Figura 18. Os blocos verdes marcados
com "SP e arranjados em grupos de 16 so o que a Nvidia denomina " stream pro'
cessors (processadores de stream). A arquitetura G80 da Nvidiia, da qual faz parte
a GeForce 8800, possui oito grupos de SPs, num total de 128 processadores de
stream. Existem sombreadores de pixels e vrtices mas existem processadores, de
ponto flutuante, capazes de operar sobre vrtices, pixel ou outros tipos de dados. A
maior parte das GPUs operam sobre dados de pixel na forma de vetor emitindo ins-
trues concorrentes sobre mltiplos componentes de cor de um pixel (tais como
vermelho, verde, azul ou alfa), mas os processadores stream da arquitetura G80 so
54
escalares cada SP manipula um componente. Os SPs podem ser redirecionados
para manipular dados de vrtices (ou outras coisas) dinamicamente, de acordo com
a demanda. Tambm, diferentemente dos processadores de grficos tradicionais,
aqueles cujas freqncias devem estar prximas a 600 MHz ou superior, estes
possuem velocidade de cloc5 prximas a freqncias de 1,35 GHz, dando a
GeForce 8800 um tremendo poder de processamento de ponto flutuante. A maior
parte do restante do chip trabalha a uma freqncia independente e mais convenci-
onal, da ordem de 575 MHz.
Abaixo dos oito clusters, encontra-se o chaveamento do barramento (os
pedaos com todas as linhas e setas) que conectam os clusters s seis parties
ROP. Cada partio ROP tem sua prpria memria cac$e L2 e uma interface me-
mria grfica (ou frame buffer, indicada pelo rtulo "FB) que tem 64 bits de largura.
No total, isto fornece 384 bits de largura para a memria.
Cada conjunto de 16 SPs formado por dois grupos de oito SPs. Cada
grupo tem seu prprio endereamento de textura (TA) e unidades de filtragem (TF,
blocos azuis) e seu prprio pool de cac$e L1. Alm do cac$e L1, existe uma cone-
xo de barramento que leva s unidades ROP, com seus cac$es L2 e conexes
memria principal.
55
Figura 18 Diagrama de blocos das unidades de processamento das GPUs
Fonte: Course of Stanford University CS448-07-spring
[5]
5.8 PRNCPAS LNGUAGENS PARA USO EM GPUS
Historicamente, as principais linguagens para desenvolvimento especfico
de programas para GPUs so: %roo5, #g, ?,9,, &,9,, 9$
[5;]
Existem muitos pacotes de desenvolvimento de software (SDK)
para programadores desenvolverem aplicaes para GPUs. O principal deles, atual -
mente, o CUDA (#omputer =nified 7eelopment Arc$itecture), desenvolvido pela
empresa Nvidia e, ao que tudo indica, passar a ser o padro. Outro pacote de de-
56
senvolvimento para GPU prometido pelo fabricante AMD o CTM (#lose to 0$e Me'
tal) mas, ao que tudo indica, tender a aderncia ao padro CUDA da Nvidia por
motivos de racionalidade, evitando competies que enfraqueceriam o mercado nes-
te nicho de mercado com rea to especfica [42].
6 CELL
6.1 UMA HSTRA ROMNTCA
O conceito de CELL foi criado pela Sony Computer Entertainment nc., do
Japo, para Sony ;la19tation B. A gnese da idia foi em 1999 quando o japons
Ken Kuratagi da Sony [Kuratage], "pai do PlayStation 3, imaginou um computador
que atuasse como uma clula num sistema biolgico. Uma patente foi aplicada em
nome de Masakazu Suzuoki e Takeshi Yamazaki como inventores em 2002. Segun-
do o prprio Kuratage
[52]
,
6mbora endido como uma console de 8ogo, o "ue ai de fato
entrar na casa um computador baseado em clula.
6.2 DA MAGNAO REALDADE
No vero de 2000 em Tquio, Japo, as empresas BM, Sony SCE e
Toshiba, com o objetivo de iniciar um projeto de uma nova e revolucionria micro-ar-
quitetura de processador, visando s futuras necessidades interativas de processa-
57
mento e objetivando alcanar desempenho 1000 vezes superior ao daquele momen-
to, considerando-se a arquitetura computacional vigente insatisfatria para as neces-
sidades computacionais projetadas para os dispositivos interativos do futuro prxi -
mo. Ficou a cargo da diviso de pesquisa da BM a responsabilidade pela aborda-
gem de uma nova organizao de projeto, levando em conta o estado da arte do
processo tecnolgico de 90 nm com silcio-sobre-isolante (SO), dieltricos com bai -
xo-k (pequena constante dieltrica relativa ao dixido de silcio SiO
2
) e intercone-
xes de cobre. J em sua concepo inicial pretendia-se uma fortssima capacidade
de processamento central, para sistemas de entretenimento,. juntamente com uma
interconexo de broadband (banda larga) e estruturas de super computadores. Vri-
as propostas foram discutidas, todas multicore, indo de c$ips multiprocessados at
multiprocessadores orientados a fluxos de dados (streams)
No final daquele ano acordou-se que a arquitetura aprovada seria uma
combinao da arquitetura BM Power de 64 bits com processadores "sinergticos a
fim de obter a densidade e a eficincia de potncia necessria aos requisitos compu-
tacionais desejados.
Aps meses de discusso arquitetural e negociaes contratuais, consti-
tui-se uma 8oint enture denominada ST (Sony SCE Toshiba - BM) localizada em
Austin, Texas, Estados Unidos, e com investimentos de 400 milhes de dlares e
cerca de 400 cientistas alocados ao projeto em maro de 2001.
Os objetivos e desafios do projeto foram: excelncia em performance, es-
pecialmente em jogos e aplicaes multimdia; tempos de resposta para usurio e
rede compatvel com sistemas em tempo real; aplicabilidade a um vasto intervalo de
plataformas; e, suporte para ser introduzido em 2005
[27]
.
Uma nova arquitetura denominada %roadband ;rocessor Arc$itecture, es-
tende a arquitetura Power de 64 bits com a cooperao de processadores de alvio
("ditos processadores sinergticos), com acesso direto memria (DMA) e meca-
nismos de sincronizao de comunicao com os mesmos ("Memor1 -lo3 #ontrol),
e com melhorias para gerenciamento de tempo-real. A primeira gerao do proces-
sador CELL combina dual-t$readed, dual'issue, arquitetura Power 64-bit compatvel.
58
O ;o3er ;rocessor 6lement (PPE) com oito novssimas arquiteturas 91nergistic
;rocessor 6lement (SPEs), o controlador de memria no c$ip (,9 K local storage ''
memria local) e contando com um controlador para interface de /O configurvel.
Estas unidades so interconectadas com um elemento de barramento de intercone-
xo coerente no prprio c$ip (EB). Suporte extensivo para funes pervasivas, tais
como: po3er'on, teste, depurao de $ard3are no c$ip, e funes de monitorao e
performance tambm esto includas
[27]
.
As caractersticas bsicas lgicas e fsicas do processador CELL esto
descritas na Figura 19.
Figura 19: Caractersticas gerais de um CELL
Fonte: MT Course 6.189 AP, 2007
[25]
59
Os atributos chave deste conceito so
[27]
:
Um projeto para altas freqncias, pequeno nmero
de portas por ciclo, permitindo ao processador operar a baixa voltagem e
baixa potncia enquanto mantm alta freqncia e alta performance.
Compatibilidade com arquitetura BM Power para
fornecer um ponto de entrada convencional para programadores, para vir-
tualizao, suporte a mltiplos sistemas operacionais e habilitado a utilizar
a experincia BM em projetar e verificar multiprocessadores simtricos.
Arquitetura SMD (9ingle :nstruction, Multiple 7ata),
suportado para ambas as extenses de mdias vetoriais em PPE e conjun-
tos de instrues no SPEs, como um dos meios de melhorar o desempe-
nho em jogos / mdia e aplicaes cientficas, aumentando-se a eficincia
consumo / dissipao de energia.
A eficincia de potncia e rea do PPE, que suporta
o projeto de alta freqncia.
SPEs para alvio coerente. SPEs possuem memria
local, DMA assncrono coerente, e um grande nmero de registradores
unificados para melhorar a largura e para um novo nvel de eficincia de
potncia e desempenho combinados. Os SPEs so dinamicamente confi-
gurveis para suportar a proteo de contedo e privacidade.
Um barramento coerente com alta largura de banda
e tambm uma alta largura de banda de memria para permitir eficincia e
desempenho s aplicaes que deles necessitarem para fazer uso intensi-
vo e para permitir interaes no c$ip atravs da alta largura de banda de
comunicao entre os elementos do processador. O barramento coeren-
te para permitir que um nico espao de endereamento seja compartilha-
do pelos PPEs e SPEs, visando eficincia de comunicao e facilidade de
programao.
60
Alta largura de banda de /O flexvel e configurvel
para suportar um grande nmero de sistemas operacionais, incluindo con-
figurao num nico c$ip com interfaces duais e desacopladas com coe-
rente configurao dual-processada que no requer c$ips adicionais de
chaveamento para conectar os dois processadores.
mplementao modular totalmente configurvel
para maximizar performance por 3att e performance por milmetro quadra-
do de silcio, alm de facilitar o projeto de produtos derivados.
Suporte extensvel para gerenciamento de potncia
e dissipao trmica do c$ip, testes de fabricao, $ard3are e soft3are de
depurao, e anlise de performance.
Alta performance, baixo custo da tecnologia de em-
pacotamento.
Alta performance, baixa potncia com tecnologia
SO de 90 nm.
Em sntese, temos:
Projeto de alta freqncia e baixa voltagem.
Compatibilidade com arquitetura Power 64 bit.
Arquitetura Single nstruction Multiple Data (SMD).
Elemento de Processamento Power (PPE).
Elemento de Processamento Sinergtico (SPE).
Alta largura de banda coerente de fabrica no c$ip e alta largura
de banda de memria.
Alta largura de banda de /O flexvel.
61
mplementao totalmente reconfigurvel.
Funcionalidade perasia (notvel, que se espalha) extensiva.
Alta performance, baixo custo de tecnologia de empacotamen-
to.
Alta performance e baixa potncia com tecnologia CMOS SO.
Modelo e facilidades de programao:
o Modelo de funo de relaxamento.
o Modelo de extenso de dispositivo.
o Modelo de acelerao computacional.
o Modelos de streaming.
o Modelo multiprocessador com memria compartilhada.
o Modelo de t$read assimtrica em tempo de execuo.
Os elementos componentes bsicos do processador CELL, que podem
ser vistos na Figura 20, so:
1 ;o3er ;rocessor 6lement (PPE).
8 91nergistic ;rocessor 6lements (SPEs).
6lement :nterconnect %us (EB).
62
Controladores de Acesso Direto Memria (DMAs).
2 controladores de memria >ambus XDR.
nterfaces de (nput/Output) Rambus FlexO.
Figura 20: Fotografia da pastilha de um processador CELL
Fonte: MT Courrse 6.189 AP, 2007
[25]
Na Figura 20, podemos observar os componentes fsicos do processador
CELL na pastilha, e que a pastilha do CELL formada por 1 PPE + 8 SPE, com uma
interconexo EB e um cach L2, dentre outros elementos como a controladora de
Entrada e Sada, duas interfaces de memria XDRAM, o controlador de memria e
o FlexO do tipo >ambus alm do circuito lgico para depurao e teste.
63
6.3 DSPOSTVOS DE VETORZAO DO CELL
AltiVec (VMX BM ou 6ngine .elocit1 Apple)
O Alti.ec uma mquina SMD e uma extenso para o conjunto de ins-
trues do BM PowerPC, projetado para melhorar o desempenho de qualquer apli -
cao que explore o paralelismo em nvel de dado
[55]
. Alti.ec usado para aumen-
tar o desempenho no processamento de aplicaes de udio, vdeo e comunicao.
Para fazer uso do Alti.ec, o desenvolvedor no precisa necessariamente reescre-
ver o cdigo inteiro da aplicao, mas a aplicao deve ser reprogramada ou, no m -
nimo, recompilada. Aplicaes que usam o Alti.ec no requerem que sejam escritas
em Assembler (linguagem de mquina). possvel usar as linguagens de alto nvel
C, C++ ou C Orientado a Objeto para facilitar o uso do Alti.ec.
ALTVEC NO PPE
Um outro interessante fato sobre o PPE que ele inclui suporte para as
instrues vetoriais VMX (tambm conhecidas como Alti.ec ou ".elocit1 6ngine
devido a Apple, descrito no pargrafo anterior). O VMX acelera de clculos financei-
ros a funes do sistema operacional apesar de que (mesmos nos equivalentes dos
PCs) no aparente ser usado atualmente. Uma empresa que usa extensivamente o
VMX a Apple, que a usa para acelerar as funes de seu sistema operacional OS
X, e no daria muito trabalho para a Apple utilizar o elemento PPE do processador
CELL se assim o deseja-se
[52]
.
64
AltiVec no SPE
Os SPEs so processadores vetoriais (ou SMD). sto , eles efetuam
mltiplas operaes simultaneamente numa nica instruo. A computao vetorial
existe nos supercomputadores desde os idos de 1970 (o computador Cray 1 foi o
primeiro a usar essa tcnica) e modernas CPUs tm aceleradores de mdias (isto ,
MMX, SSE, VMX / Alti.ec) que funcionam com o mesmo princpio. Cada SPE ca-
paz de executar 4 operaes de 32 bits cada por ciclo de instruo (8 se levarmos
em conta multiplicar-somar). A fim de tirar vantagem dos SPEs, os programas execu-
tveis precisam ser "etorizados, isto pode ser feito em muitas reas de aplicao
como vdeo, udio, grficos 3D, memria principal (eles podem mover os dados en-
tre as memrias locais dos SPEs)
[52]
.
Enquanto os processadores convencionais tm unidades vetoriais na pla-
ca (SSE ou VMX / AltiVec) eles no esto dedicados a processadores vetoriais. A ca-
pacidade de processamento vetorial agregada ao conjunto de instrues existente
e tem que compartilhar os recursos de CPU. J os SPEs so dedicados a processa-
dores vetoriais de alta velocidade e com sua prpria memria, no necessitando
compartilhar qualquer outro recurso seno a memria (e nem mesmo esta se a mai-
or parte dos dados puder se ajustar ou estar contido completamente em sua mem-
ria local). Alm desse fato, existem oito deles, SPEs, e portanto, podemos perceber
porque o seu potencial computacional to grande.
Tal discrepante diferena de desempenho soa parecer ridculo mas, na
verdade, j est presente nas modernas placas grficas de sistemas existentes com
capacidade anloga de processamento como, por exemplo, as Nvidia GTX 8800.
Existem GPUs que j podem fornecer um poderoso processamento maciamente
paralelo, quando programadas propriamente mas isto no exatamente uma tarefa
fcil. A diferena com o processador BM CELL, conforme alegam seus defensores,
que este, num futuro prximo, ser mais barato, consideravelmente mais fcil de
programar e ser usado para uma vasta classe de problemas. Esta afirmativa no
parece estar longe da verdade, pois a @oin .enture ST (Sony-Toshiba-BM) preten-
65
de embarcar no apenas a atual gerao de 9on1 ;la19tation B mas as seguintes,
como tambm as TVs de alta definio (HDTV), os dispositivos de disco rgido de
alta definio HD BlueRay, os HD DVDs tambm de alta definio, dentre outros que
surgiro, enquanto as GPUs ficaro, no mximo, confinadas a placas grficas de-
pendentes de $osts para terem seus servios disponibilizados alm de preos talvez
no competitivos devidos a fatores de economia de escala de produo
[52]
.
6.4 DESENVOLVMENTO PARA O CELL
Enquanto desenvolver para o processador CELL poderia soar como uma
forma esquisita de tortura, na verdade, isto no bem o caso. Se pudermos com-
preender o desenvolvimento de programao para multit$reading, gerenciamento de
cac$e e SSE / VMX / AltiVec, parece que no teremos problemas com o CELL.
A linguagem primria para desenvolvimento no CELL esperada a lingua-
gem C com tcnicas de sincronizao de t$read normais usadas para controlar a
execuo de diferentes cores. A linguagem C++ tambm suportada num certo
grau e outras linguagens tambm esto em desenvolvimento (incluindo, aparente-
mente, FORTRAN).
Vrios sistemas esto em desenvolvimento para controlar a execuo em
CELL, tal que os desenvolvedores devero ter uma plenitude de opes, comparvel
ao desenvolvimento do 9on1 ;la19tation L (PS2), que era primariamente feito em
assembl1 (instrues em linguagem de mquina) e era altamente restritivo e, hoje, j
existem centenas de jogos para este sofisticado $ard3are de console de jogos.
A distribuio de tarefas para os SPEs, que funcionam como aliviadores
de carga dos PPEs, pode ser manuseada pelo sistema operacional ou middle3are
(middle3are um soft3are que faz a mediao entre diversos tipos de $ard3are e
soft3are em uma rede, de modo a possibilitar a integrao de seus aplicativos). Esta
66
distribuio de tarefas pode ser implementada compilando-se as aplicaes ou
mesmo, de modo corajoso, desenvolvendo-ser a aplicao diretamente na prpria
linguagem de mquina (assembl1) do CELL atravs de instrues diretas do PPE e
SPEs, sendo responsabilidade do desenvolvedor fazer fluir seu prprio sistema.
Prometem os fabricantes, que os SPEs sero dinamicamente selecionveis e
acionados, e que os desenvolvedores no necessitaro se preocupar com o que os
SPEs esto fazendo.
O fabricante Toshiba est desenvolvendo soft3are para executar CELL
em seus bens de consumo. Eles falaram em um sistema operacional sob medida
para seus produtos (atualmente, uma verso de Linux adequada) no qual as tarefas
so divididas entre os "mdulos dos SPEs e do PPE. Cada mdulo do SPE uma
subtarefa que pode operar usando um ou mais SPEs, dependendo do poder com-
putacional requerido, os mdulos tambm podem trocar dados via stream uns com
os outros
[5=]
.
6.5 O PROCESSADOR CELL DE FM GERAL?
O CELL foi projetado como um processador de fim geral, mas otimizado
para tarefas que requeiram o uso de computao intensiva. O PPE um processa-
dor convencional e continua agindo como tal. A grande diferena estar nos SPEs,
como foram projetados para acelerar tipos especficos de cdigos e sero notavel -
mente melhores e mais eficientes em algumas reas do que em outras, mesmo que
os SPEs no sejam de fim geral. O CELL em sua essncia voltado para executar
todos os programas a velocidades moderadas com capacidade para mudar para
execuo a altas velocidades para certos tipos de cdigos
[2;]
.
O PPE um core de fim geral e no deve apresentar problemas para a
maioria dos cdigos. Diz-se que o PPE tem uma arquitetura simplificada quando
comparada com outros processadores de des5tops e parecem ter razo, no pela
67
pelo baixo desempenho mas pelo baixo desempenho em cdigos voltados para fins
gerais. Devemos tomar cuidado com esta afirmao porque esse cdigo pode ou
no ser de fim geral. Alguns fazem uma vaga referncia perda de capacidade do
$ard3are de executar instrues B%r# $e %r$e+ ou limitada capacidade de predio
de desvios
[2;]
.
Esta relativa simplicidade pode ser desvantajosa em alguns casos. Entre-
tanto, o PPE no existe isoladamente e ser capaz de deslocar o trabalho pesado
para os SPEs. Mesmo que a diferena de desempenho transferida seja maior do
que a perda devido a simplificao.
6.6 A ARQUTETURA RSC ATACA NOVAMENTE
A tendncia nas CPUs dos ltimos 15 anos tem sido aumentar o desem-
penho no apenas aumentando a taxa da freqncia do processador mas, tambm,
aumentando o nmero de instrues por ciclo (PC). Os projetistas tm usado tran-
sistores adicionais a cada processo de miniaturizao para criar adicionalmente m-
quinas mais sofisticadas, que podem executar mais e mais instrues indo at ao re-
quinte de execut-las fora de ordem. Muitas CPUs de modernos des5tops fazem
isso, exceto alguns processadores Transmeta, VA e :tanium da ntel. A execuo fo-
ra-de-ordem uma raridade nos dispositivos embarcados com processadores devi-
do as consideraes de consumo de energia no o permitirem.
O PPE completamente diferente, entretanto. Ele usa um projeto muito
simples e no contm nenhum $ard3are de previso de execuo fora de ordem, o
que completamente oposto abordagem do ltimo core do PowerPC, o 970FX,
tambm conhecido como G5.
68
A razo para a completa mudana na direo da filosofia do
projeto devido aos projetistas estarem se deparando agora com as limitaes fsi -
cas da CPU. As CPUs, que executam instrues fora de ordem, so altamente com-
plexas e usam um grande nmero de transistores para alcanar seus objetivos, es-
tes requerem muita energia e, portanto, necessitam de resfriamento para a energia
dissipada. O resfriamento se torna um problema crescente medida que os transis-
tores comeam a perder eltrons transformando parte da potncia consumida mes-
mo quando no esto em uso ativo. Este problema comum a todos os fabricantes
de CPUs de des5tops e estes tentam ganhar mais desempenho aumentando as ve-
locidades dos cloc5s dos processadores e so levados, ao invs disso, a uma abor-
dagem de multicore. Aqueles que ainda no foram levados a esta simplificao, cer-
tamente o sero, conforme a tendncia de multicore dos fabricantes comprova estes
fatos [21].
7 DFERENAS ENTRE O PROCESSADOR CELL E GPUS
As diferenas fundamentais entre o processador BM ST CELL e as
GPUs so intrnsecas e fundamentais que vo desde suas concepes arquiteturais
at as suas pretenses mercadolgicas e econmicas, ou seja, j nasceram distin-
tas e no convergiro para um foco comum. Enquanto as GPUs, querendo ou no,
representam uma sofisticadssima evoluo dos co-processadores matemticos,
como assim se apresentam para efeito de simplicidade, e pertencem categoria de
processadores de fins especficos, o processador CELL prope-se a ser de fins ge-
rais desde sua concepo e no nem se pretende ser evoluo de uma arquitetura
existente e sim uma nova e revolucionria arquitetura de multicore heterognea com
uma rede interna de alta velocidade entre os seus ncleos, acrescido do legado BM
Power 64 bits no PPE e com memria distribuda nos SPEs do prprio processador,
podendo todos estes ltimos elementos acessar diretamente a memria principal via
DMA ou trocar dados entre as memrias locais e a principal a altssimas velocida-
des num barramento de at 300 GB/s (giga bytes por segundo).
69
A conseqncia fundamental das diferenas, acima expostas, que isto
implica numa maior complexidade de desenvolvimento de soft3are, bibliotecas,
compiladores e, portanto, programas para os processadores CELL.
As GPUs possuem uma grande presena de mercado. De fato, so de
mais fcil programao, com as novas caractersticas, sem grandes traumas para os
desenvolvedores. Praticamente dominam o mercado de jogos e a industria do entre-
tenimento como os desenhos animados. Mas, como podemos exemplificar com os
principais fabricantes de $ard3are para jogos eletrnicos com seus produtos como
Microsoft Xbox 360, Sony ;la19tation PS3 e Nintendo Wii, j se utilizam todos eles
de processadores BM multicore de distintas geraes, tendo a Sony o privilgio de
ter o seu PS3 como sendo o primeiro produto de mercado com o processador CELL,
graas aos frutos da parceria ST (Sony-Toshiba-BM). sto , de fato, fora do circuito
das GPUs em placas grficas para PCs, principalmente para os jogos eletrnicos,
existe um domnio completo de processadores BM na indstria de jogos
eletrnicos
[34]
e com suas consoles apresentadas na Figura 21.
Figura 21 Jogos de mercado: Sony PS3, Microsoft Xbox 360 e Nintendo Wii
Fonte: Sites dos fabricantes Microsoft
[57]
, Sony
[;8]
e Nintendo
[5!]

70
As conseqncias econmicas da parceria ST sero importantssimas
para toda a economia de escala de produo e comercializao de produtos com o
processador CELL internalizados. Tudo indica que os parceiros desejam embutir o
processador CELL em todo e qualquer eletro-eletrnico de suas indstrias o que im-
plicar numa gigantesca economia de escala para todos, em especial para os con-
sumidores, permitindo-se assim que as mais avanadas tecnologias estejam dispo-
nveis em muitas das atualmente primordiais ferramentas dos seres humanos em
toda e qualquer parte do globo terrestre ou mesmo fora deste. As dimenses, consu-
mo eltrico e necessidades de refrigerao foram concebidas para tal, aguardando
apenas o transcurso natural da mudana definitiva do paradigma de programao
seqencial para a programao paralela como pr-requisito fundamental da transi -
o tecnolgica.
E quanto as GPUs? Bem, os movimentos que se podem observar indicam
que os defensores ideolgicos ou comerciais das GPUs no buscam se comparar
com processador CELL mas sim com aqueles processadores que consideram seu
adversrio natural: as CPUs convencionais, com um ou poucos ncleos. Tudo leva a
crer que a maior interessada nesta contenda, as fabricantes de processadores ntel
a fabricante AMD, reagiro e procuraro reverter o jogo a seu favor, se assim o de-
sejarem. A esta incurso invasiva das GPUs, que se pretendem muito superiores em
preo e desempenho e se qualificam como sendo de fins gerais, quando compara-
das com as CPUs convencionais
[;2]
, preciso dar um tempo e aguardar o desenro-
lar dos fatos para se verificar se concretizar ou se no ser apenas um apelo de
marketing. A tendncia, sob uma tica simplificada, seria a insero de funcionalida-
des e facilidades de programao de GPUs em CPUs via insero nos c$ips de
nova gerao e tecnologia de 45nm ou de dimenso inferior ou nas modernas pla-
cas me que ho de vir, como abordaremos em captulo especfico frente.
Cabe, ainda, ressaltar a dependncia fundamental das GPUs em funo
das CPUs, sem as quais tornam-se produtos inoperantes e inteis. Sem dvida, vis-
tas por esta tica, no so to mais baratas assim, pois no so autnomas e enca-
recem mais ainda os des5tops, laptops ou outros dispositivos que as utilizem. O pro-
blema fundamental das GPUs no o de se tornarem mais especializadas ainda,
71
muito pelo contrrio, de buscarem se fazer e comportar de modo tal que sejam de
uso geral e no especificamente para o processamento grfico. Sabedores dos prs
e contras das prprias GPUs, e das fragilidades das CPUs convencionais, conve-
niente do ponto de vista comercial, tentar conquistar novos mercados e territrios co-
merciais, que no os j quase que exclusivamente dominados pelas GPUs como o
de computao grfica (na indstria de entretenimento: desenhos animados, jogos
eletrnicos em PCs, filmes, etc).
8 RUDMENTOS DE SOFTWARE PARA GPUS
A GPU altamente especializada para computao intensiva e paraleliza-
da, devido a sua origem voltada para o desenvolvimento de computao grfica e os
problemas computacionais relacionados (processamento de imagens, renderizao,
sombreamento, texturizao, etc.) e, tambm, ao rpido crescimento da indstria de
jogos. A programao de GPU feita com linguagens de alto nvel e tem suporte a
preciso de ponto flutuante simples (32 bits), no possuindo suporte a preciso du-
pla, pois esta no necessria para a indstria de jogos ou entretenimento. O atual
modelo de programao desenvolvido pela empresa Nvidia, fabricante de GPUs e
placas grficas muito conceituadas no mercado, e que praticamente o domina, esta
concebeu toda uma nova arquitetura de programao a que batizou de CUDA (#om'
puter =nified 7eice Arc$itecture) que composta de APs, compiladores, depurado-
res, ferramentas e toda a sorte de meios para facilitar e auxiliar os desenvolvedores
de aplicao para o uso de GPUs
[8]
, fazendo com que estas passassem a integrar e
solucionar problemas de fins gerais, passando a denomin-las comercialmente
como GPGPUs, que tem um bom apelo comercial por dar a entender que as moder-
nas GPU so aplicveis ao processamento de fins gerais sob o domnio das CPUs
mas, logicamente, no vlido para todos os casos, porm vlido para algumas
aplicaes importantes, de simulaes a clculos cientficos que envolvam matrizes
e solucionadores de sistemas equaes lineares.
72
8.1 A ARQUTETURA CUDA COMO PADRO PARA GPU
Ento, esta nova arquitetura denominada CUDA, proposta pela Nvidia
[8]
,
baseia-se num modelo de programao de fim geral partindo de lotes de t$reads dos
usurios a serem executados nas GPUs, que podendo executar centenas de t$eads
passam a funcionar como um co-processador para problemas com dados macia-
mente paralelos.
CUDA possui em sua arquitetura: acionadores (driers) para carregar pro-
gramas nas GPUs que podem ser usados exclusivamente e so otimizados para
computao intensiva; utilizao de interfaces projetadas para uso de grficos, sem
a necessidade de APs; compartilhamento de dados com objetos do tipo buffers de
OpenGL; velocidades de do3nload e de releitura mximas garantidas; e, gerencia-
mento explcito de memria da GPU
[56]
.
A arquitetura CUDA possibilita a integrao de um programa de aplicao
escrito na linguagem C da CPU + GPU, onde a parte serial executada na CPU e a
parte paralela ou acelervel do Cernel em C executada nos blocos de t$reads da
GPU.
Para o modelo de programao CUDA, que o de um co-processador al -
tamente multi't$readed, a GPU vista como um deice (dispositivo), isto : encon-
tra-se na CPU ou $ost, tem sua prpria memria DRAM e capaz de executar mui -
tas t$reads em paralelo. Esboaremos a seguir os passos lgicos de execuo de
programas em conformidade com a arquitetura CUDA
[56]
:
As pores paralelas dos dados so executadas nos dispositivos como
5ernels (um 5ernel um fragmento, uma poro limitada e definida do programa que
executada em cada elemento de um stream do programa, gerando um stream de
sada pixel bufffer).
73
Por sua vez, os 5ernels so executados em paralelo em muitos t$reads.
Os t$reads so extremamente leves e exigem pouqussimo oer$ead (trabalho adici-
onal) de criao e, enquanto as GPUs exigem milhares de t$reads por razes de
eficincia (quanto mais t$reads concorrentes maior o desempenho da GPUs), as
CPUs multicore necessitam de uns poucos t$reads.
Um 5ernel executado como um grid de blocos de t$reads e todos esses
compartilham os mesmos dados do espao de memria da GPU.
Um bloco de t$read um lote de t$reads, que podem cooperar entre si,
sincronizando suas execues e compartilhando eficientemente os dados atravs de
uma memria compartilhada de baixa latncia num mesmo bloco. Dois t$reads de
diferentes blocos no podem cooperar entre si.
0$reads e blocos possuem identificadores, Ds, tal que cada t$read possa
decidir em que identificador do bloco, bloco D ( 1D ou 2D), ou identificador da t$re'
ad, t$read D (1D, 2D ou 3D) trabalhar, permitindo-se assim uma simplificao do
endereamento de memria quando do processamento de dados multidimensionais.
Como, por exemplo, no processamento de imagens, etc. Cada t$read pode efetuar a
leitura e / ou gravao a depender do tipo de operaes que ir realizar, conforma
Tabela 3.
74
O@er#>?% O"$e %)%rre
Ler/Gravar nos registradores por t$read
Ler/Gravar na memGria local por t$read
Ler/Gravar na memGria compartil$ada por bloco
Ler/Gravar a memGria global por grid
Apenas Ler as constantes de memGria por grid
Apenas Ler a memGria de textura por grid
Tabela 4 Tipos de operaes em GPU e localizao de ocorrncia
Fonte: Tutorial da Nvidia em SSGRAPH 2007
[56]
O $ost pode ler e gravar as memrias global, constante e de textura, que
so de acesso lento por serem de alta latncia.
Os limites mximos para os elementos de memria ou t$reads so carac-
tersticos de cada GPU. Por exemplo, nas placas grficas Nvidia modelo GeForce
8800 GTX ou GTS, estes elementos esto presentes com as seguintes limitaes
mostradas na Tabela 4.
C'#"ti$#$e& Li+ite& MD*i+%&
512 t$eads no mximo por bloco
65.535 como taman$o mximo da dimenso de um grid
16/12 processadores de streaming MNOPANQQ M$z em ?0RA?09
768/640 M% de dispositio de memGria )?0RA?09+
16 KB memGria compartil$ada por multiprocessador em SN bancos
64 KB memGria para constantes
32 t$reads por <arp com SN <arps por bloco
Tabela 5 Exemplo de limites superiores para GPU
Fonte: Tutorial da Nvidia em SSGRAPH 2007
[56]
A arquitetura CUDA foi concebida para ser fcil e leve. Portanto, as APs
so escritas como extenses da linguagem C ANS. Logo, tem uma baixa curva de
aprendizagem e, o projeto do hardware foi elaborado para alto desempenho com
leve interveno de acionadores em tempo de execuo.
75
CUDA possuem funes de alocao ou liberao de memria global do
dispositivo (GPU) como cudaMalloc () e cudaFree(), respectivamente bem como fun-
es de transferncia de dados do $ost para o dispositivo como cudaMemcpy().
Existem funes de declarao pr-fixadas e ps-fixadas por dois carac-
teres de sublinhado (underscore) "__, como:
__device__ float DeviceFunc(), chamado e executado no dispositivo
__global__ void KernelFunc(), chamado no $ost e executado no dispositivo
__host__ float HostFunc(), chamado e executado no $ost
As funes que envolvem dispositivos do tipo (__device__) no podem ter
seus endereos dados e, para as funes executadas nos dispositivos: no h re-
cursividade. No podem existir declaraes estticas no interior destas funes e o
nmero de argumentos deve ser fixo, ou seja, no pode ser varivel na chamada
das destas funes.
Uma funo Cernel deve ser chamada numa configurao de execuo e
qualquer chamada a uma funo Cernel assncrona a partir da verso CUDA 1.0, e
uma sincronizao explcita necessria para blocagem.
8.2 CONCLUSO SOBRE A ARQUTETURA CUDA EM GPU
A arquitetura CUDA visa habilitar o paralelismo na memria compartilhada
do c$ip da GPU, para maior eficincia do compartilhamento de dados inter't$reads,
melhorando todo o legado das antigas limitaes de $ard3are das GPUs da seguin-
te maneira: o acesso memria para leitura ou gravao era feito em pixels, o que
tornava a programao menos flexvel e, ao invs disso, tornar a programao mais
flexvel, fornecendo um endereamento genrico memria DRAM permitindo a lei-
tura ou gravao de no mais apenas um e somente um pixel, ou seja, tornando
76
mais eficiente o uso da memria compartilhada da GPU, economizando assim a lar-
gura de banda de grandes memrias.
Memrias local e global residem num mesmo dispositivo de memria
(DRAM) muito mais lento do que a memria compartilhada.
Ento, h uma maneira mais lucrativa de executar computao no dispo-
sitivo blocando os dados para se beneficiar da vantagem da maior velocidade da
memria compartilhada da seguinte forma:
Particionando os dados em subconjuntos de dados que se ajus-
tem na memria compartilhada.
Manipular cada subconjunto de dados com um nico bloco de
t$read tal que:
O carregamento do subconjunto de dados da memria
global para a memria compartil$ada, usando-se mlti-
plos t$reads para se explorar o paralelismo em nvel de
memria;
Efetuar a compilao do subconjunto na memria com'
partil$ada, cada t$read pode fluir eficientemente sobre
mltiplos conjuntos de dados; e
Copiar os resultados da memria compartil$ada para a
memria global.
As memrias de textura e constante tambm devem residir no dispositivo
de memria (DRAM) de acesso mais lento que a memria compartilhada, o que al -
tamente eficiente para dados de leitura.
Cuidadosamente, os dados devem ser divididos conforme o padro de
acesso descrito na Tabela 5.
Ti@% $e A)e&&% E Me+ri# Ti@% $e Me+ri#
77
Apenas Leitura, sem estrutura memria constante
Apenas Leitura de arra1s estruturados memria de textura
Leitura e Gravao compartilhada dentro de blocos memria compartil$ada
Leitura e Gravao de registradores na memria local memria local
Leitura e Gravao de entradas / resultados memria global
Tabela 6 Acesso memria pelo tipo especfico de memria
Fonte: Tutorial da Nvidia em SSGRAPH 2007
[56]
8.3 UMA MPLEMENTAO CUDA NO &A>7<A>6 G80
Uma nova srie de GPUs da Nvidia, denominada G80, implementa por
$ard3are o modelo de programao acima descrito da seguinte forma:
i. O dispositivo tem um conjunto de 16 multiprocessadores;
ii. Cada multiprocessador tem um conjunto de 32 processadores
com arquitetura SMD -- unidade de instruo compartilhada;
iii. A cada ciclo de cloc5, o multiprocessador executa a mesma ins-
truo num grupo de t$reads denominado 3arp;
iv. O nmero de t$reads num 3arp o tamanho do 3arp.
8.4 MPLEMENTAO DA ARQUTETURA DE MEMRA - G80
Os espaos de memrias locais, globais, constantes e de texturas so re-
gies do dispositivo de memria. Cada multiprocessador tem:
o Um conjunto de registradores de 32 bits por processador.
78
o Uma memria compartil$ada no c$ip, onde reside o espao de mem-
ria compartil$ada.
o Um cac$e constante apenas para leitura para acelerar o espao de
memria constante.
o Um cac$e de textura apenas para leitura para acelerar o espao de
memria de textura.
8.5 SNTESE DO MODELO DE &A>7<A>6 DA G80
Cada bloco de um grid desdobrado em 3arps, que executado em um
nico multiprocessador (SM), e o dispositivo s processa um nico grid por vez.
Cada bloco de t$reads executado por um nico multiprocessador tal que
o espao de memria compartilhada reside no c$ip da memria compartilhada.
Um multiprocessador pode executar mltiplos blocos concorrentemente
sendo que as memrias compartil$adas e os registradores so particionados dentre
as t$reads de todos os blocos concorrentes tal que se diminui o uso da memria
compartilhada (por bloco) e aumenta-se o nmero de blocos que podem ser execu-
tados concorrentemente.
Em resumo, podemos afirmar:
Uma GPU um dispositivo ou conjunto de multiprocessadores.
Um multiprocessador um conjunto de processadores e memria
compartil$ada.
79
Um Cernel um programa GPU ou programa que roda na GPU.
Um grid um arra1 de blocos de t$reads que executam uma t$read.
Um bloco de t$read um grupo de t$reads SMD que executam um
Cernel e podem comunicar-se via memria compartilhada.
Os tipos de memria, sua localizao em relao ao c$ip grfico, seu
tipo de acesso e autorizao podem ser identificados na Tabela 6.
Me+ri# L%)#,iF#>?% E+ cache A)e&&% C'e+ #)e&&#
,ocal fora do c$ip No Leituta/Gravao =ma t$read
compartil$ada fora do c$ip N/D residente Leituta/Gravao 0oda t$read do bloco
?lobal fora do c$ip No Leituta/Gravao 0oda t$read T $ost
constante fora do c$ip Sim S Leitura 0oda t$read T $ost
0extura fora do c$ip Sim S Leitura Toda t$read + $ost
Tabela 7 Caracterstica de cada memria de uma moderna GPU
Fonte: Tutorial da Nvidia em SSGRAPH 2007
[56]
8.6 APS PARA GPUS
A AP para GPUs uma extenso da linguagem C e consiste de:
Extenses da linguagem C para pores de cdigo que residem no
dispositivo; e,
Uma biblioteca runtime, desdobrada em:
o Componentes comuns provendo tipos intrnsecos de vetor e
subconjuntos de bibliotecas runtime em C para ambos os cdi-
gos, do $ost e do dispositivo.
80
o Um componente $ost para controlar ou acessar um ou mais
dispositivos do $ost.
o Um componente dispositivo provendo funes especficas do
dispositivo.
Existem qualificadores de tipos de variveis (__device__, __local__,
__constante__, __shared__, etc) e variveis automticas que sem qualquer qualifi -
cador que residem nos registradores, exceto os vetores que residem em memria lo'
cal.
Existem restries como, por exemplo, a dos ponteiros s poder apontar
para memria alocada ou declarada na memria global.
Os componentes comuns fornecem intrnsecos do tipo vetor e um subcon-
junto de bibliotecas runtime em C suportada tanto pelo cdigo do $ost quanto do dis-
positivo.
Para as componentes comuns de runtime, as funes matemticas como,
por exemplo: po3, s"rt, exp, log, sin, cos, ceil, floor, etc, quando executadas no $ost
se estiverem disponveis, sero usadas e somente sero suportadas para tipos es-
calares e no vetoriais.
Para as componentes runtime de $ost, as funes fornecem uma maneira
de lidar com: gerenciamento de dispositivos (incluindo sistemas multi-dispositivos),
gerenciamento de memria e manipulao de erros. So inicializadas na primeira
vez em que so chamadas e uma t$read de $ost pode invocar um cdigo de disposi-
tivo para apenas um dispositivo, ou seja, mltiplas t$reads de $ost exigem execuo
em mltiplos dispositivos.
Algumas funes matemticas (sin(x), por exemplo) possuem menor pre-
ciso mas, para dispositivos mais rpidos, apenas uma verso (por exemplo,
UUsin)x+, UUpo3)x+, UUlog)x+, UUexp)x+, UUcos)x+, UUtan)x+, ...)
81
Tambm so disponibilizadas funes de sincronizao para permitir a
disponibilizao de sincronismo de todas as t$reads de um bloco. Por exemplo,
void __s1nct$reads();
Uma vez atingido este ponto, a execuo prossegue normalmente. mui-
to usado para evitar conflitos de memria compartilhada ou memria global. permi-
tindo em construes condicionais apenas se for uniforme aplicao em todo o bloco
de t$reads.
8.7 COMPLAO EM CUDA
Qualquer arquivo fonte contendo extenses de CUDA, deve ser compil-
vel com o produto da Nvidia para GPUs CUDA compatveis, o denominado "-)). O
"-)) um acionador de compilador e trabalha invocando todos os compiladores e
ferramentas necessrias como cudacc, g++, cl, etc.
A sada do nvcc pode ser tambm um cdigo C que ento deve ser com-
pilado com o resto da aplicao usando-se outra ferramenta ou um cdigo objeto di-
retamente.
8.8 LNK-EDO EM CUDA
Qualquer executvel com cdigo em CUDA requer duas bibliotecas as di -
nmicas a seguir:
)'$#rt biblioteca runtime de CUDA
82
)'$# biblioteca core de CUDA
8.9 DEPURAAO EM CUDA
A depurao em CUDA , basicamente, realizada usando-se o modo de
emulao do dispositivo, que obtido ativando-se o modo de emulao atravs da
palavra chave deiceemu - quando da chamada do compilador ncc (ncc -devi-
ceemu) e nenhum dispositivo ou deice drier de CUDA necessrio e cada t$read
emulada como uma t$read de $ost.
Quando se executa no modo de emulao do dispositivo, pode-se:
Usar o suporte nativo de depurao do $ost (brea5points, ins'
pection, etc).
Acessar qualquer dado de dispositivo especfico do cdigo do
$ost e vise-versa.
Chamar qualquer funo do $ost a partir do cdigo do dispositi-
vo (por exemplo, @ri"tB) e vice-versa.
Detectar situaes de deadloc5 causadas pelo uso imprprio de
__syncthreads.
As t$reads de emulao de dispositivos so executadas seqencialmente,
isto significa que acessos de mesmas posies de memria por mltiplos t$reads
podem produzir resultados diferentes.
A referncia de ponteiros de dispositivos para $osts ou de ponteiros de
$ost para dispositivos podem produzir resultados corretos no modo de emulao do
dispositivo, mas geraro um erro no modo de execuo do dispositivo.
83
Resultados de operaes de ponto flutuante podem ser ligeiramente dife-
rentes por causa das diferentes sadas dos compiladores, conjuntos de instrues e
uso de preciso estendida para resultados intermedirios.
8.10 A NOVA ARQUTETURA DE DESENVOLVMENTO EM GPUS
O fabricante AMD est propondo uma nova arquitetura para suas prprias
GPUs ou CPUs com alto poder de processamento grfico e / ou de fins gerais que
ele denominou CTM (#lose to 0$e Metal) e pretendia lanar todo um pacote de de-
senvolvimento especfico para esta arquitetura de mesmo nome. Mas, por razes de
racionalidade e custo, dado que o seu concorrente primeiro e mais relevante na
rea, Nvidia, j possui a arquitetura CUDA bem estabelecida, difundida e de fcil im-
plementao, parece indicar, pelos ltimos movimentos do jogo, at aqui, que eles
pretendem fazer de CUDA a arquitetura padro para GPUs ou GPGPUs, que rodari -
am em plataformas de GPUs de distintos fabricantes como Nvidia, AT (AMD), etc.
!ota2 significativa outra iniciativa da AMD, com outra de suas tecnologi-
as denominada "Torrenza, que pretende licenciar o HyperTransport coe-
rente para terceiras-partes poderem fabricar soc5ets compatveis com co-
processadores e aceleradores. Permitir tambm que terceiras-partes de
PPUs, GPUs e co-processadores possam acessar memrias de sistemas
de processamento principal diretamente e coerentemente. sto poderia
permitir que modelos de acelerao de processamento pudessem ser de
mais fcil uso, tendo o processador CELL como exemplo onde os SPEs
no podem acessar a memria diretamente.
84
9 RUDMENTOS DE SOFTWARE PARA CELL
O processador CELL suporta uma variedade de modelos de programa-
o.
No modelo de extenso de dispositivo, um ou mais SPEs so fornecidos
como funo de uma interface como dispositivo. A aplicao no cuida dos SPEs,
apenas os v como um conjunto de capacidades, que noutros sistemas podem ser
fornecedores de processadores grficos, processadores fsicos, processadores de
imagem, processadores de udio, codificadores, decodificadores, etc. Neste modelo
os SPEs no so acessados diretamente pela aplicao.
No modelo de funo de alvio, os SPEs so usados para acelerar fun-
es de computao intensiva. As funes so invocadas de uma maneira tipo RPC
por uma chamada de uma t$read que executa no processador Power. Como a toda
t$read de um SPE est associada uma t$read do processador Power, os SPEs po-
dem retornar funes de chamada do sistema operacional que ento servem a t$re'
ad pelo PPE. Enquanto este modelo de programao fornea, talvez, a extenso
mais direta de programao de multi't$reading de SMP, este relativamente fcil de
sobrecarregar o processador Power (PPE). O conjunto de funes suportadas por
um ou por mltiplos SPEs tambm pode ser fornecido por uma biblioteca de tercei -
ros.
No modelo de acelerao computacional os SPEs atuam mais autonoma-
mente. As t$reads dos SPEs so escalonadas pelo sistema operacional muito mais
do que as t$reads do PPE, e os acessos de memria dos SPEs, sincronizao e co-
municaes (todos via DMA) por eles prprios. Neste modelo o PPE executa o siste-
ma operacional, e pode fornecer funes administrativas, e ligeiramente envolvido
com manipulao de erros, mas as aplicaes so executadas quase que exclusiva-
mente nos SPEs.
O modelo de programao streaming tambm literalmente suportado no
processador CELL. Sendo a memria local mapeada, os dispositivos podem, se per-
85
mitido pelo sistema operacional, acessar diretamente via DMA a memria local. Este
mapeamento tambm permite memria local mapear diretamente as transfernci-
as via DMA para a memria local sem ter que passar pela memria principal, man-
tendo a comunicao inteiramente no c$ip (caso a memria local da origem e do
destino estejam no mesmo c$ip). Portanto, um pipeline computacional com um ou
mais Cernels computacionais por SPE literalmente suportado. Em geral, o balan-
ceamento de carga um pouco mais difcil neste mtodo do que no modelo de ace-
lerao computacional, com passo adicional colocado pelo SPE no pipeline com
um pouco mais de trabalho.
O ambiente de programao CELL muito rico, fundamentado e bastante
complexo. constitudo por grande conjunto incorporado num pacote desenvolvi -
mento, que hoje se encontra na verso 3.1 e dele fazem parte: Cernel do sistema
operacional baseado no Fedora 7 e no Cernel de Linux, GNU Toolchain, GNU gdb,
compilador BM XL C/C++ (e tambm o BM XL Fortran para o PPE), bibliotecas
matemticas especficas para CELL BE (SMD e MASS), bibliotecas e utilitrios para
suporte performance, biblioteca de prottipos e exemplos e mais o ambiente de
desenvolvimento BM Eclipse.
O ambiente de programao CELL tambm contempla uma vasta, e bem
escrita, documentao com manuais, artigos, trabalhos publicados, etc, que so de
enorme valia para todo aquele que gostar, se interessar ou necessitar de trabalhar
com o CELL. Uma documentao magnfica e pblica.
10 USO DE GPUS E DE CELL NO AMBENTE HPC
Motivados pelo altssimo custo de ambientes de computao de alto de-
sempenho (HPC), quando se consideram $ard3ares de CPUs em cluster interconec-
tados por s3itc$es em enormes e caras instalaes, que requerem muita energia
86
para as centenas de processadores em rac5s e sua obrigatria refrigerao aliada
da baixa capacidade de adensamento destes processadores, o mercado internacio-
nal referente a este nicho (computao de alto desempenho) clama por solues al -
ternativas mais economicamente viveis, com maior otimizao de recursos como
um todo e a custos mais acessveis. Com estes argumentos, fabricantes de GPUs
como a Nvidia propem solues alternativas baseadas num conjunto variado de
suas GPUs interconectadas a 3or5stations multicore de alto desempenho, permitin-
do, para algumas aplicaes especficas, um ganho real de produtividade fundamen-
tado este na acelerao do desempenho das aplicaes e numa significativa redu-
o dos custos, principalmente com a desnecessria insero de muitos ns de
computao baseados na arquitetura x86 da ntel ou AMD.
Outros visionrios, para provas de conceito tm proposto e realizado tes-
tes de clusters de Sony PS3 com o processador CELL. Estas propostas so de bai -
xo custo, mas de baixssima confiabilidade, pois os Sony PS3 no foram projetados
para ambientes hostis e no possuem a robustez necessria para suportar dias ou
at mesmo semanas de processamento intensivo. So timos como prova de con-
ceito, mas impraticveis para a utilizao em larga escala por motivos tecnolgicos
de $ard3are e soft3are. Entretanto, creio que devamos incentivar este modelo atra-
vs das universidades, centros de pesquisa, etc, devido ao seu baixo custo de inves-
timento e facilidade de aquisio, no necessitando, guardadas as devidas propor-
es, de infra-estrutura dispendiosa e de difcil aquisio por razes burocrticas.
A partir do lanamento do Sony ;la19tation B (PS3), como em suas
verses anteriores largamente usado no mercado, instituies cientficas, escolas
e universidades passaram a investir em ambientes de HPC baseados em processa-
dores CELL devido ao baixo custo (poucas centenas de dlares por PS3) e a com-
patibilidade do sistema operacional com o Linux (inicialmente o Yellow Dog e, poste-
riormente, o Fedora Core 6). Estes ambientes ficam fisicamente muito parecidos,
como mostrado na Figura 22, mas no possuem, por enquanto, a robustez, comuni -
cao, refrigerao prpria e gerenciabilidade suficientes e necessrias para as exi -
gncias de um ambiente de HPC, que necessita trabalhar horas a fio com 100% de
utilizao do processador. Deve-se destacar que isto nada tem a ver com o proces-
sador CELL, mas sim com o uso indevido deste a partir de uma console de jogos
87
para outros trabalhos mais srios. De qualquer forma, considerando-se o baixo in-
vestimento no ambiente, vale como prova de conceito e possibilidade de familiariza-
o e testes ao vivo com o processador CELL, sem se necessitar dos pacotes de
emulao fornecidos pelo fabricante, BM.
Figura 22: Cluster Linux de BM CELL com Sony PS3
Fonte: Buscador Google, imagens
[=]
Comercialmente, temos o lanamento das lminas de processador BM
CELL com dois CELL por lmina ou blade (como dizem os americanos) exibidas na
Figura 23, e com todo o suporte e confiabilidade do fabricante, mas a preos atual-
mente proibitivos para se efetuar todo o investimento nesta tecnologia. Alm disso,
devemos considerar, neste instante, que a dificuldade maior o de programao
para CELL, que aliada ao custo inviabiliza qualquer movimento nesta direo imedi -
atamente. Mas, do ponto de vista meramente cientfico uma enorme tentao: um
colrio para os reluzentes olhos das mentes que brilham.
88
Figura 23: Lminas de CELL e BM CELL Blade Center QS20
Fonte: Site do fabricante BM, ww.ibm.com
[6]
De nossa parte acreditamos que as trs escolhas descritas nos pargra-
fos anteriores so excelentes (GPU +CPUs, CELL em PS2 ou blade CELL) e, a de-
pender da capacidade econmica, deve-se optar por quantas se puder pagar embo-
ra, neste momento, os preos sejam proibitivos para uma grande maioria de usuri -
os (da ordem de 10K dlares por blade), pois no temos certeza absoluta sobre qual
delas realmente vingar e ser o paradigma de um futuro prximo. No entanto, no
devemos abandonar a soluo de clusters do tipo beo3ulf devido ao lanamento das
recentes CPUs multicore com 2, 4, e futuramente mais e mais ncleos numa mesma
pastilha, pois a programao paralela para este ambiente bem estabelecida, ma-
dura e fornece bons resultados do ponto de vista da relao custo-benefcio, o ponto
negativo a baixa densidade de ns computacionais por rac5, o enorme consumo
de energia para operao e refrigerao do sistema como um todo e o alto custo em
infra-estrutura primordialmente.
Figura 24: nstalaes tpicas de clusteres Linux Beowolf
Fonte: Buscador Google, imagens
[=]
89
A Figura 24 lustra fisicamente um ambiente de clusters de x86 convenci-
onal, tambm denominado %eo3ulf no mercado, constitudo de ns de processa-
mento com um ou dois processadores fsicos distintos e armazenados em gabinetes
de altura 1U (1.75 polegadas), empilhados em armrios (rac5s) de 42U de altura
(por exemplo), e interconectados via rede atravs de s3itc$es de 1 ?igabit 6t$ernet,
em geral. Para troca de mensagens, normalmente usa-se o protocolo MP (Messa'
ge ;assing :nterface). Uma soluo do tipo %eo3ulf considerada antiga e consu-
mista de energia, de espao e de refrigerao mas funciona muito bem pelo custo
relativamente baixo ou adequvel s necessidades e capacidade de investimentos
que se tenha, mas de pouca confiabilidade, de fraca gerenciabilidade e baixa es-
calabilidade. Podem ser escalados milhares de ns num cluster beo3ulf, porm a
um custo total muito elevado e ineficiente, principalmente devido infra-estrutura.
Existem muitas outras propostas de ambientes de computao de alto de-
sempenho. Dentre elas, a do BM BlueGene/P merece destaque por ser a primeira a
demonstrar de fato a possibilidade de se poderem escalar centenas de milhares de
processadores para se obter respostas a um problema ou tarefa que deles necessi -
tem com desempenho que pode ultrapassar 1 PetaFLOPS (atingido at 3 Peta-
FLOPS sustentados, conforme garante o fabricante BM).
11 UMA EXPERNCA PRTCA COM GPUS E CELL
Testamos e executamos todos os programas exemplos tanto em GPU
Nvdea Quadro FX 5600, compatvel com a arquitetura de desenvolvimento CUDA
da prpria Nvdia como, tambm, o mesmo foi feito com o CELL processor atravs
de um Sony ;la19tation B, PS3, com um PPE e seis SPE habilitados como so habi -
litados de fbrica para os PS3. O ;la19tation B possua 512 MB de RAM, disco Blue
Ray de 60 GB e demais componentes padro. O sistema operacional instalado foi o
Fedora Core 5.0 com as instrues de instalao conforme o stio da BM para tal.
90
Para a placa grfica Nvdia Quadro FX 5600 com 1.5 GB de GDDR3 con-
tamos com uma 3or5station Sun Ultra 40 M2 com dois processadores AMD Opteron
2218 com cloc5 de 2.6 Ghz e memria RAM de 32 GB do tipo DDR2 667 Mhz sob o
sistema operacional Red Hat WS 3.0 Update 8 com monitor Sony de 20 com resolu-
o mxima de 1920 x 1200 ou 1600 x 1200 (Figura 25).
Figura 25: Ambiente Teste: Sun + NV FX 5600 + cluster PS3 + switch Gig E
Fonte: Sites dos fabricantes Sun
[2=]
, Nvidia
[8]
e bucador Google
[=]
Para as duas distintas plataformas, GPU e CELL, executamos todos os
programas exemplo de seus respectivos SDK (pacotes de desenvolvimento). No ti -
vemos nenhum problema de instalao ou testes, mas as instalaes foram efetua-
das com muito cuidado e todos os detalhes e pr-requisitos de todas as ordens, prin-
cipalmente bibliotecas diversas tanto matemticas quanto grficas, foram efetuadas
com sucesso. A documentao de instalao de todo o software para CELL em PS3
muito boa e deve ser seguida a risca. Podemos encontrar alguns problemas no
que se refere ao dispositivo de sada como monitor, devido a necessidade de se tra-
balhar com monitor padro simples. sto no obrigatrio mas pode vir a causar pro-
blemas que tomam tempo na instalao inicial do Linux para CELL. As bibliotecas
grficas tambm precisam ser atualizadas bem como os compiladores e depurado-
res CELL compatveis. De um modo geral, podemos concluir que as informaes for-
necidas pelo fabricante so suficientes para iniciados e no suficientes para novatos
em Linux e CELL.
91
Quanto a GPU Nvdia, foi muito mais fcil por a instalao idntica a de
uma placa grfica comum num PC. nicialmente, instala-se o sistema operacional
Linux Red Hat WS 3 Update 8 (pr-requisito da verso CUDA 1.0 testada). Aps a
instalao fsica da placa e, se necessrio, a atualizao da BOS da workstation
Sun Ultra 40 M2, s instalar o deice drier mais atualizado para a placa grfica da
Nvdia CUDA compatvel (no nosso caso Quadro FX 5600) e pronto, o sistema
GPU+CPU est disponvel para utilizao.
Os testes executaram perfeitamente e sem erros nas duas plataformas
testadas, GPU e CELL.
Para efeito de comparao, resolvemos testar: a multiplicao matricial, a
-ast -ourier 0ransform em trs dimenses (FFT3D) e o programa de ordenao
(sort) denominado %itonic 9ort nas duas plataformas para compararmos os tempos
de execuo em cada uma delas. Na verdade, desistimos dos testes, pois verifica-
mos que no concluiramos absolutamente nada de novo em relao aos programas
j testados e com dados de resultado de domnio pblico, alm de ter que inserir ro-
tinas de medio de tempo de processamento, pois as medies via comando de
mensurao de tempo de execuo de comandos do Unix como time e timex no
possuem a preciso necessria para tal, ou sejam, produzem respostas em dcimos
de segundo quanto os resultados dos clculos referentes aos exemplos em GPU
Nvidia e BM CELL so muito mais baixos, da ordem de milsimos de segundo ou
menores. Deveramos, ento encher os processadores de carga, mas acreditamos
mais uma vez que esta tarefa nada acrescentaria ao estudo.
Conclumos apenas que a funcionalidade, operacionalidade e
disponibilizao tanto da GPU da Nvidia Quadro FX 5600 em Sun Ultra 40 M2 como
do processador BM CELL internalizado num Sony PlayStation 3 so exeqveis e
relativamente de fcil implementao.
92
12 A COMPUTAO DE PETAFLOPS
Um dos desafios computacionais da humanidade, no sculo passado, foi
o de atingir o desempenho computacional de um PetaFLOPS, ou seja, obter cerca
de um quatrilho de operaes de ponto flutuante por segundo de maneira sustenta-
da. Este desafio foi encaminhado por vrios centros de pesquisa e governos, exigin-
do vultuosos recursos e uma verdadeira corrida para atingi-lo ou ficar em evidncia
momentaneamente devido primeira colocao na corrida. Vrias e vrias tentati -
vas ambiciosas foram realizadas cada vez mais, de TeraFLOP em TeraFLOP, reve-
zando-se vrios dos excelentes participantes. Os problemas eram, e so, gigantes-
cos: adensamento de processadores, alimentao eltrica, rea fsica, refrigerao,
capacidade de processamento propriamente, programao, sistemas de arquivos,
/O paralelo, dentre outros.
No ano 2002, os japoneses se posicionaram em primeiro lugar com o seu
6art$ 9imulator
[=;]
com performance da ordem de 50 TeraFLOPS
[=2]
: um marco pre-
servado por dois anos seguidos. Logo, por razes de cunho ideolgico e necessida-
des cientficas, os americanos resolveram contra-atacar e deram prosseguimento ao
j existente projeto em conjunto com o departamento de defesa americano, o LLNL
[=2]
e a BM para o projeto BM BlueGene
[=5]
, que se propunha a uma escalabilidade,
que definiremos como a capacidade de se poder interconectar e processar em con-
junto uma quantidade significativa de processadores, nunca dantes obtida. Assim o
conseguiram com uma inovadora tecnologia altamente escalvel de 4.096 a um mi -
lho de processadores de baixo cloc5, mas podendo atingir at o to sonhado 1 Pe-
taFLOPS, teoricamente. Como prova de conceito e realizao, conseguiram e reto-
maram a primeira posio para os americanos em 2004 e a preservam at os dias
atuais com o seu BlueGene/L (o L de Linux Affinit1), que em sua nova gerao de-
nomina-se BlueGene/P (o P de PetaFLOPS) (Figura 26), que na realidade pode
93
atingir teoricamente at 3 PetaFLOPS
[=5]
. O BM BlueGene uma arquitetura cienti-
ficamente interessantssima mas no a contemplaremos no escopo da discusso
deste modesto trabalho.
Figura 26: BM BlueGene/P
Fonte: site da BM
[=5]
Gre# A@,i)#>Ae& $e Pet#&)#,e
S#H$e< CiI")i#& $# Vi$#
!oas drogas, pes"uisa de Grgos, geno'
ma.
A+Jie"te: Re)'r&%& N#t'r#i&< A"D,i&e
$e Terre+%t%&
Assoreamento de rios, efeitos de mudan'
(as climticas ou "ualidade do ar, agricul'
tura, incFndios, guas e outros recursos.
Pr%$'>?% e )%"&er-#>?% $e E"erKi#
#ombusto turbulenta, predi(o de efici'
Fncia de combust/eis, mais eficiFncia
nas clulas solares.
N#"%)iI")i#
7esenolimento de noos materiais, se'
micondutores mais elozes e com mais
baixa potFncia, desenolimento de dro'
gas, clulas de combust/el, mel$ores
screening de aeroportos.
Pe&L'i&#
#ompreender a forma(o do unierso,
matria escura, -/sica QuJntica, pes"ui'
sas de prote/nas, etc, etc.
Tabela 8 Problemas desafiadores para pesquisa de
Fonte: MT Course 6.189 AP, 2007
[2!]
Podemos dizer que a computao de PetaFLOPS coisa do passado,
pelos menos nos moldes que se apresentou e que se realizou at hoje, ou seja, a
custos de centenas de milhes de dlares de investimento e necessidades de in-
94
fra-estrutura e manuteno de energia, refrigerao, etc. Mas, o importante que a
humanidade conseguiu e continua a desenvolver-se em tal rea. O problema funda-
mental foi deslocado no sentido de se obter no apenas o desempenho de
PetaFLOPS, mas este desempenho a custo muito mais econmico e vivel como
um todo e com menores recursos energticos e de infra-estrutura para tal.
A Tabela 7 mostra algumas das principais aplicaes que necessitam da
computao de PetaFLOPS.
A tendncia atual, que se apresenta nas informaes pblicas, que a
computao de alto desempenho medida em TeraFLOPS se desloque para o des5'
top do usurio, isto , esteja ao alcance de qualquer um indivduo que dela necessite
sem precisar que se possua uma enorme riqueza para ter acesso a este recurso
computacional. Est tendncia se configura atravs de GPUs ou CELL, por exemplo,
em conjunto com processadores multicore convencionais de arquitetura x86 a serem
disponibilizados como commodities para todos os usurios em futuro breve, como as
GPUs j o so e, de certa forma, os CELL tambm atravs do PS3.
Como consideramos a melhor proposta atual, vamos exemplificar com o
projeto do Laboratrio Nacional de Los Alamos
[==]
nos Estados Unidos, para tipificar
nitidamente a tendncia mais relevante deste incio de sculo, ou seja, a computa-
o de alto desempenho baseada numa arquitetura hbrida e mista, formada por pro-
cessadores multicores e CELL processor, isto , uma computao paralela hetero-
gnea. nicialmente, estima-se e vai-se trabalhar com esta tecnologia mista em pro-
cessadores distintos e fisicamente separados, mas em um mesmo rac5 ou %lade'
#enter porm, o que se espera num futuro prximo que estes possam ser acopla-
dos em uma mesma placa-me ou at mesmo numa mesma pastilha.
No devemos subestimar a comprovada capacidade tecnolgica, tenaci-
dade e disciplina dos japoneses, que prometeram retornam com propostas inovado-
ras aps 2012 e j apresentaram o ?rape 7> na universidade de Tquio (Greatly
Reduced Array of Processor Elements with Data Reduction)
[2<=!.=8]
.
Bem, vamos detalhar alguns pontos cruciais do Projeto >oadrunner do
Labaratrio de Los Alamos a seguir, e apresentamos seu logotipo na Figura 27.
95
Figura 27: Logo do projeto >oad>unner
Fonte: Los Alamos Lab
[==]
Os dois objetivos principais do projeto >oadrunner
[=7]
so:
o progresso cientfico na pesquisa de armas;
e, avanos arquiteturais em algoritmos e aplicaes executados
com computao de PetaFLOPS.
Considerando a tendncia de computao heterognea e hbrida da com-
putao cientfica de alto desempenho, escolheu-se uma combinao de processa-
dores BM CELL e AMD Dual Core interconectados com rede :nfiniband para alcan-
ar os objetivos traados para acelerar os algoritmos. Na verdade, arquiteturas hete-
rogneas j foram tentadas e bem sucedidas anteriormente como BM Deep Blue,
FPS Arra1 ;rocessor, vrios supercomputadores FPGA, Tsubame, etc, mas este do
projeto >oadrunner atingir o desempenho de PetaFLOPS
[=7]
. O logo do projeto
uma ave local muito rpida (Figura 27).
Existem duas formas de ataque para atingir o desempenho de
PetaFLOPS: a escalabilidade de processadores ou o aumento da velocidade de pro-
cessamento dos ns. O BM BlueGene atacou a primeira mas Los Alamos pretende
atacar a segunda como pode ser visto na Figura 28.
96
Figura 28: Distintas abordagens e direes na busca do PetaFLOPS
Fonte: Los Alamos National Lab
[==]
Na Figura 28, podemos verificar que o projeto >oadrunner completa-
mente e filosoficamente ortogonal ao projeto BM BlueGene. Esta ortogonalidade de-
ve-se ao fato de se tentar obter PetaFLOPS de desempenho no baseado na alta
escalabilidade do BlueGene de poder escalar centenas de milhares de processado-
res homogneos de baixo cloc5 (700 MHz) mas na iniciativa de tentar obter
PetaFLOPS com poucas dezenas de milhares de processadores heterogneos de
alto cloc5 (>= 3,2 Ghz) e alto desempenho desses processadores. Fundamental -
mente baseados em BM CELL processor e servidores SUN dualcore quadprocessa-
dos, por enquanto. sto quer dizer o mesmo desempenho a um custo mais baixo.
97
Figura 29 O processador CELL, pea fundamental do projeto RoadRunner.
Fonte: Los Alamos National Lab
[==]
Da Figura 29, vemos que o CELL processor primordial para os objetivos
do projeto >oadrunner. Partindo do CELL BE (1+8) de primeira gerao com tecno-
logia de 90 nm SO com performance da ordem de 15 GF/s em dupla preciso em
2006 e atingindo ~100 GF/s com sua primeira reviso CELL BE (1+8eDP) de 65
nm SO at alcanar a notvel marca ~1 TF/s ;rocessor com tecnologia 45 nm SO.
O roadmap do CELL indica significativas melhorias no processamento em
ponto flutuante de preciso simples e posteriormente dupla aliado a um aumento de
memria inicialmente para 2 GB e em seguida para 16 GB com comunicao em
PC Express 16x. Tudo isso com o apoio da evoluo dos pacotes de desenvolvi -
mento aguardada para as novas verses SDK 3 (atual) e SDK 4 (2008)
[2!]
.
98
O projeto consiste de trs fases distintas
[=7]
:
-ase 1: Sistema Bsico.
-ase 2: Propotipao com CELL.
-ase 3: Atingir o PetaFLOPS e demonstrar o novo paradig-
ma de HPC.
Esquematicamente, mostramos na Figura 30 a proposta
ps-fase 3:
Figura 30 Em apenas 18 racks , 7.000 CPUs e 13.000 CELLs : 1 PetaFLOPS
Fonte: Los Alamos Lab
[==]

A programao do sistema como um todo, basear-se- em trs premissas
de paralelismo, conforme se demonstra em forma de diagrama na Figura 30.
99
". MP ainda sendo usado entre os ns e os ns internos aos multico'
re (AMD Opteron dual'core e CELL (1+8);
#. Alvio dos algoritmos computacionalmente intensivos de grande
granularidade para os CELL processors nos ns computacionais; e
$. Paralelismo de granularidade fina via t$reads nos prprios proces-
sadores CELL.
Figura 31 Arquiteturas distintas com duas CPUs fsicas distintas
Fonte: Los Alamos Lab
[==]
As Figuras 30 e 31 demarcam nitidamente a opo por uma arquitetura heterog-
nea.
100
12.1 SSTEMAS DE COMPUTAO HBRDA ESTO CHEGANDO
[ J vimos esse filme antes: "7e8a .u ]
Na atualidade as arquiteturas de computadores esto tendendo ao aco-
plamento de sistemas paralelos: combinando diferentes tecnologias de distintos fa-
bricantes e compondo sistemas no homogneos. Por hora, estes sistemas hetero-
gneos so formados por sistemas homogneos fisicamente distintos como arquite-
turas x86, GPUs, Power 64 e outras mas num futuro prximo sero formadas por es-
tas ou outras que ho de vir numa mesma pastilha de maneira homognea como os
multicore x86 ou mesmo heterognea como os multicore tipo CELL (1 PPE + 8
SPE), como exemplificado na Figura 31.
HETEROGENEDADE NO NVEL DO CHP
No passado, como um seu corolrio, a ,ei de Moore forneceu os argu-
mentos para o aumento da densidade lgica nos c$ips. Os c$ips tornaram-se mais
potentes e mais capazes de operaes de ponto flutuante (FLOPS), registradores,
cac$es, execuo fora de ordem, operaes pendentes de memria e as velocida-
des de processamento aumentaram devido miniaturizao dos componentes dos
c$ips.
No presente, a ,ei de Moore ainda vigora, mas as velocidades dos cloc5s
atingiram um plateau (patamar estvel), a complexidade do processador e o parale-
lismo em nvel de instruo parecem ter alcanado um plateau tambm. sto implica
que os processadores multicore agora devero ser a norma e o padro.
No futuro, existiro mais e mais dispositivos por c$ip (4, 8, 32, 64, 128, ...)
preservando-se ainda a ,ei de Moore, conforme o ANEXO A descreve em detalhes.
101
Um grande nmero de dispositivos podero levar a arra1s ou agregados de disposi'
tios interconectados, no apenas multicore, mas tambm mltiplas arquiteturas de
hierarquia de memria assim como dispositivos de fins especiais sero quase que
certamente adicionados, ou seja, definitivamente teremos a heterogeneidade no n-
vel do c$ip.
HETEROGENEDADE NO NVEL DO SSTEMA
Ns, provavelmente, j a estamos experimentando agora em nosso PC
des5tot ou laptop com uma placa grfica separada (CPU + GPU).
Dentre outras mquinas e dispositivos existentes podemos citar: Cray
XD1 (FPGA), SRC Map9tation (FPGA). GPGPU (computao em placas grficas,
cartes #learspeed SMD PC, cartes FPGA PC e c$ips BM CELL BE).
Existem novas iniciativas para aceleradores em nvel de n como AMD
0orrenza (soquetes, HT & HTX no nvel dos dispositivos), ntel/BM ?eneseo (dispo-
sitivos a nvel de cartes PC Express).
Novos sistemas HPC heterogneos ou hbridos como LANL >oadrunner
(Opteron + CELL), 0o51o :nstitute of 0ec$nolog1 TSUBAME (Opteron com cartes
#learspeed) e TeraSpft (blades CELL).
A Figura 32 caracteriza claramente a heterogeneidade discutida neste pa-
rgrafo e aplicada no Projeto >oad>unner. Podemos observar processadores CELL,
que j so heterogneos por si prprios e mais servidores de arquitetura x86_64
dualcore, formadas por CPUs AMD Opteron Dualcore.
102
Figura 32 Um exemplo marcante de heterogeneidade
Fonte: Los Alamos Lab
[==]
Os aspectos similares entre a programao de sistemas, e / ou de dispo-
sitivos heterogneos, e a programao atual so vrios e podemos destacar os se-
guintes :
A execuo paralela em t$reads ou via OpenMP (possivelmente,
apenas no ao nvel de loop);
Tratamento de unidades em recortes, filas de trabalho e blocos de
dados; com relao comunicao e transferncia de dados pre-
serva-se a superposio de comunicao e computao (apenas
103
sem amortizao e operaes de comunicao de dados via
sendArecAputAget,conforme o MP);
Operaes vetoriais (SSE, Cray, dependncias de dados); a ,ei de
Amda$l [35] continua vlida para speedup paralelo;
A linguagem C continua a ser a pedra fundamental que funciona
como o denominador comum entre o atual e o novo;
O cdigo decomposto em duas, trs ou mais partes cooperativas
com diferentes funes de computao, coordenao,
uploadAdo3nload, retardo de mensagens;
O usurio ter visibilidade explcita de memria e transferncia de
dados via DMAs e superposio de comunicao e computao,
alm de memrias locais de tamanho limitado e restries ao ali -
nhamento de dados; e
Preocupaes sobre a granularidade de parte do cdigo devem ser
consideradas como Flops versus requisitos de largura de banda de
dados, blocos de cdigo, rotinas inteiras e colees de rotinas im-
plementadas em algoritmos, pacotes fsicos integralmente comple-
tos; e, por ltimo, necessrias converses do tipo Big-Endian e Lit-
tle-Endian (CELL-Opteron, por exemplo).
12.2 "DEJA VU (PARECE QUE A HSTRA SE REPETE)
O legado do conhecimento em programao adquirido no passado pode
trazer algumas vantagens para o presente e o futuro. Como dizem os americanos
"0eac$ ne3 dogs old tric5s ('Ensinar velhos truques aos novos cachorrinhos').
104
Muitas tcnicas do passado, como as diagramadas na Figura 33, so se-
melhantes e aplicveis s idias de programao dos sistemas heterogneos que se
vislumbram: processadores de perifricos do CDC 6600/7600 (10-3a1 co-processa-
dores de /O); hierarquia de memria explcita do CDC 660 ECS & 7600 LCM/SCM;
buferiza(o do /O fora do ncleo (superposio dos dados do ncleo); oerla1s de
FORTRAN (tamanho de imagens de programa); sistemas de processamento de ar'
ra1 de ponto flutuante (FPAPs); computador analgico-digital (programao hbrida);
JCL BM e cartes DD.
Figura 33 O futuro imita o passado
Fonte: Los Alamos Lab
[==]
105
13 TECNOLOGAS ALTERNATVAS A SUBSTTUO DO CMOS
13.1 A EVOLUO DAS TECNOLOGAS DOS TRANSSTORES
O transistor, inventado em 1948 nos laboratrios da %ell 0elep$one #om'
pan1 por Bardeen, Brattain e Schockley, sem patente registrada, foi uma das inven-
es que mais influenciou a nossa maneira de viver. Posteriormente, este mrito foi
reconhecido e laureado com o prmio Nobel de Fsica do ano de 1956 pela pesqui -
sas e descoberta do transistor. O advento da tecnologia do transistor bipolar, tornou-
se o elemento ideal para uma lgica binria liga-desliga (on'off)
[=!]
.
Em 1952, G.W.A. Drummer, observou que o circuito eletrnico poderia ter
dimenses menores se os seus componentes discretos: transistor, resistor e capaci-
tor estivessem no mesmo pedao do semicondutor. o que se passou a denominar
de circuito integrado. As idias de Drummer s puderam se tornar realizveis, devido
a problemas decorrentes de dificuldades tcnicas, em 1959 graas a Jack Kilby da
0exas :nstruments, tambm laureado com Nobel de Fsica em 2000 pela participa-
o na inveno do circuito integrado.
A tecnologia de transistores bipolar passou a ser produzida em massa
nos anos 60 e, no comeo desta mesma dcada, uma nova tecnologia de mais fcil
incorporao na produo dos c$ips, a tecnologia do transistor de efeito de campo,
MOSFET (Metal'Oxide'9emiconductor -ield 6ffect 0ransistor), inventado por Steven
Hofstein e Frederic Heiman da empresa RCA (>adio #orporation of America).
tecnologia MOSFET, incorporou-se uma novssima tecnologia comple-
mentar, denominada CMOS (#omplementar1 Metal'Oxide'9emiconductor) formada
por transistores MOSFET e portas CMOS, cuja principal vantagem seria o baixo con-
106
sumo de energia. E esta ulterior tecnologia CMOS, vigora e domina at os dias atu-
ais.
Como podemos observar que, os limites fundamentais associados s di -
menses dos dispositivos criados a partir da tecnologia CMOS, j demonstram esgo-
tamento e esto prximos de seus limiares. A mnima energia para processar um bit
de informao, E
bit
, opera a 0,017 eV e a uma temperatura T = 300 K, (~ 26,85 graus
Celsius - temperatura ambiente).
O grande desafio na engenharia da eletrnica digital o desenvolvimento
de tecnologias at o limite-de-escala j discutido neste trabalho e que ainda detalha-
remos mais frente. Dos vrios problemas associados devido a miniaturizao cada
vez maior dos transistores, ou seja, do maior adensamento de transistores por uni -
dade de rea, que alcanar 850 milhes de transistores em pastilhas com reas
menores do que 250 mm
2
, como no caso da processador BM CELL em sua ter-
ceira gerao, prometida para fins de 2010, conforme roadmap do processador
CELL esboado na Figura 29, so :
1. dificuldades na dissipao do calor gerado nas operaes.
2. instabilidades devido a efeitos qunticos de tunelamento de cargas, podendo
adquirir propores incontrolveis.
3. dificuldades nos processos litogrficos de fabricao.
4. custos financeiros para construo de novas fbricas, o que poder aumentar
o processo de fabricao do transistor e no diminuir, como acontece atual -
mente.
107
13.2 LMTES DE TRANSSTORES NA TECNOLOGA MOSFET
Enfim, dentro do paradigma da atual arquitetura de microc$ips baseados
em tecnologia CMOS, os c$ips podem no mais evoluir e a ,ei de Moore, talvez te-
nha que ser esquecida por causa dos limites-de-escala da Fsica e da obrigatria
quebra do paradigma da tecnologia CMOS.
Do ponto de vista formal da Mecnica Quntica, e pelo Princpio da ncer-
teza de Heisenberg, a distncia mnima da porta da ordem de 1,5 nm mas, antes
que possamos nos aproximar de 1,5 nm o tunelamento do eltron torna-se no des-
prezvel j prximo a 5 nm e, para agravar o esgotamento da tecnologia CMOS, pr-
ximo de 5 nm a potncia dissipada aproximadamente 3,15 x 10
5
W/cm
2
. Apesar de,
nos ltimos 30 anos, a microeletrnica avanar e conseguir aumento de ambos, ve-
locidade e densidade na escala dos dispositivos componentes (isto , CMOS s3it'
c$), esta tendncia terminar bem antes de atingirmos a barreira de energia, pois
no seremos capazes de remover o calor,provocado pela dissipao de energia
[28]
.
Embora o Princpio da ncerteza de Heisenberg exija profundos conheci -
mentos de Mecnica Quntica, os corolrios dele decorrentes so de fcil demons-
trao. Seno, vejamos para demonstrar os dados do pargrafo anterior
[28]
:
Ax.Ap < h
AE.At < h
x
min
V W A Xp
V W A Y)L m
e
6
bit
+

V W A Y)L m
e
C
%
0 ln L+

V S,P nm ) 0 V BQQ C, Z LO graus cent/grados+
Mas, antes que estes limites fsicos sejam atingidos, outros fatores como
dissipao trmica, por exemplo, j atuaro e restringiro a obteno destes
[26<22]
.
108
13.3 AS FUTURAS TECNOLOGAS QUE SE APRESENTAM
Os cientistas esto buscando alternativas. A expectativa que s se pos-
sa alcanar as limitaes da tecnologia CMOS em aproximadamente 15 anos de de-
senvolvimento para que se obtenha tecnologia de fabricao prxima a 5 nm. Ento,
quais so as alternativas disponveis? Bem, as alternativas disponveis e candidatas
a sucesso da tecnologia CMOS so
[22]
:
o 7iodos >essonantes de 0unelamento4
o 7ispositios de 0unelamento de um [nico 6ltron4
o Aut\matos #elulares QuJnticos4
o !anoeletr\nica Molecular4 e
o 9pintr\nica.
Vamos, a seguir, descrever sucintamente cada uma dessas tecnologias
candidatas e emergentes para fins de trazer um pouco de luz s novas idias.
1.1.1 TECNOLOGA DE DODOS RESSONANTES DE TUNELAMENTO
Esta abordagem consiste na supresso do tunelamento de um eltron
para uma ilha pelo carregamento da energia de um nico eltron.
A principal vantagem seria a baixa potncia e a alta densidade do dispositivo.
Mas como desvantagens, temos uma tecnologia imatura, dificuldades de fabricao,
109
lentido inerente, problemas de conexes e, principalmente, baixas temperaturas (~
40 K).
1.1.2 AUTMATOS CELULARES QUNTCOS (QCA)
Este seria um novo paradigma de computao composto por arra1s de
dispositivos qunticos e procedimentos computacionais. Procedimentos estes que
poderiam: gravar bits de entrada; permitir que arrays possam relaxar para o estado
fundamental dessas entradas; e poderiam ser feitas leituras de resultados de com-
putao pela sensibilizao de estados de polarizao.
Os dispositivos podem ser fios lineares, inversores, portas, e clulas de
memria.
As principais vantagens seriam: resolver o problema das conexes pelo
uso da ,ei de #oulomb
[;;]
; tornar possveis elementos de computao de ultra-alta
densidade; e, obter dissipao de potncia extremamente baixa.
As principais desvantagens so: uniformidade celular (a funo de res-
posta da clula degrada significativamente se um ou trs eltrons estiverem na clu-
la); deve ter o controle preciso dos pontos qunticos (variaes nos tamanhos dos
pontos inibem a biestabilidade celular); e, temperaturas absolutamente baixas (~4
K).
1.1.3 NANOELETRNCA MOLECULAR
Baseada nos nanotubos de carbono, permite 93itc$es/Diodos com dife-
rentes tamanhos e dopagem CNT para fazer junes PN; transistores, substituindo
110
canais por CNTs em CMOS. Como desvantagens tm: controle de quiralidade, As-
sembly e alto custo. A nanoeletrnica tambm poderia se basear na eletrnica de
uma nica molcula com o rotaxane e benezethiol. A principal desvantagem seria
baixo reprodutibilidade e escalabilidade.
1.1.4 SPNTRNCA
Esta a principal tecnologia candidata a superar as limitaes fundamen-
tais do CMOS. a mais bem posicionada. Sua denominao, Spintrnica, deve-se a
um neologismo para designar "eletr\nica baseada em spin e tambm conhecida
como magnetoeletr\nica. A eletrnica baseada em spin, ou seja, na propenso
quntica dos eltrons de girar (spin em ingls) assim como fazer uso do estado de
suas cargas
[;;]
, nasce com a descoberta do efeito magnetoresistio gigante (GMR)
em 1988, pela equipe de Albert Fert, do Laboratrio de Fsica dos Slidos em Ors1
(CNRS, Frana). Esta tecnologia levou ao desenvolvimento e patente de cabeotes
de leitura de discos pela BM, em 1997
[=!]
. A memria baseada em spintrnica
(MRAM) avanou rapidamente e a computao baseada em spin est chegando.
A Spintrnica leva a vantagem de que o spin eletricamente carregado
como o eltron e possui um estado de energia fracamente detectvel caracterizado
como spin up (spin para cima) e sping do3n (spin para baixo); requer-se menos po-
tncia para manipular spins do que cargas. Existem duas abordagens para uso do
spin: a magnetoresistividade e as correntes de spin polarizado em semicondutores
formados por materiais semimetlicos ou semicondutores magnticos diludos
(DMS).
Esses dois estados eletrnicos dos spins permitem uma extenso direta
da lgica binria, vastamente empregada nos computadores digitais. Exploram-se os
estados "spin up e "spin do3n com os assim chamados "ubits ou bits qunticos
111
spintrnicos como superposies de 0 ou 1 intrinsecamente, ento, um registrador
de dois "ubits spintr\nicos poderia ter at oito estados possveis ao invs de quatro.
As principais vantagens da spintr\nica so: a no volatilidade; o aumento
na velocidade de processamento de dados; a diminuio do consume de potncia
eltrica; o aumento nas densidades de integrao; a interface com tecnologia CMOS
existente e menores custos efetivos pois utiliza tcnicas de processo semelhantes
as da atual tecnologia CMOS. Alm disso, existem dispositivos em desenvolvimento,
tanto tericos como prticos. Por exemplo: transistores de spin ou diodos de spin4 al-
guns j demonstrados, como clulas de memria,MRAM (que logo, logo, ser co-
mercializada). Sobre estas MRAMs podemos dizer que so memrias no-volteis,
o que significa que preservam a informao aps o desligamento da fora de alimen-
tao, so 1.000 vezes mais rpidas na velocidade de gravao e sem perdas por
ciclo. Graas a 9pintr\nica foi possvel reduzir, por exemplo, o tamanho dos discos
rgidos, porm aumentando-se a capacidade de armazenamento
[22]
.
O parceiro fundamental da BM na pesquisa de 9pintr\nica a universi-
dade de Stanford e as pesquisas visam superar as barreiras de tunelamento e aque-
cimento, provenientes das limitaes fsicas da tecnologia CMOS. A spintr\nica a
tecnologia candidata mais bem posicionada para suceder a tecnologia CMOS
[6<;=]
.
112
14 CONCLUSES
As necessidades computacionais geraram mais e mais competio entre
os fabricantes de processadores para a fabricao de processadores monoproces-
sados com velocidades de processamento cada vez maiores. Corroborando a ,ei de
Moore, e graas tecnologia de fabricao envolvida, esses fabricantes puderam
adicionar mais e mais transistores equivalentes em diminutas reas de pastilhas
cada vez menores, permitindo-se um adensamento superficial destes transistores
por processador e acelerando-se mais ainda a velocidade do cloc5 ou freqncia do
c$ip at atingirem os limites impostos pela fsica.
O adensamento foi to acelerado que as freqncias alcanadas j beira-
vam o patamar das reaes nucleares atmicas, exigindo-se assim enormes quanti -
dades de energia de alimentao dos circuitos com tambm enormes necessidades
de refrigerao destes.
O aumento da freqncia de cloc5 do processador por si s no sufici-
ente para drsticas modificaes no aumento do desempenho dos processadores
atuais e, muito menos, os do futuro. dada a hora da quebra do paradigma da com-
putao atual e o j anunciado fim dos processadores monoprocessados. chegada
a hora de saudarmos o multicore e nos despedirmos do singlecore.
Mais uma vez, graas ao desenvolvimento tecnolgico dos processos de
fabricao de c$ips 90 nm, 65 nm, 45 nm, etc pode-se adensar mais ainda os tran-
sistores nos c$ips e resolveu-se inserir mltiplos ncleos numa mesma pastilha s
que com o requinte de freqncias mais baixas, ganhando-se assim mais capacida-
de de processamento com relativamente menor consumo de energia e necessidades
de refrigerao. Um novo paradigma se apresenta: a nova era dos processadores
multicores homogneos.
113
Concomitantemente, tendo os antigos co-processadores aritmticos como
modelos e devido s gigantescas demandas por computao grfica, motivadas
principalmente pela grande aceitao comercial do apelo aos jogos eletrnicos, fo-
ram desenvolvidos rapidamente dispositivos grficos dedicados de altssimo desem-
penho computacional em especficas aplicaes grficas e situados posteriormente
em dispositivos grficos separado, ou seja, placas grficas mais baratas que os pro-
cessadores, mas ainda, at aqui, dependentes destes para requisitar e disponibilizar
seu potencial computacional para os usurios que dele necessitem. Estes dispositi -
vos grficos foram se tornando to poderosos computacionalmente que seus disse-
minadores tencionam competir com os antigos processadores singlecore convencio-
nais de fins gerais em outros mercados comerciais, restritos a nichos como os de
alto desempenho (HPC) e mesmo os convencionais, tentando portar algumas aplica-
es para este fim como as do mercado financeiro, por exemplo.
Ao que tudo indica, pelos atuais movimentos do mercado, sob os auspci -
os das novssimas tecnologias de 45 nm ou menores dimenses, os fabricantes
adensaro mais ainda os seus c$ips e podero vir a internalizar muitas das funes
de uso grfico especfico nas prprias e recentssimas CPUs multicore densas com
dezenas e, talvez, centenas de ncleos. Assim sendo, pode ser que os fabricantes
de processadores convencionais e de fins gerais contra-ataquem e venham a invadir
o nicho especfico de mercado de jogos e computao grfica ou da placas grficas
como um todo.
Das tecnologias apresentadas, as GPUs possuem um enorme crescimen-
to imediato mas acreditamos, devido s suas dependncias, que este crescimento
tender a se reduzir devido ao avano do multicore e man1core e ao grau de capaci-
dade evolutiva dos fabricantes de processadores, repetindo-se assim o mesmo que
ocorreu com a insero das funes dos co-processadores internalizadas diretamen-
te nos processadores de geraes mais atualizadas. Parece aparentemente bvio.
Por mais que tentem e, de certa forma, talvez at blefem na tentativa de invaso do
mercado dominado pelas CPUs, as GPUs no consigam o seu intento e, quem
sabe, at despertem a defesa imediata dos fabricantes de CPUs e precipitem a com-
putao heterognea em novas pastilhas destes fabricantes, que possuem tecnolo-
gia, capital e inteligncia para tal.
114
Quanto outra tecnologia desenvolvida pela parceria ST (SONY-TOSH-
BA-BM), realmente, ter um futuro muito mais promissor e duradouro dadas suas
caractersticas de fins gerais e de sua revolucionria tecnologia heterognea e alts-
simo desempenho em vrias aplicaes tanto no que se especializa como multim-
dia, computao paralela de fins gerais, processamento de imagens e tantas outras
j vistas aqui. O grau de dificuldade maior da tecnologia CELL a sofisticadssima e
necessria forma de desenvolver novas aplicaes, que j devem ser feitas pensan-
do-se em paralelo e programando-se em paralelo. Muitas ferramentas de apoio j
esto sendo desenvolvidas e facilitaram sobremaneira esta facilidade de programa-
o (programabilidade+ destes novos dispositivos computacionais.
A programao paralela deve ser vista como o novo paradigma de progra-
mao em oposio frontal programao seqencial neste momento e nos mo-
mentos futuros, no como um saber restrito apenas a uns poucos que dela podem
usufruir, mas a todo e qualquer um que dela venha a necessitar de maneira acess -
vel e a baixos custos.
A computao paralela heterognea ser obrigatria a todos por razes
de necessidade fundamental, pois toda a tecnologia de desenvolvimento de novos
soft3ares e aplicaes ter necessariamente que ser executada nas atuais ou futu-
ras mquinas que sero integradas por processadores no mnimo multicores ou
man1cores mais ou at mesmo mais complexos, como os sistemas paralelos hetero-
gneos, compostos de tecnologias distintas que convivero inicialmente talvez em
sistemas tambm heterogneos situados em dispositivos fsicos distintos, como
GPUs + CPUs, mas, posteriormente, quem sabe, podero estar integrados na mes-
ma pastilha fsica.
ncentivar o ensino de programao paralela nas escolas e universidades
primordial para as geraes futuras e deve ser encarado como uma diretriz educa-
cional, tcnica e cientfica.
Acreditamos, por suas caractersticas, que o processador CELL dominar
principalmente no mercado de eletro-eletrnicos, pois est era a inteno primeira
de dois dos parceiros da ST, que possuem um enorme gabarito para tal e, devido
115
s potencialidades gerais e especficas do processador CELL, aliadas ao seu alto
poder de desempenho e bom grau de miniaturizao com baixo consumo eltrico e
pequena necessidade de refrigerao, far com que este possa vir a ser integrado
em muitos dos eletro-eletrnicos, que conhecemos e outros que passaremos a co-
nhecer. Como, por exemplo, podemos citar os novos televisores de HDTV, TV digital
de alta definio, propostos a serem lanados pela Toshiba em 2009.
A computao dita de um TeraFLOPS estar disponvel para os usurios
atravs de des5tops do tipo PC ou mesmo laptops ou noteboo5s por custos idnticos
ou menores do que os praticados pelo mercado atualmente.
Os ambientes de HPC podero ser expandidos para aqueles que, por ra-
zes econmicas, como empresas, universidades, centros de pesquisa, governos
deles no possam desfrutar e para aqueles outros que puderem ou que j desfrutem
de ambientes prximos sero mais simples, mais baratos com desempenho de um
ou mais PetaFLOPS, permitindo-se assim um maior desenvolvimento cientfico de
todas as aplicaes que delas se tornarem prescindveis e que sejam mais nobres
como a gentica, biologia, fsica ou qumica ou menos nobres como as da indstria
da guerra, das armas, do capital financeiro, sem nenhum juzo de valor a priori.
A computao paralela heterognea definitivamente se posicionar e ser
hegemnica. A tecnologia de processos de at 10 nm nos prximos dez anos no
mximo conforme prevem os cientistas, provavelmente, permitira que tecnologias
distintas inicialmente convivessem num mesmo sistema heterogneo, mas em dis-
positivos fsicos distintos e posteriormente convirjam, graas ao alto grau de adensa-
mento de transistores num mesmo c$ip, numa mesma pastilha de silcio com diminu-
tas dimenses, baixo consumo e altssimo desempenho.
Como conseqncia direta da ascenso da computao paralela hetero-
gnea, teremos a queda da portabilidade com se apresenta nos dias atuais. sto
quer dizer que os novos programas no sero necessariamente portveis para estas
diferentes mquinas mesmo que, possivelmente, sejam escritos na pedra fundamen-
tal que os unir, a linguagem C, por enquanto. Parece interessante e ser, pois os
programas tero que ser escritos de modo anlogo s linguagens de baixo nvel tipo
116
Assembl1, mas s que formatados em linguagem de alto nvel, linguagens C e For-
tran, de modo que tero que passar por processos anlogos aos de montagem dos
programas onde os compiladores C e Fortran, funcionando equivalentemente ao
montador Assembler, s compilando os programas e gerando executveis juntamen-
te com suas bibliotecas para cada parte heterognea do sistema como um todo, a
depender de sua participao no processo.
A grande vitoriosa desta revoluo advir com a computao paralela he-
terognea que se anuncia ser a humanidade como um todo, pois setores como a
indstria, a medicina, a biologia, a fsica, a qumica, a engenharia, a educao, a ci -
ncia, os governos, e todos os indivduos que direta ou indiretamente dependerem
desta tecnologia podero dela tirar os seus benefcios, o que seria impensvel nou-
tros tempos.
O processador CELL como o primeiro a incorporar, de uma maneira com-
pletamente revolucionria, esta tecnologia do processamento paralelo heterogneo,
tem tudo para ser um sucesso to grande quanto foi o da tecnologia RSC.
117
REFERNCAS BBLOGRFCAS
1. BYTE MAGAZNE, August, 1981, BM PC
2. Site http://pt.wikipedia.org/wiki/BM_PC, acessado em 01/12/2007
3. BM System p Family, Quick Reference May 2007, page 2.
4. http://www.ibm.com/news/pt/pt/2007/05/Chip.html , acessado em 01/12/2007.
5. H.,-Y. MC CREARY, M. A BROYLES, M. S. FLOYD et ali, Energy Scale for
BM Power6 microprocessor-based systems, BM Journal of Research and Devel-
opment, BM Power6 Microprocessor Technology, Vol 51, N. 6, 2007.
6. HSAN-FEN TSAO, BRAN PORTER,SAS Forecast Server Performance and
Sizing for AX on BM System p570 Server, BM Corporation, August 2007.
7. Site http://www.intel.com, acessado em 30/11/2007.
8. Site http://www.ibm.com, acessado em 01/12/2007.
9. Site http://www.nvidia.com, acessado em 20/11/2007.
10. Site http://www.amd.com, acessado em 14/11/2007.
11. Site http://www.wikipedia.org, acessado em 03/11/2007.
12. Site http://www.gpgpu.org, acessado em 10/11/2007.
13. Site http://www.georgiatech.edu, acessado em 30/10/2007.
14. Site http://www.mit.edu, acessado em 16/10/2007.
15. Site http://www.stanford.edu, acessado em 23/10/2007.
16. Site http://www.lanl.gov, acessado 28/10/2007.
17. Site http://www.di.ufpe.br, Curso de Vero Java, acessado em 03/12/2007.
18. BRUNO CARDOSO, SVO R. A S. ROSA, TAGO M. FERNANDES, C-UN-
CAMP, RA (023241,025144,025313).
19. Site http://www.sony.com, acessado em 25/12/2007.
118
20. Site http://www.toshiba.com, acessado em 10/12/2007.
21. http://www.blachford.info/computer/Cell/Cell4_v2.html , The Revenge of RSC,
Cell Architecture Explained Version 2, Parte 4, acessado em 08/11/2007.
22. http://blogs.intel.com/brasildigital/2007/08/processadores_multicore ..., acessa-
do em 21/11/2007.
23. http://en.wikipedia.org/wiki/Locality_of_reference , acessado em 20/12/2007.
24. http://www.intel.com/portugues/pressroom/releases/2005/0418b.htm , acessa-
do em 01/11/2007.
25. http://www.sun.com , acessado em 29/11/2007.
26. http://www.sun.com/processors/UltraSPARC-T1/ , acessado em 29/11/2007.
27. http://www.research.ibm.com/cell , acessado em 01/09/2007.
28. Zhirnov, V.V.;Cavin, R.K., ; Hutchby, J.A.; Bourianoff, G..; Limits to binary
logic switch scaling a gedanken model,Bourianoff, Proceedings of the EEE,
Volume 91, ssue 11, Nov 2003 Pages(s): 1934-1939.
29. S. E. Thompson, Fall 2004, University of Florida, Fall 2004, Limits for
Si MOSFETs (continued)
30. http://techfreep.com/tokyo-u-touts-512-core-processor.htm , Tokio U Touts
512-Core Processor.
31. http://pt.wikipedia.org/wiki/Lei_de_Joule , acessado em 23/11/2007.
32. H. Lee, K. Mayes, D. Andrews, E. Althinoglu, J. Klug, R. Priestley, Whats
wrong with CMOS and whats our alternative?, May 7, 2004, no site
http://mri63.adtech.icair.org.
33. http://en.wekipedia.org/wiki/Multicore , acessado em 20/11/2007.
34. Webinar da ntel, http://www.intel.com, Tim Mattson; James Reinders, Parallel
computing has gone mainstream: Will be ready?, em 20 de maro de 2007.
35. http://pt.wikipedia.org/wiki/Lei_de_Amdahl , acessado em 29/11/2007.
36. J. A Kahle et al, ntroduction to the Cell multoprocessor, BM J. Res. & Dev.,
Vol. 49, No. 45, July September 2005.
37. MT Course 6.189 AP, 2007, Prof Dr. Saman Amarasinghe and Prof Dr.
Rodric Rabbah, Lectures 1-18, http://cag.csail.mit.edu/ps3/lectures.shtm , aces-
sador em 01/10/2007.
38. Mike Houston Stanford University, General-Purpose Computations on
Graphics Hardware, Tutorial of SGGRAPH 2007, August 2007.
119
39. http://www.cis.upenn.edu/~suvenkat/700/ , acessado em 20/11/2007.
40. http://graphics.stanford.edu/courses/cs448-07-spring/ , Course of Stanford Uni-
versity CS448-07-spring, Performance Analysis and Characterization Real
Time Graphics Architecture, Kurt Akeley and Pat Hanrahan.
41. Mike Houston Stanford University, High Level Languages for GPUs, Tutorial
of SGGRAPH 2007, August 2007.
42. Justin Hensley Stanford University, Close to The Metal, Tutorial of SG-
GRAPH 2007, August 2007.
43. http://www.blachford.info/computer/Cell/Cell1_v2.html , nside the Cell, Cell Ar-
chitecture Explained Version 2, Parte 4, acessado em 08/11/2007.
44. http://developer.apple.com/hardware/ve/summary.html , Apple (2004-09-27)
Executive Summary.
45. http://www.blachford.info/computer/Cell/Cell3_v2.html , Programming the Cell,
Cell Architecture Explained Version 2, Parte 4, acessado em 08/11/2007.
46. http://www.microsoft.com , acessado em 10/11/2007.
47. http://www.nintendo.com , acessado em 10/11/2007.
48. Mark Harris Nvidea, ntroduction to CUDA, Tutorial of SGGRAPH 2007,
August 2007.
49. J. D. Owens et al, A Survey of General-Purpose Computation on
Graphics ar!ware." #n 6urograp$ics LQQP, 9tate of t$e Art >eports, Au$ust
%&&', pp. %(-'(.
50. Dispositivo !e )usca Goo$le, http*++www.$oo$le.com, acessa!o em
&,+(%+%&&-.
51. http://www.es.jamstec.go.jp/index.en.html , acessado em 04/12/2007.
52. http://www.top500.org , acessado em 04/12/2007.
53. http://www.llnl.com , site do Lawrence Livermore National Laboratory,
acessado em 21/11/2007.
54. http://www.research.ibm.com/bluegene , Projeto BM BlueGene/P, acessador
em 03/09/2007.
55. http://www.lanl.gov , Los Alamos National Laboratory, acessado em
30/11/2007.
120
56. http://www.lanl.gov/orgs/hpc/roadrunner/index.shtml , site do Projeto
RoadRunner do Los Alamos Lab, acessado em 30/11/2007.
57. A. FAZZO, Alguns Aspectos da Nanotecnologia Molecular, nstituto de Fsica,
Universidade de So Paulo, So Paulo, SP.
58. http://grape-dr.adm.s.u-tokyo.ac.jp/system-en.html , acessado em 16/12/2007.
59. http://grape-dr.adm.s.u-tokyo.ac.jp/index-en.html , acessador em 16/12/2007.
60. http://www.hpcwire.com/hpc/1154214.html , acessado em 16/12/2007.
61. http://pt.wikipedia.org/wiki/Wafer_Eletrnica , acessado em 10/12/2007.
62. http:// pt.wikipedia.org/wiki/Fton , acessado em 27/12/2007.
63. http:// pt.wikipedia.org/wiki/Efeito_Compton , acessado em 27/12/2007.
64. http:// pt.wikipedia.org/wiki/Princpio_da_incerteza_de_Heisenberg , acessado
em 10/12/2007.
65. http://www.sindicato.com.br/contren/principi.htm , acessado em 10/12/2007.
66. http://www.mundoquimico.hpg.com.br , acessado em 10/12/2007.
67. http://ciencia.hsw.uol.com.br/quantum-suicidio1.htm ,acessado em 10/12/2007.
68. http://pt.wikipedia.org/wiki/Quanta , acessado em 27/12/2007.
121
ANEXOS
122
ANEXO A - LE DE MOORE
Um dos grandes mitos da indstria de semicondutores e um dos fundado-
res da ntel, Gordon Moore (Figura 34), publicou um artigo na revista 6letronics Ma'
gazine, datado de 19 de abril de 1965 onde afirmava, naquela data, quinze anos an-
tes dos computadores pessoas, que com o ritmo de evoluo tecnolgica, seria pos-
svel duplicar o nmero de transistores numa rea de silcio a cada ano. A verifica-
o de Moore foi observar que a dimenso linear do transistor se reduzia por um fa-
tor 1/\2 em cada nova tecnologia de fabricao. Conseqentemente, a rea diminui-
ria com um fator de 2 e, portanto, 2 vezes mais transistores seriam colocados em um
c$ip.
Devido ao aumento da complexidade na manufatura de c$ips, Moore rea-
justou esse perodo para dois anos em novo artigo publicado em 1975. Esta obser-
vao ficou popularmente conhecida como ,ei de Moore e, atualmente o perodo foi
atualizado para 18 meses.
A ,ei de Moore implica em interessantes corolrios pois, com o aumento
de transistores possvel produzir processadores menores, mais velozes e at mais
baratos, devido ao aumento de produtividade dos 3afers de silcio. Por conseqn-
cia, essa idia levaria a uma dramtica reduo nos custos de fabricao. sso foge
ao senso comum de que um produto mais novo e de melhor desempenho costuma
ser mais caro para ser produzido e no mais barato.
123
Figura 34 Tributo a Gordon Moore
Fonte: Site www.forumpcs.com.br, acessado em 30/11/07
Grfico 1 Evoluo do nmero de transistores nos microchips ntel no tempo
Fonte: Wikipedia, www.wikipedia.com, acessado em 30/11/07
124
No Grfico 1, podemos observar a constatao da ,ei de Moore, notando
que vlida ajustada para os processadores ntel a cerca de 40 anos, se considera-
do o perodo de 18 meses para que se tenha dobrado o nmero de transistores no
chip.
As previses mais otimistas do conta que a ,ei de Moore ser vlida, tal-
vez, at o ano de 2020. Ocorre que, como ainda se pode observar do Grfico 1, uma
das formas de se aumentar capacidade de processamento aumentando-se o n-
mero de transistores dos microprocessadores, alm de se aumentar a sua freqn-
cia de operao, naturalmente. Mas, o que acontece que quanto maior for o nme-
ro de transistores, maior a energia dissipada sob a forma de calor. Do ponto de vista
prtico, como sabido por todos que lidam na vida prtica com processadores,
quanto maior a capacidade de processamento de uma CPU, mais ela esquenta e es-
quenta tanto que, se providncias radicais no forem tomadas para reduzir a produ-
o de calor e tambm dissip-lo mais eficientemente para o meio ambiente ou a at -
mosfera, o circuito simplesmente derrete.
A explicao simples, advm da fsica elementar: a potncia consumida
em um circuito proporcional resistncia passagem da corrente eltrica e direta-
mente proporcional ao quadrado da tenso aplicada (ou seja, P = V
2
. R). Ento, dois
objetivos se apresentam para os fabricantes de processadores: diminuir a tenso de
alimentao (ou "voltagem) e reduzir a resistncia para aumentar a capacidade de
processamento dos processadores sem que estes derretam.
A reduo de tenso tecnicamente impraticvel por dificuldades de or -
dem tecnolgica, apesar de muitos fabricantes tambm trabalharem com famlias de
processadores de baixa voltagem (lo3 oltage). Ento, o nico caminho tecnolgico
a ser seguido o da diminuio da resistncia.
Sabemos da eletrnica bsica e da fsica de semicondutores, que um
transistor constitudo de uma poro de silcio (Si) qual foram agregadas algu-
125
mas impurezas, especialmente o elemento qumico germnio (Ge). Ento, para se
fabricar um transistor preciso produzir uma fina camada ou placa de cristal de sil-
cio puro e acrescentar pequenas pores do elemento germnio. A este processo f-
sico-qumico denominamos de dopagem do silcio. E, como um circuito integrado
nada mais do que uma combinao de um imenso nmero de transistores que,
para fabric-los usa-se uma nica camada de silcio na qual se depositam microsc-
picas pores de germnio em determinados pontos numa placa que recebe o nome
de 3afer. Depois, s fazer as ligaes eltricas e envasar o c$ip no encapsula-
mento. Esta uma descrio didtica e excessivamente simplificada.

A tecnologia de fabricao dos 3afers tambm muito relevante. Apenas
para efeito de esclarecimento, atualmente a dimenso dos 3afers fabricados da
ordem de 300 mm mas j existe tecnologia de fabricao para 3afers de 450 mm
em estudo.
Objetivamente, dos argumentos acima, podemos concluir: quanto mais
fina a camada de silcio usada como base do circuito, menor a resistncia que ela
apresentar passagem da corrente eltrica e, conseqentemente, menor o calor
dissipado. Portanto, como o nmero de transistores e a freqncia de operao dos
modernos microprocessadores continuam crescendo, se aumentado a densidade de
transistores por unidade de rea, em no se podendo baixar mais a tenso de ali -
mentao, s restou aos fabricantes continuar reduzindo a espessura da camada de
silcio.
As espessuras das camadas de silcio dos computadores pessoais dos
anos 80 eram da ordem de 1000 nm (um nanmetro uma medida de comprimento
igual a um bilionsimo de metro, ou seja, 10
-9
m) e hoje, so da ordem de 65 nm
(multicores ntel ou AMD, por exemplo), com perfectivas de 45 nm (novos multicore
ntel ou AMD, ou processadores BM CELL, a serem lanados nos anos de 2009-
2010) [???].
Para concluir, verificamos que estamos nos aproximando de fenmenos
fsicos que ocorrem com objetos de dimenses muito, muito pequenas, diminutas,
126
da ordem das dimenses de poucos tomos alinhados, poucos angstons (um angs'
tron uma medida de comprimento da escala atmica, isto , 1 A = 10
-10
m) e est
uma abordagem que s pode ser conduzida alm de uma Fsica Clssica, Newtonia-
na, e apenas por uma Fsica Moderna, Fsica Quntica. Estes fenmenos que pas-
sam a ocorrer e limitar o paradigma vigente de tecnologia CMOS tm suas restries
definidas e delimitadas pela Fsica Quntica e, possivelmente, como alegam os cien-
tistas que o estudam, poder ser quebrado com a instaurao de um novo paradig-
ma (ou tabD) com o imprescindvel auxlio da prpria Fsica Quntica. sto , as cau-
sas dos problemas decorrentes dos processos de fabricao da tecnologia CMOS
induziro e permitiram tirar proveitos de outros fenmenos fsicos descritos e estuda-
dos pela Mecnica Quntica, como movimento de spins de eltrons, etc. Para, pos-
sivelmente, obtermos novos paradigmas tecnolgicos que permitam o avano e o
progresso da Cincia. Em particular, em suas aplicaes aos novos computadores
qunticos que se espera passem a existir daqui a uns 20 ou 30 anos, com prazos
otimistas.
127

ANEXO B - PRNCPO DA NCERTEZA DE HESENBERG
O princpio da incerteza de Heisenberg consiste num enunciado da mec-
nica quntica, formulado inicialmente em 1927 pelo fsico alemo Werner Heisen-
berg, impondo restries preciso com que se podem efetuar medidas simultJne'
as de uma classe de pares de observveis
[75M
.
possvel medir com preciso, a posio de corpos grandes, como, por
exemplo, um automvel. Por outro lado, H que se considerar que o eltron to
pequeno, que se tentasse calcular sua posio e velocidade, os prprios instrumen-
tos de medida iriam influenciar as determinaes
[7=M
. sso porque, para se estudar
uma partcula, preciso interagir de alguma maneira com esta partcula. Nenhum
instrumento pode "sentir ou "er um eltron sem influenciar intensamente o seu
movimento. Se, por exemplo, construssemos um microscpio to poderoso, capaz
de localizar um eltron, teramos de usar uma radiao com comprimento de onda
muito menor que o da luz. (Para que um objeto diminuto possa ser visto num micros-
cpio, o comprimento de onda da luz utilizado deve ser menor que o dimetro do ob-
jeto.) Esse super microscpio imaginrio deveria, para isso, usar raios X ou raios

.
Mas a energia destas radiaes to grande que modificaria a velocidade e, conse-
qentemente, o momento do eltron, numa quantidade grande e incerta. O princpio
da incerteza pode ser assim interpretado: quanto mais de perto tentarmos olhar uma
partcula diminuta, tanto mais difusa se torna a viso da mesma
[77M
.
Um dos maiores problemas dos experimentos qunticos a aparente-
mente inevitvel tendncia humana de influenciar o estado e a velocidade de peque-
nas partculas. sto acontece at mesmo quando somente observamos as partculas,
frustrando os fsicos qunticos. Para se combater isso, os fsicos criaram mquinas
128
enormes e complexas, como os aceleradores de partculas, que removem qualquer
influncia humana do processo de acelerar a energia de movimento de uma partcu-
la
[7!M
.
Ainda assim, os resultados variados que os fsicos obtm, quando exami -
nam a mesma partcula, indicam que no conseguimos evitar afetar o comportamen-
to dos quanta (plural de quantum, em latim
[76]
) ou partculas qunticas. At mesmo
a luz que os fsicos utilizam para ver melhor os objetos que eles esto observando
pode influenciar o comportamento dos quanta. Os ftons, partculas elementares
mediadoras da fora eletromagntica, por exemplo, mesmo sendo a menor medida
de luz, que no tm massa nem carga eltrica, ainda conseguem fazer uma partcu-
la se mexer, alterando sua velocidade e acelerao. Este o chamado Princpio da
ncerteza de Heisenberg. Werner Heisenberg descobriu que as nossas observaes
tm efeito sobre o comportamento dos quanta. O Princpio da ncerteza de Heisen-
berg parece difcil de entender at mesmo o nome intimida. Mas na verdade fcil
de compreender, e quando se consegue, entende-se o principal fundamento da
mecnica quntica.
conveniente uma analogia para o entendimento do Princpio de Heisen-
berg. maginemos que somos cegos e com o tempo desenvolvemos uma percepo
tcnica para dizer a que distncia um objeto est, jogando uma bolinha de borracha
nele. Se a bolinha for jogada numa banqueta prxima, a bolinha volta rpido, e sabe-
remos o quo perto. Se a bolinha for jogada em alguma coisa do outro lado da rua,
vai levar mais tempo para ela voltar, e saberemos que o objeto est longe. O proble-
ma fundamental quando a bolinha jogada principalmente uma bolinha de bor-
racha em algum objeto, a bolinha vai jogar este objeto do outro lado da sala e
pode at mesmo ter impulso para bater de volta. Pode-se dizer onde o objeto esta-
va, mas no onde est agora. Tem mais: pode-se calcular a velocidade do objeto
depois que este foi atingido pela bolinha, mas no se tem idia de qual era a sua ve-
locidade antes de a bolinha bater. Este o problema revelado pelo Princpio da n-
certeza de Heisenberg. Para saber a velocidade de um "uar5 (uma das partculas
qunticas) devemos medi-la, e para medi-la, somo forados a afet-la. A mesma coi -
sa acontece para a observao da posio de um objeto. A incerteza sobre a posi-
129
o e velocidade de um objeto torna difcil para o fsico descobrir muito sobre ele.
claro que os fsicos no jogam bolinhas de borracha nos quanta para medi-los, mas
mesmo a mais sutil interferncia pode fazer com que estas partculas incrivelmente
pequenas se comportem de maneira diferente. por isso que os fsicos qunticos
so forados a criar experimentos mentais baseados nas observaes dos experi -
mentos reais para provar ou contestar interpretaes explicaes para a teoria
quntica.
Formalmente, pode-se exprimir o Princpio da ncerteza nos seguintes ter-
mos:
O produto da incerteza associada ao alor de uma coordenada
x
i
e a incerteza associada ao seu correspondente momento linear p
i
no pode ser in'
ferior, em grandeza, ] constante de ;lanc5 normalizada.
Em termos matemticos, exprime-se assim:
i
x
.
i
p

#

onde a constante de Planck (h) dividida por # .


A explicao disso de fcil entendimento, e fala em favor da intuio,
embora o raciocnio clssico e os aspectos formais da anlise matemtica tenham
levado os cientistas a pensarem diferentemente por muito tempo.
Quando se quer encontrar a posio de um objeto qualquer, como el-
tron, por exemplo, necessrio faz-lo interagir com algum instrumento de medida,
direta ou indiretamente. Por exemplo, faz-se incidir sobre ele algum tipo de radiao.
Tanto faz que se considere a radiao do modo clssico constituda por ondas ele-
tromagnticas ou do modo quntico constitudo por ftons. Se quer determinar a
posio do eltron, necessrio que a radiao tenha comprimento de onda da or-
dem da incerteza com que se quer determinar a posio.
130
Neste caso, quanto menor for o comprimento de onda (maior freqncia)
maior a preciso. Contudo, maior ser a energia cedida pela radiao (onda ou f-
ton) em virtude da relao de planc5 entre a energia e a freqncia da radiao:
. h E =
e o eltron sofrer um recuo tanto maior quanto maior for essa energia, em virtude
do efeito Compton (Efeito Compton ou o Espalhamento de Compton, a diminuio de
energia -- aumento de comprimento de onda -- de um fton de raio-X ou de raio gama,
quando ele interage com a matria
[72M
). Como conseqncia, a velocidade sofrer uma
alterao no de todo previsvel, ao contrrio do que afirma a mecnica clssica.
Argumentos anlogos poderiam ser usados para se demonstrar que ao se
medir a velocidade com preciso, alterar-se-ia a posio de modo no totalmente
previsvel.
Resumidamente, pode-se dizer que tudo se passa de forma que quanto
mais precisamente se medir uma grandeza, for(osamente mais ser imprecisa a
medida da grandeza correspondente, chamada de canonicamente conjugada.
N#t'reF# $# +e$i$# e+ +e)N"i)# L'N"ti)#
Como se pode depreender da argumentao anterior, a natureza de uma
medida sofre srias reformulaes no contexto da mecnica quntica. De fato, na
mecnica quntica uma propriedade leva o nome de obserel, pois no existem
propriedades inobservveis nesse contexto. Para a determinao de um observvel,
necessrio que se tenha a preparao conveniente do aparato de medida, a fim de
que se possa obter uma coleo de valores de ensemble de entes do sistema. Se
131
no puder montar, ao menos teoricamente (em um ?edan5enexperiment) uma pre-
parao que possa medir tal grandeza (obserel), ento impossvel determin-la
naquelas condies do experimento.
Uma comparao tornar mais clara esta noo. No experimento de difra-
o da dupla fenda, um feixe de eltrons atravessando uma fenda atinge mais adi -
ante duas outras fendas paralelas traadas numa parede opaca. Do lado oposto da
parede opaca, a luz, atravessando as fendas simultaneamente, atinge o anteparo.
Se puser sobre este um filme fotogrfico, obtm-se pela revelao do filme um pa-
dro de interferncia de zonas claras e escuras. Este resultado indica uma natureza
ondulatGria dos eltrons, resultado esse que motivou o desenvolvimento da mecni -
ca quntica.
Entretanto, pode-se objetar e afirmar-se que a natureza dos eltrons seja
corpuscular, ou seja, composta de ftons. Pode-se ento perguntar por qual fenda o
eltron atravessou para alcanar o anteparo. Para determinar isso, pode-se pr,junto
a cada fenda, uma pequena fonte luminosa que, ao menos em princpio.pode indicar
a passagem dos eltrons por tal ou qual fenda. Entretanto, ao faz-lo, o resultado do
experimento radicalmente mudado. A figura de interferncia, antes presente, agora
d lugar a uma distribuio gaussiana bimodal de somente duas zonas claras em
meio a uma zona escura, e cujos mximos se situam em frente s fendas. sto acon-
tece porque as naturezas ondulatria e corpuscular do eltron no podem ser simul -
taneamente determinadas. A tentativa de determinar uma inviabiliza a determinao
da outra. Essa constatao da dupla natureza da matria (e da luz) leva o nome de
princ/pio da complementaridade.
Essa analogia serve para mostrar como o mundo micro fsico tem aspec-
tos que diferem significativamente do que indica o senso comum.
Para se entender perfeitamente o alcance e o real significado do princpio
da incerteza, necessrio que se distingam trs tipos reconhecidos de propriedades
dinmicas em mecnica quntica:
132
;ropriedades compat/eis: so aquelas para as quais a medida si'
multJnea e arbitrriamente precisam de seus valores no sofre ne-
nhum tipo de restrio bsica. Exemplo: a medio simultnea das co-
ordenadas x, y, z de uma partcula. A medio simultnea dos momen-
tos p
x
, p
y
, p
z
de uma partcula.
;ropriedades mutuamente excludentes2so aquelas as quais a medida
simultnea simplesmente impossvel. Exemplo: se um eltron est
numa posio x
i
, no pode estar simultaneamente na posio diferente
x
j
.
;ropriedades incompat/eis2 so aquelas correspondentes a grande-
zas canonicamente conjugadas, ou seja, aquelas cujas medidas no
podem ser simultaneamente medidas com preciso arbitrria. Em ou-
tras palavras, so grandezas cujas medidas simultneas no podem
ser levadas a cabo em um conjunto de subsistemas identicamente pre-
parados (ensemble) para este fim, porque tal preparo no pode ser re-
alizado. Exemplo: as coordenadas x, y, z e seus correspondentes
momentos p
x
, p
y
, p
z
, respectivamente. As coordenadas angulares
i

e
os seus correspondentes momentos angulares J
i
.
OJ&er-D-ei& e O@er#$%re&
No formalismo matemtico da mecnica quntica, os observveis so re-
presentados por operadores matemticos sobre o espao de Hilbert (matemtico
alemo). Esses operadores podem ser construdos a partir de seus equivalentes
clssicos.
No formalismo de Heisenberg, as relaes de incerteza podem ser dadas
na forma de um operador comutador, que opera sobre dois outros operadores quais-
quer:
BA AB B A ] % [
133
onde A e B so operadores quaisquer.
No caso das relaes de incerteza:
=
kl l k
i B X ] % [
Dirac, fsico e matemtico francs, notou a semelhana formal entre o co-
mutador e os parnteses de Poisson, outro matemtico e fsico francs. Sabedor da
equivalncia usado pelo fsico austraco Schrdinger, quando este postulou a forma
da equao de onda. Dirac, postulou as seguintes equivalncias, que valem como
receita para se acharem os operadores qunticos correspondentes a grandezas
clssicas:
coordenada x
k
operador X
k
momento p
l
operador
k
x
i

& % '
l k
p x ] % [
"
l k
P X
i

A descrio dos objetos microscpicos tem conseqncias tericas impor-


tantes, como o princpio da incerteza de Heisenberg. O fato de os objetos microsc-
picos, em muitas situaes, terem uma localizao no espao mesmo que aproxima-
da, implica que no podem ser descritos por uma onda com um s comprimento de
onda (onda plana), pois esta ocuparia todo o espao. necessria uma superposi -
o de comprimentos de ondas diferentes para se obter um "pacote de ondas mais
bem localizado e que represente o objeto microscpico.
134

You might also like