Você está na página 1de 15

Cell

Saltar a: navegacin, bsqueda Para el personaje de Dragon Ball, vase Cell (personaje de Dragon Ball). Para la novela, vase Cell (novela).

El procesador Cell. Cell es una arquitectura de microprocesador1 desarrollada conjuntamente por Sony Computer Entertainment, Toshiba, e IBM, en una alianza conocida con el nombre de STI.2 El diseo de arquitectura y su primera implementacin se llevaron a cabo en el STI Design Center de Austin, Texas, durante un periodo total de cuatro aos que comenz en marzo de 2001, empleando un presupuesto de 400 millones de dlares segn IBM.3 Cell es la abreviatura de Cell Broadband Engine Architecture (arquitectura de motor Cell de banda ancha), conocida tambin como CBEA por sus siglas al completo o Cell BE. Cell emplea una combinacin de la arquitectura de ncleo PowerPC, de propsito general y medianas prestaciones, con elementos coprocesadores4 en cascada, los cuales aceleran notablemente aplicaciones de procesado de vectores y multimedia, as como otras formas de computacin dedicada.4 La primera gran aplicacin comercial del Cell fue la videoconsola PlayStation 3 de Sony. Tambin podemos encontrar este procesador en servidores duales Cell, blade (tipo de servidor autocontenido) Cell en configuracin dual, tarjetas aceleradoras PCI-Express y adaptadores de televisin de alta definicin. Caractersticas nicas como el subsistema de memoria XDR de RAMBUS y el bus de interconexin de elementos (Element Interconnect Bus, EIB)5 parece que posicionan el Cell de manera ventajosa en el empleo de aplicaciones futuras en el campo de la supercomputacin, donde se sacara provecho de la habilidad del procesador para manejar ncleos de coma flotante. IBM ha anunciado planes para incorporar procesadores Cell como tarjetas de expansin en sus mainframes IBM System z9, para que de este modo puedan ser empleados como servidores en juegos de rol multijugador online masivos (MMORPGs).6

En noviembre de 2006, David A. Bader, del Instituto Tecnolgico de Georgia fue escogido por Sony, Toshiba e IBM de entre ms de una docena de universidades para dirigir el primer Centro STI de expertos para el procesador Cell (STI Center of Competence for the Cell Processor).7 8 9 Esta alianza tiene por objetivo crear una comunidad de programadores y ampliar el apoyo de la industria al procesador Cell.7 8 Existe un vdeo tutorial sobre cmo programar el Cell a disposicin del pblico.10

ndice

1 Historia o 1.1 Comercializacin 2 Anlisis o 2.1 PowerXCell 8i o 2.2 Influencias y contrastes 3 Arquitectura o 3.1 Elemento Power de Proceso (Power Processor Element) o 3.2 Elementos Sinergsticos de Proceso (Synergistic Processing Elements, SPE) o 3.3 Bus de Interconexin de Elementos (Element Interconnect Bus, EIB) 3.3.1 Asignacin del ancho de banda 3.3.2 Interconexin ptica o 3.4 Controladora de memoria y E/S 4 Usos posibles o 4.1 Servidor Blade o 4.2 Consolas de videojuegos o 4.3 Cine en casa o 4.4 Supercomputacin o 4.5 Computacin en clster o 4.6 Mainframes 5 Ingeniera de software o 5.1 Colas de trabajo o 5.2 Multitarea autnoma en los SPEs o 5.3 Procesado de flujos o 5.4 Computacin distribuida o 5.5 Desarrollo de software en cdigo abierto 6 Referencias 7 Enlaces externos

Historia

Peter Hofstee, uno de los jefes de arquitectos del Cell. En el ao 2000, Sony Computer Entertainment, Toshiba Corporation, e IBM formaron una alianza (STI) para disear y manufacturar el procesador. El centro de diseo STI (STI Design Center) abri sus puertas en marzo de 2001.11 El Cell estuvo en fase de diseo durante cuatro aos, empleando versiones mejoradas de las herramientas de diseo usadas con el procesador POWER4. Alrededor de 400 ingenieros de las tres compaas trabajaron en Austin, con el estrecho apoyo de once de los centros de diseo de IBM.11 Durante este periodo, IBM registr diversas patentes relacionadas con la arquitectura Cell, el proceso de fabricacin y el entorno software. La primera versin de la patente del Broadband Engine mostraba un encapsulado de chip conteniendo cuatro elementos de procesamiento (Processing Elements), lo cual era la descripcin en la patente de lo que ahora se conoce como elementos power de proceso (Power Processing Element). Cada elemento del proceso contena 8 procesadores aritmticos, designados como SPEs en el actual chip Broadband Engine. Dicho encapsulamiento se especula que habitualmente posea una velocidad de reloj de 4 GHz, con 32 unidades de procesamiento aritmtico que proporcionaban un total de 32 GFLOPS cada una. De este modo, el Broadband Engine mostraba un Teraflop de potencia de computacin bruta. En marzo de 2007, IBM hizo pblico que la versin en 65 nm del Cell BE se encontraba en produccin en su planta de East Fishkill, Nueva York.12 13 Nuevamente, durante el mes de febrero de 2008, IBM anunci su intencin de comenzar la fabricacin de procesadores Cell con tecnologa de 45nm.14

Comercializacin
El 17 de mayo de 2005, Sony Computer Entertainment confirm algunas de las especificaciones del procesador Cell que sera incluido dentro de la futura videoconsola PlayStation 3.15 16 17 En esta configuracin del Cell, se incluira un elemento power de proceso (PPE) en el ncleo, junto con 8 unidades sinergsticas de proceso (SPEs) en la oblea de silicio.17 En la PlayStation 3, una de las SPEss se bloquea durante el proceso de testeo, prctica que ayuda a mejorar el rendimiento de fabricacin, y otra se reserva para el sistema operativo, dejando con ello 6 SPEs libres para ejecutar el cdigo de los juegos.18 La velocidad de reloj objetivo durante su lanzamiento son 3,2 GHz16 El primer diseo se fabric usando tecnologa de fabricacin SOI de 90 nm, de cuya produccin inicial se encarg la fbrica de IBM en East Fishkill.12

La relacin existente entre ncleos e hilos es una fuente usual de confusiones. El PPE es capaz de manejar dos hilos de ejecucin y se muestra en software como tal, mientras que cada SPE activa se muestra como uno slo. En la configuracin de la PlayStation 3, tal y como la describe Sony, el procesador Cell proporciona nueve hilos de ejecucin. El 28 de junio de 2005, IBM y Mercury Computer Systems hicieron pblico un acuerdo para producir sistemas basados en Cell para aplicaciones embebidas tales como produccin de imgenes mdicas, inspeccin industrial, procesamiento aeroespacial, aplicaciones de defensa, de deteccin de sesmos y tambin para telecomunicaciones.19 Mercury ha comercializado desde entonces blades, servidores convencionales en armario y aceleradoras PCI-Express con procesadores Cell.19 En el otoo de 2006, IBM lanz el mdulo blade QS20, empleando procesadores Cell BE dobles que proporcionaba un tremendo rendimiento en cierto tipo de aplicaciones, alcanzando un mximo de 410 GFLOPS por mdulo. Los mdulos QS22 integran supercomputador IBM Roadrunner, que entr en funcionamiento en el 2008. Mercury e IBM hacen uso del procesador Cell al completo, con sus 8 SPEs activas.

Anlisis
El procesador de banda ancha Cell (Cell Broadband Engine) o ms comnmente Cell es un microprocesador diseado para cubrir el hueco existente entre procesadores convencionales de sistemas de escritorio (tales como las familias Athlon, Pentium y PowerPC) y los procesadores especializados de alto rendimiento, como los procesadores grficos (GPUs) de NVIDIA y ATI Technologies. Su nombre completo indica las especificaciones de su uso, principalmente como componente en sistemas de distribucin digital presentes y futuros. Como tal, puede ser empleado en pantallas y equipo de grabacin de alta definicin, as como en sistemas de entretenimiento informtico para la era HDTV. De manera adicional, el procesador puede ser el apropiado para sistemas digitales de obtencin de imagen (mdicas, cientficas, etc.), as como para simulaciones fsicas (por ejemplo, modelado de ingeniera estructural o cientfico). En un anlisis simple, el procesador Cell se puede descomponer en cuatro partes:

estructuras externas de I/O, el procesador principal (llamado Power Processing Element (PPE), consistente en un ncleo Power ISA (Instruction Set Architecture) v.2.03 de dos vas multihilo simultneo, ocho coprocesadores funcionales denominados Synergistic Processing Elements, o SPEs; y un bus de datos circular especializado de gran ancho de banda que conecta la PPE, los elementos I/O y las SPEs, llamado bus de interconexin de elementos o Element Interconnect Bus (EIB).

Para alcanzar el alto rendimiento necesario para tareas matemticas intensivas, tales como decodificar o codificar secuencias MPEG, generar o transformar datos 3D, o llevar a cabo anlisis Fourier de datos, el procesador Cell ana las SPE y el PPE por medio del EIB para proporcionarles acceso tanto a la memoria principal como a dispositivos externos de almacenamiento. El PPE, que es capaz de ejecutar un sistema operativo convencional, posee el control sobre las SPEs y puede comenzar, interrumpir y programar procesos para que se ejecuten en las mismas. Tiene para este fin instrucciones adicionales relativas al control de las SPE. A pesar de presentar arquitecturas Turing completas, las SPE no son completamente autnomas y requieren que el PPE les enve rdenes antes de poder ejecutar ninguna tarea de utilidad. Sin embargo, la mayor parte del caballaje proviene de las unidades sinergsticas de proceso. El PPE y la arquitectura de bus incluyen varios modos de operacin que proporcionan diferentes niveles de proteccin de memoria. Permitiendo que ciertas reas de la memoria se protejan del acceso por parte de procesos especficos que se estn ejecutando en las SPE o en la PPE. Tanto la arquitectura de la PPE como las de las SPE son de tipo RISC, con instrucciones de un tamao de palabra fijo de 32 bits. El PPE contiene un juego de registros de propsito general de 64 bits (GPR), un registro de coma flotante de 64 bits (FPR) y un juego de registros de tipo Altivec de 128 bits. La SPE contiene solamente registros de 128 bits. stos se pueden emplear para diversos tipos de datos escalares que pueden ir desde los 8 hasta los 128 bits de tamao o, para clculos SIMD, en una variedad de formatos enteros o de coma flotante. Las direcciones de memoria tanto para el PPE como para las SPEs se expresan como valores de 64 bits, proporcionando un rango terico de direcciones de 264 bytes (16.777.216 terabytes). En la prctica no todos esos bits se implementan por hardware. De todos modos, el espacio de direcciones es extremadamente grande. Las direcciones de almacenamiento locales de las SPE se expresan como palabras de 32 bits. En la documentacin relativa al Cell, el trmino palabra siempre se refiere a 32 bits, doble palabra a 64 bits y cudruple palabra a 128 bits.

PowerXCell 8i
En el 2008, IBM anunci una variante revisada del Cell llamada PowerXCell 8i, la cual est disponible en los Servidores Blade QS22 de IBM. El PowerXCell es fabricado con proceso de 65 nm, y agrega soporte de hasta 32 GB de memoria DDR2, as como tambin unas prestaciones dramticamente mejoradas en coma flotante de doble precisin en los SPE con picos de alrededor de 12,8 GFLOPS hasta 102,4 GFLOPS total para ocho SPEs. La supercomputadora IBM Roadrunner, actualmente la segunda ms rpida del mundo, consiste de 12.240 procesadores PowerXCell 8i, junto a 6.562 procesadores AMD Opteron.20 Junto al QS22 y la computadora RoadRunner, el procesador PowerXCell

tambin est disponible como un acelerador en una tarjeta PCI-Express y se utiliza como el procesador de ncleo en el proyecto QPACE.

Influencias y contrastes
En algunos aspectos el sistema Cell se asemeja a los primeros diseos de Seymour Cray, pero a la inversa. El conocido CDC6600 empleaba un nico procesador, muy rpido, para manejar los clculos matemticos, mientras que diez sistemas de menor velocidad ejecutaban programas ms pequeos para as mantener a la memoria principal alimentada con datos. El problema ha sido invertido en el Cell: leer datos ya no constituye el problema gracias a los complejos cdigos empleados en la industria. Hoy en da el problema es decodificar los datos en un formato cada vez menos y menos comprimido lo ms rpido posible. Las modernas tarjetas grficas tienen elementos muy parecidos a los de las SPEs, conocidos como unidades de sombreado, con una memoria de alta velocidad asociada. Unos programas, conocidos como sombreadores (shaders), se cargan en dichas unidades para procesar el flujo de datos de entrada que proporcionan estadios previos (posiblemente la CPU), de acuerdo con las operaciones requeridas. Las principales diferencias se aprecian en que las SPEs del Cell son de propsito mucho ms general que las unidades de sombreado, y la habilidad de encadenar bajo el control de un programa varias SPEs ofrece una flexibilidad mucho mayor, permitiendo que el Cell maneje grficos, sonido o cualquier otra carga de trabajo.

Arquitectura

Esquema del procesador Cell. Aunque el integrado Cell puede presentar diversas configuraciones, la ms bsica es un chip multincleo compuesto de un elemento Power de proceso" (Power Processor Element, PPE), tambin llamado a veces elemento de proceso (PE); y varias unidades sinergsticas de procesamiento (Synergistic Processing Elements, SPE).21 El PPE y las

SPEs estn interconectadas entre s mediante un bus interno de alta velocidad denominado bus de interconexin de elementos (Element Interconnect Bus, EIB). Debido a la naturaleza de sus aplicaciones, el Cell est optimizado para la computacin de datos de coma flotante de precisin simple. Las SPEs son capaces de ejecutar clculos de doble precisin, pero a cambio de una penalizacin notable en el rendimiento. Sin embargo, existen modos de solucionar esto en el software por medio del empleo de refinamientos de tipo iterativo, lo que significa que los valores slo sern calculados en doble precisin cuando sea necesario. Jack Dongarra y su equipo han hecho una demostracin en pblico en la que un Cell a 3,2 GHz con 8 SPEs proporcionaba un rendimiento igual a 100 GFLOPS procesando una matriz estndar Linpack 4096x4096 con datos de doble precisin

Elemento Power de Proceso (Power Processor Element)


El PPE es un ncleo de dos vas multihilo basado en arquitectura Power que acta como controlador para las 8 SPEs, que se ocupan de la mayor parte de la carga de computacin. El PPE trabaja con sistemas operativos convencionales debido a su similitud con otros procesadores Power PC de 64 bit, mientras que las SPEs estn diseadas para la ejecucin de cdigo vectorizado en coma flotante. El PPE contiene instrucciones de 32 KB y memoria cach de nivel 1 de 32 KB, as como una cach de 512 KB nivel 2. Adicionalmente, IBM ha incorporado una unidad Altivec,22 la cual se encuentra configurada para procesar datos de coma flotante en doble precisin mediante pipelines. Cada PPU puede completar dos operaciones de doble precisin por ciclo de reloj, lo cual se traduce en un rendimiento de 6,4 GFLOPS a 3,2 GHZ.23

Elementos Sinergsticos de Proceso (Synergistic Processing Elements, SPE)

Esquema del PPE.

Esquema del SPE. Cada SPE se compone de una unidad sinergstica de proceso (Synergistic Processing Unit, SPU) y una controladora de flujo de memoria (Memory Flow Controller, MFC, DMA, MMU, o bus interface).24 Una SPE es un procesador RISC con una organizacin SIMD de 128 bits preparada para ejecutar instrucciones de precisin doble o sencilla.22 25 26 En la generacin actual de Cell, cada SPE contiene 256 KB de SRAM embebida, para almacenamiento de instrucciones y datos, denominada almacenamiento local (no confundir con memoria local, que en la documentacin de Sony se corresponde con la VRAM), visible para la PPE y que puede ser direccionada directamente por software. Cada SPE soporta hasta 4 GB de memoria de almacenamiento local. El almacenamiento local no opera como la cach de una CPU convencional, ya que no es ni transparente al software ni contiene estructuras para la prediccin de los datos a cargar. Las SPEs contienen una lnea de registros de 128 bits con 128 entradas que mide 14,5 mm con la tecnologa de fabricacin de 90 nm. La SPE puede realizar operaciones con 16 enteros de 8 bits, 8 de 16 bits, 4 de 32 bits o bien 4 nmeros de coma flotante en precisin simple en un solo ciclo de reloj, as como realizar una operacin de memoria. Obsrvese que la SPU no puede direccionar memoria del sistema directamente: las direcciones virtuales de 64 bits formadas en la SPU han de ser transmitidas a la unidad de control de flujo de memoria (MFC) para ejecutar una operacin DMS dentro del espacio de memoria del sistema. En un escenario de uso tpico, el sistema cargar pequeos programas en las SPEs (parecidos a hilos), encadenndolas juntas de manera que cada una se haga cargo de un pequeo paso en una operacin compleja. Por ejemplo, un decodificador de sobremesa podra cargar programas para leer un DVD, decodificar audio y vdeo y control de pantalla; y los datos seran transmitidos de SPE a SPE hasta que finalmente alcanzaran la televisin. Otra posibilidad consiste en dividir los datos de entrada y poner a operar a las SPEs en la misma tarea en paralelo. A 3,2 GHZ, cada SPE proporciona un rendimiento terico de 25,6 GFLOPS en datos de precisin simple. Comparado con un computador personal moderno, el mayor rendimiento relativo de un procesador Cell en coma flotante parece dejar en ridculo las capacidades de unidades SIMD en procesadores de sobremesa como el Pentium 4 y el Athlon 64. Sin embargo, comparar tan slo las capacidades en coma flotante de un sistema es una manera de efectuar mediciones unidimensional y fuertemente ligado a ciertas aplicaciones. A diferencia de un procesador Cell, las CPUs de escritorio estn mejor capacitadas para ejecutar software de propsito general ejecutado habitualmente en computadores

personales. Adems de ejecutar varias instrucciones por ciclo de reloj, los procesadores de Intel y AMD proveen prediccin de bifurcaciones. El Cell se dise para compensar esto con la ayuda de su compilador, en el que se crean instrucciones para la preparacin de bifurcaciones. Para datos en precisin doble, usualmente empleados en computadores personales, el rendimiento del Cell decrece considerablemente, pero an alcanza los 12,8 GFLOPS.27 Pruebas recientes realizadas por IBM muestran que las SPEs pueden alcanzar el 98% de su mximo terico empleando multiplicacin de matrices paralelas.23 Toshiba ha desarrollado un coprocesador operado por cuatro SPEs y ningn PPE, llamado SpursEngine, que est diseado para acelerar 3D y efectos de pelculas en electrnica de consumo.

Bus de Interconexin de Elementos (Element Interconnect Bus, EIB)


El EIB es un bus de comunicaciones interno del procesador Cell que interconecta los diversos elementos de sistema integrados en el chip: el procesador PPE, el controlador de memoria (MIC), los ocho coprocesadores SPE y las dos interfaces externas I/O del chip, formando un total de 12 participantes. El EIB incluye una unidad de asignacin que funciona como un conjunto de semforos. En algunos de los documentos de IBM los participantes del EIB son denominados unidades. Actualmente, el EIB se implementa como un anillo circular compuesto de 4 canales unidireccionales de 16 Bytes que rotan en sentido contrario a las agujas del reloj por parejas. Cuando los patrones del trfico los permiten, cada canal puede transmitir hasta un mximo de 3 transacciones de forma concurrente. Dado que el EIB funciona a la mitad de velocidad del reloj del sistema, el rendimiento efectivo son 16 bytes cada dos ciclos de reloj. Con tres transacciones activas en cada uno de los cuatro anillos, esto es, con una concurrencia mxima, el pico mximo instantneo en ancho de banda del EIB es de 96 bytes por ciclo de reloj (12 transacciones simultneas*16 bytes/2 ciclos de reloj). An cuando este valor es normalmente citado por IBM resulta irreal escalar este nmero por la velocidad del procesador. La unidad de asignacin impone restricciones adicionales, las cuales se discuten ms abajo en la seccin asignacin de ancho de banda. David Krolak, Ingeniero Jefe de IBM y director de diseo del EIB, explica el modelo de concurrencia:28 Un anillo puede comenzar una operacin cada tres ciclos. Cada transferencia dura 8 impulsos. Esta fue una de las simplificaciones que hicimos. De este modo, se optimiza para la transferencia de muchos datos. Si efectas operaciones pequeas, no funciona tan bien. Piensa en trenes de ocho vagones circulando por esta va. Siempre que los vagones no colisionen entre s, pueden coexistir en la va. Cada uno de los participantes en el EIB posee un puerto de lectura de 16 bytes y otro de escritura de 16 bytes. El lmite para cada participante individual es el de leer y escribir a

una velocidad de 16 bytes por ciclo de reloj (por simplicidad muchas veces se indican 8 bytes por ciclo de reloj). Tngase en cuenta que cada SPU contiene una cola de administracin DMA dedicada capaz de de planificar grandes secuencias de transacciones hacia diversos puntos de destino sin interferir con los clculos que la SPU est llevando a cabo. Estas colas DMA pueden ser manejadas tanto de manera local como remota, proporcionando una flexibilidad adicional en el modelo de control. Los datos circulan por un canal EIB en el sentido de las agujas del reloj alrededor del anillo. Dado que existen doce participantes, el nmero total de pasos alrededor del canal de vuelta al origen son doce. Seis pasos es la distancia mxima entre cualquier par de participantes. A un canal EIB no se le permite comunicar datos que requieran ms de seis pasos. Este tipo de datos habr de tomar la ruta ms corta en la otra direccin. El nmero de pasos implicados en enviar un paquete tiene poco impacto en la latencia de transferencia: la velocidad de reloj que controla todos los pasos es muy rpida con relacin a cualquier otra consideracin. Sin embargo, distancias de comunicacin ms largas s que son perjudiciales para el rendimiento general del EIB, dado que reducen la concurrencia disponible. A pesar del deseo original de IBM de implementar el EIB como un conmutador (crossbar) ms potente, la configuracin circular que adoptaron para economizar recursos en muy raras ocasiones representa un factor limitador en el rendimiento del chip Cell como un todo. En el peor de los casos, el programador ha de tener un cuidado extra a la hora de planificar patrones de comunicacin all donde el EIB es capaz de funcionar con altos niveles de participacin. David Krolak explica:28 Bueno, al principio, en los inicios del proceso de desarrollo, varias personas promocionaban la idea de un conmutador (crossbar switch). Por el modo en que el bus estaba diseado se podra retirar sin ms el EIB e implantar un conmutador siempre que estuvieras dispuesto a dedicar ms espacio en la oblea del chip a pistas. Tenamos que encontrar un equilibrio entre conectividad y espacio y sencillamente no exista suficiente espacio para poner un conmutador. As que se nos ocurri esta estructura de anillo, que pensamos es bastante interesante. Encaja con las restricciones de espacio y aun as proporciona anchos de banda bastante notorios. Asignacin del ancho de banda A la hora de citar cifras de rendimiento, asumiremos un procesador Cell corriendo a 3,2 GHz, la ms frecuentemente citada. A esta frecuencia de reloj cada canal transmite a un ritmo de 25,6 GB/s. Contemplando el EIB aisladamente de los elementos que interconecta, alcanzar doce transacciones simultneas con este ratio de transferencia arrojara un ancho de banda terico de 207,2 GB/s. Basndose en esta perspectiva muchas de las publicaciones de IBM describen el ancho de banda disponible en el EIB como mayor de 300 GB/s. Este nmero refleja el pico instantneo de ancho de banda del EIB escalado por la frecuencia del procesador.29

Sin embargo, otras restricciones tcnicas se ven involucradas en el mecanismo de arbitraje para los paquetes que son aceptados en el bus. Como explica The IBM Systems Performance Group:23 Cada unidad en el EIB puede enviar o recibir simultneamente 16 bytes de datos por cada ciclo de bus. El mximo ancho de banda para datos para todo el EIB es limitado por la velocidad mxima a la que las direcciones son vigiladas por todas las unidades en el sistema, que es de uno por ciclo de bus. Dado que cada peticin de direccin vigilada puede transferir potencialmente hasta 128 bytes, el pico de ancho de banda terico en el EIB a 3,2 GHz es de 128 bytes x 1,6 GHz GB/s. Esta cita representa aparentemente la mayor revelacin pblica por parte de IBM de este mecanismo y su impacto. La unidad de arbitraje del EIB, el mecanismo de vigilancia y la generacin de interrupciones en segmentos o los fallos de traduccin de pgina no estn bien descritos en los juegos de documentacin pblica de IBM. En la prctica el ancho de banda efectivo del EIB puede tambin estar limitado por los participantes involucrados en el anillo. Mientras que cada uno de los nueve ncleos de proceso puede mantener una velocidad de lectura y escritura de 25,6 GB/s de manera simultnea, el adaptador de controladora de memoria (memory interface controller ,MIC) est sujeto a un par de canales de memoria XDR que permiten un trfico mximo de 25,6 GB/s para escrituras y lecturas combinadas; y las dos controladoras de E/S, segn aparece en la documentacin, soportan una velocidad mxima combinada de entrada de 25,6 GB/s y una velocidad mxima combinada de salida de 35 GB/s. Para aumentar an ms la confusin, algunas publicaciones antiguas hablan del ancho de banda del EIB asumiendo un reloj de sistema de 4 GHz Este marco de referencia resulta en una cifra de ancho de banda instantneo de 384 GB/s y en un valor de ancho de banda limitado por arbitraje de 256 Gb/s. El valor terico de 204,8 GB/s, el ms citado, es el mejor a tener en cuenta, considerando cualesquiera otros aspectos. El IBM Systems Performance Group ha realizado demostraciones donde se alcanzaban flujos de datos de 197 GB/s alrededor de las SPUs en un procesador Cell corriendo a 3,2 GHz, as que esta cifra es un indicador fiable tambin en la prctica. Interconexin ptica Sony est actualmente trabajando en el desarrollo de una tecnologa de interconexin ptica para su empleo como adaptador interno o entre dispositivos externos para varios tipos de sistemas de electrnica de consumo y de entretenimiento basados en Cell.

Controladora de memoria y E/S


El procesador Cell contiene un macro XIO Rambus doble canal de nueva generacin, que interconecta con memoria XDR Rambus. La controladora adaptadora de memoria (MIC) est separada del macro XIO y ha sido diseada por IBM. El enlace XIO-XDR corre a 3,2

GB/s en cada pin. Dos canales de 32 bits pueden proporcionar un mximo terico de 25,6 GB/s. El adaptador de sistema empleado en Cell, tambin un diseo Rambus, es conocido como FlexIO. La interface FlexIO est organizada en 12 carriles, siendo cada carril un canal de 8 bits punto a punto. Cinco caminos de 8 bits de ancho punto a punto son carriles de entrada al Cell, mientras que los siete restantes son de salida. Esto proporciona un ancho de banda mximo terico de 62,4GB/s (36,5GB/s salida, 26GB/s entrada). La interface FlexIO puede poseer una frecuencia de reloj independiente (tpicamente, a 3,2 GHz). Cuatro canales de entrada y cuatro de salida se encargan de implementar la coherencia de memoria.

Usos posibles
Servidor Blade
El 29 de agosto de 2007, IBM present el BladeCenter QS21. Generando unos 1,05 GFLOPS (Giga Floating Point Operations Per Second) medidos por vatio, con un rendimiento mximo de aproximadamente 460 GFLOPS, es una de las plataformas de computacin ms eficientes en consumo hasta el da de hoy. Un chasis de BladeCenter puede alcanzar 6,4 TFLOPS y alrededor de 25,8 TFLOPS en un armario 42U estndar. Empresas como Blizzard utilizan este tipo de servidores para alojar sus juegos online masivos.[cita requerida]

Consolas de videojuegos
La consola de videojuegos PlayStation 3 de Sony contiene la primera aplicacin fabricada del procesador Cell, a una velocidad de reloj de 3,2 GHz, con siete de los ocho SPEs operacionales, lo que permite a Sony incrementar la produccin en la fabricacin del procesador. Solo seis de los siete SPEs son accesibles para los desarrolladores, mientras que el sptimo se reserva para el sistema operativo.18

Cine en casa
Se ha dicho que Toshiba est considerando la posibilidad de producir televisores de alta definicin (HDTVs) haciendo uso del Cell. Ya han presentado un sistema que decodifica 48 flujos de MPEG-2 en definicin estndar simultneamente en una pantalla de 1920x1080.30 31 Esto permitira al usuario elegir un canal de entre docenas de vdeos en miniatura presentados simultneamente en pantalla.

Supercomputacin
La nueva supercomputadora planeada por IBM, el IBM Roadrunner, ser un hbrido entre procesadores de propsito general CISC y procesadores Cell. Se dice que esta combinacin

producir el primer computador capaz de operar a la velocidad del petaflop. Usar una versin actualizada del procesador Cell, fabricada con tecnologa de 65 nm y con SPUs mejoradas que puedan manejar clculos en doble precisin en los registros de 128 bits, alcanzando los 100 GFLOPS en doble precisin.32 33

Computacin en clster
Los clsteres de consolas PlayStation 3 son una atractiva alternativa a los sistemas de gama alta basados en Blades Cell. El Innovative Computing Laboratory, cuyo grupo lidera Jack Dongarra, dentro del departamento de ciencia computacional de la Universidad de Tenesse, investig dicha aplicacin en profundidad.34 Terrasoft Solutions (desde 2008 Fixstars), implementando las investigaciones de Dongarra, vende clsteres de PlayStation 3 de 8 o 32 nodos, con Yellow Dog Linux preinstalado. Como public la revista Wired el 17 de octubre de 2007, una aplicacin interesante del uso de PlayStation 3 en configuracin de clster fue implementada por el astrofsico Dr. Gaurav Khanna, que sustituy el tiempo empleado en supercomputadores por ocho PlayStation 3.35 El laboratorio de computacin bioqumica y biofsica de la Universidad de Pompeu Fabra en Barcelona construy un sistema BOINC basado en el software CellMD (el primero diseado especficamente para el Cell) llamado PS3GRID36 para computacin compartida. Con la ayuda del poder de clculo de alrededor de medio milln de consolas PlayStation 3, el proyecto de computacin distribuida Folding@Home ha sido reconocido[cita requerida] por el libro Guiness de los Records como la ms poderosa red de computacin distribuida del mundo. El primer record se obtuvo el 16 de septiembre de 2007, cuando el proyecto sobrepasaba un PETAFLOPS, lo que nunca haba sido alcanzado antes por ninguna red de computacin distribuida. Los esfuerzos colectivos permitieron que slo las PS3 alcanzaran la marca del PETAFLOPS el 23 de septiembre de 2007. En comparacin, la supercomputadora ms potente del mundo, el IBM "Roadrunner", tiene una potencia de alrededor de 1,105 PETAFLOPS. Esto significa que la potencia de clculo de Folding@Home es aproximadamente la misma que la de Roadrunner (aunque la interconexin entre CPUs en Roadrunner es mucho ms rpida, hablamos del orden de millones de veces, que la media de velocidad en la red Folding@Home).

Mainframes
El 25 de abril de 2007 IBM anunci que comenzara a integrar sus microprocesadores con arquitectura Cell Broadband Engine en su lnea de mainframes.37

Ingeniera de software
La arquitectura Cell implanta novedades como son la estructura de coherencia de memoria, por la que IBM ha recibido varias patentes. Esta arquitectura enfatiza la relacin rendimiento por vatio, da prioridad al ancho de banda sobre la latencia y favorece la mxima salida de clculo sobre la simplicidad del cdigo de programacin. Debido a ello, Cell es considerado normalmente como un entorno difcil de desarrollo de software.38 IBM proporciona una plataforma de desarrollo completa basada en Linux para ayudar a los

programadores a afrontar esta tarea.39 El factor principal para comprobar si Cell llega a desarrollar su potencial de rendimiento es la adaptacin del software. A pesar de estas dificultades, los estudios indican que Cell sobresale en diversos tipos de computacin cientfica.40 Dada la naturaleza flexible del Cell, existen diversas posibilidades para el empleo de sus recursos, que no se limitan simplemente a diferentes paradigmas de computacin.41

Colas de trabajo
El PPE mantiene una cola de trabajo, planifica trabajos en las SPEs y monitoriza los progresos. Cada SPE ejecuta un mini ncleo cuyo trabajo consiste en recoger un trabajo, ejecutarlo y sincronizarlo con el PPE.

Multitarea autnoma en los SPEs


El ncleo y la planificacin se distribuye entre los SPEs. Las tareas se sincronizan empleando semforos o multitexes tal y como ocurre en sistemas operativos convencionales. Las tareas listas para su ejecucin esperan en una cola a que las SPE las ejecute. Las SPE emplean memoria compartida para todas las tareas en esta configuracin.

Procesado de flujos
Cada SPE ejecuta un programa determinado. Los datos provienen de un flujo de entrada y son enviados a las SPEs. Cuando una SPE ha concluido el procesado, los datos de salida son enviados a un flujo de salida. Esto proporciona una arquitectura flexible y potente para el procesado de flujos y permite planificar explcitamente cada SPE por separado. Otros procesadores son tambin capaces de ejecutar tareas de procesado de flujos (streaming), pero se ven limitados por el tipo de ncleo cargado.

Computacin distribuida
Existe una aplicacin de computacin distribuida BOINC activa en http://www.ps3grid.net/PS3GRID/. Se dedica enteramente a diversos tipos de clculos biolgicos que slo se pueden completar con xito mediante microprocesadores corriendo en paralelo.

Desarrollo de software en cdigo abierto


Una estrategia basada en el software Open Source fue asumida para acelerar el desarrollo de un ecosistema Cell BE y para proporcionar un entorno en el que desarrollar aplicaciones Cell.42 En 2005, los desarrolladores de IBM enviaron parches habilitando el soporte de Cell para su inclusin en el ncleo Linux.43 Anrd Bergmann (uno de los desarrolladores de estos parches) tambin describi la arquitectura Cell basada en Linux en el LinuxTag de 2005.44

Tanto el PPE como las SPEs se pueden programar en C/C++ empleando una API comn que proporcionan libreras. Terra Soft Solutions suministra Yellow Dog Linux tanto para sistemas Cell IBM como para Mercury, as como para la PlayStation3.45 Terra Soft se ha aliado estratgicamente con Mercury para suministrar el paquete de soporte LinuxBoard para Cell, adems de apoyo y desarrollo de aplicaciones software en varias otras plataformas Cell, incluyendo el IBM BladeCenter JS21, el Cell QSQ20 y las soluciones de Mercury.46 Terra Soft mantiene asimismo la suite de construccin y administracin de clsteres Y-HPC (High Performance Computing) y las herramientas de secuenciacin de genes Y-Bio. Y-Bio est construida sobre el estndar de administracin de paquetes Linux RPM y ofrece herramientas que ayudan a los investigadores bioinformticos a llevar a cabo su trabajo con mayor eficiencia.47 IBM ha desarrollado un pseudo sistema de archives para Linux denominado SPufs, el cual simplifica el acceso y uso de los recursos de las SPEs. IBM mantiene actualmente un ncleo Linux y adaptaciones GDB, mientras que Sony mantiene la cadena de herramientas GNU (GCC, binutils...).48 En noviembre de 2005 IBM lanz en su sitio web el kit de desarrollo de software para CBE versin 1.0 (Cell Broadband Engine (CBE) Software Development Kit Version 1.0), consistente en un simulador y herramientas varias. Versiones de desarrollo del ltimo ncleo y herramientas para Fedora Core 5 se pueden encontrar en el sitio web del Centro de Supercomputacin de Barcelona.49 En agosto de 2007, Mercury Computer Systems lanz un kit de desarrollo de software para computacin de alto rendimiento destinado a la PlayStation 3.50 Con la salida de la versin 2.6.16 del ncleo el 20 de marzo de 2006 el kernel Linux proporcionaba soporte oficial para el procesador Cell.51

Você também pode gostar