Anda di halaman 1dari 4

6.

Summary

We have described hardware, software, and state-ofthe-art algorithms for GPUs, FPGAs and the
CBEA in the previous sections. In this section, we summarize the architectures, give our view on
future trends, and offer our concluding remarks. 6.1. Architectures The three architectures we
have reviewed have their distinct benefits and drawbacks, which in turn affect how well they
perform for different applications. The major challenge for application developers is to bridge
gap between theoretical and experienced performance, that is, writing well balanced
applications where there is no apparent single bottleneck. This, of course, varies from
application to application, but also for a single application on different architectures. However,
it is not only application developers that have demands to architectures: economic, power and
space requirements in data-centers impose hard limits to architecture specifications. The GPU
is the best performing architecture when it comes to single precision floating point arithmetic,

with an order of magnitude better performance compared to the others. When considering the
price and performance per watt, the GPU also comes out favourably. However, the GPU
performs best when the same operation is independently executed on a large set of data,
disfavouring algorithms that require extensive synchronization and communication. GPU double
precision performance is now available, with one fifth of the single precision performance for
AMD, and one half for NVIDIA. The new programming environments, such as CUDA and Brook+,
enable efficient development of code, and OpenCL further offers hope for code portability. The
CBEA is still twice as fast as the state-of-theart CPU, even though it is now three years old.
Furthermore, it offers a very flexible architecture where each core can run a separate program.
Synchronization and communication is fast, with over 200 GB/s bandwidth on the element
interconnect bus. This makes the CBEA extremely versatile, yet somewhat more diffi- cult to
program than the GPU. It is also a very well performing architecture when it comes to double
precision. However, it is rather expensive. FPGA performance is difficult to quantify in terms of
floating point operations, as floating point is typically avoided. FPGAs are much more suited for
algorithms where fixed point, integer, or bit operations are key. For such tasks, the FPGA has an
outstanding raw performance, and an especially good performance per watt ratio. If one needs
floating point operations, FPGA implementations benefit from tuning the precision to the
minimum required level, independent of the IEEE-754 standard. However, FPGAs have a
discouraging price tag. They can also be very difficult to program, but new languages such as
Mitrion-C and Viva offer promising abstractions.

6.2. Emerging features and technology

We believe that future applications will require heterogeneous processing. However, one must
not overlook legacy software that has existed for decades. Such software is economically
unfeasible to redesign, and must use library calls to benefit from heterogeneous processing. This
has the drawback captured in Amdahls law, where the serial part of the code quickly becomes
the bottleneck. New applications and algorithms, however, can be designed for existing, and
future, architectures. In the future, we see it as likely that GPUs will enter the HyperTransport
bus, similarly to current FPGAs.

We believe that such GPU cards on the HyperTransport bus will contain separate high-speed
memory, and target server markets at a higher premium. Using NUMA technology, we even see
the possibility of a shared address space, where both the CPU and GPU can transparently access
all memory. Such an architecture would indeed be extremely useful, alleviating the PCI express
bottleneck, but more importantly the issue of distinct memory spaces. Furthermore, it will be
interesting to see the impact of the Larrabee on the future of GPU computing. The CBEA
roadmap schedules a chip with two Power processor cores and 32 synergistic processing
elements for 2010. The state of these plans is uncertain, but we find it likely that similar designs
will be used in the future. The major strengths of the CBEA is the versatility of the synergistic
processing units, and the use of local store memory in conjunction with DMA. We believe such
features will become increasingly used as power constraints become more and more pressing.
The obvious path of FPGAs is to simply continue increasing the clock frequency, and decrease
the production techniques. However, the inclusion of power processors in hardware is an
interesting trend. We believe that the trend of an increased number of specialpurpose on-chip
hardware, such as more floating point adders, will continue. This will rapidly broaden the
spectrum of algorithms that are suitable for FPGAs.

6.3. Concluding remarks

Heterogeneous computing has in very few years emerged as a separate scientific field
encompassing existing fields such as GPGPU. One of the reasons that heterogeneous computing
has succeeded so well until now has been the great success of GPGPU. However, the field of
GPGPU is focused only on the use of graphics cards. In the future, we believe that algorithms
cannot be designed for graphics cards alone, but for general heterogeneous systems with
complex memory hierarchies. We do not believe that symmetric multiprocessing has a future in
the long term, as it is diffi- cult to envision efficient use of hundreds of traditional CPU cores.
The use of hundreds of accelerator cores in conjunction with a handful of traditional CPU cores,
on the other hand, appears to be a sustainable roadmap. We have little belief in the one-size-
fits-all for scientific computing. The three architectures we have described are currently
addressing different needs, which we do not see as transient. The GPU maximises highly parallel
stream computing performance, where communication and synchronization is avoided. The
CBEA offers a highly versatile architecture, where each core can run a separate program with
fast inter-core communication. Finally, the FPGA offers extreme performance for applications
relying on bit, integer, logic and lower precision operations.

Acknowledgements

The authors would like to thank Gernot Ziegler at NVIDIA Corporation, Knut-Andreas Lie and
Johan Seland at SINTEF ICT, and Praveen Bhaniramka and Gaurav Garg at Visualization Experts
Limited for their fruitful comments and feedback. We also appreciate the valuable input from
the anonymous reviewers, and the continued support from AMD, IBM and NVIDIA. Part of this
work is done under Research Council of Norway project number 180023 (Parallel3D) and 186947
(Heterogeneous Computing). Dr. Storaaslis research contributions were sponsored by the
Laboratory Directed Research and Development Program of Oak Ridge National Laboratory
managed by UT-Battelle for the US Department of Energy under Contract No. DE-AC05-
00OR22725.

6. Resumen

Hemos descrito hardware, software y algoritmos de ltima generacin para GPUs, FPGAs y CBEA
en las secciones anteriores. En esta seccin, resumimos las arquitecturas, damos nuestra
opinin sobre las tendencias futuras y ofrecemos nuestras observaciones finales. 6.1.
Arquitecturas Las tres arquitecturas que hemos revisado tienen sus distintos beneficios e
inconvenientes, que a su vez afectan a la forma en que funcionan para diferentes aplicaciones.
El mayor desafo para los desarrolladores de aplicaciones es el de vincular la brecha entre el
rendimiento terico y el experimentado, es decir, de escribir aplicaciones bien equilibradas
donde no hay ningn cuello de botella aparente. Esto, por supuesto, vara de aplicacin a
aplicacin, pero tambin para una sola aplicacin en diferentes arquitecturas. Sin embargo, no
son slo los desarrolladores de aplicaciones los que tienen demandas a las arquitecturas: los
requisitos econmicos, de potencia y de espacio en los centros de datos imponen lmites duros
a las especificaciones de la arquitectura. La GPU es la arquitectura con mejor rendimiento
cuando se trata de aritmtica de punto flotante de precisin nica,

Con un orden de magnitud de mejor rendimiento en comparacin con los dems. Al considerar
el precio y el rendimiento por vatio, la GPU tambin sale favorablemente. Sin embargo, la GPU
funciona mejor cuando la misma operacin se ejecuta independientemente en un gran conjunto
de datos, deshabilitando algoritmos que requieren una amplia sincronizacin y comunicacin.
El rendimiento de doble precisin de la GPU ya est disponible, con una quinta parte del
rendimiento de precisin simple de AMD y la mitad de NVIDIA. Los nuevos entornos de
programacin, como CUDA y Brook +, permiten un desarrollo eficiente del cdigo, y OpenCL
ofrece an ms esperanza de portabilidad de cdigo. El CBEA es todava dos veces ms rpido
que el CPU de ltima generacin, aunque ahora tiene tres aos. Adems, ofrece una
arquitectura muy flexible donde cada ncleo puede ejecutar un programa separado. La
sincronizacin y la comunicacin son rpidas, con ms de 200 GB / s de ancho de banda en el
bus de interconexin de elementos. Esto hace que la CBEA sea extremadamente verstil, pero
algo ms difcil de programar que la GPU. Tambin es una arquitectura muy eficaz cuando se
trata de doble precisin. Sin embargo, es bastante caro. FPGA rendimiento es difcil de
cuantificar en trminos de operaciones de punto flotante, como punto flotante es normalmente
evitado. Los FPGAs son mucho ms adecuados para algoritmos en los que las operaciones de
punto fijo, entero o bit son clave. Para tales tareas, el FPGA tiene un excelente rendimiento
bruto, y un rendimiento especialmente bueno por vatio. Si se necesitan operaciones en coma
flotante, las implementaciones FPGA se benefician al ajustar la precisin al nivel mnimo
requerido, independientemente del estndar IEEE-754. Sin embargo, los FPGAs tienen un precio
desalentador. Tambin pueden ser muy difciles de programar, pero nuevos lenguajes como
Mitrion-C y Viva ofrecen abstracciones prometedoras.

6.2. Caractersticas y tecnologa emergentes

Creemos que las aplicaciones futuras requerirn un procesamiento heterogneo. Sin embargo,
uno no debe pasar por alto el software legado que ha existido durante dcadas. Dicho software
es econmicamente inviable para redisear, y debe usar las llamadas de biblioteca para
beneficiarse del procesamiento heterogneo. Esto tiene el inconveniente capturado en la ley de
Amdahl, donde la parte serial del cdigo se convierte rpidamente en el cuello de botella. No
obstante, se pueden disear nuevas aplicaciones y algoritmos para arquitecturas existentes y
futuras. En el futuro, vemos que es probable que las GPU ingresen al bus HyperTransport, de
manera similar a los FPGA actuales.

Creemos que tales tarjetas GPU en el bus HyperTransport contendrn memoria de alta velocidad
separada y mercados de servidores de destino con una prima ms alta. Usando la tecnologa
NUMA, incluso vemos la posibilidad de un espacio de direcciones compartido, donde tanto la
CPU como la GPU pueden acceder de forma transparente a toda la memoria. Tal arquitectura
sera de hecho extremadamente til, aliviando el cuello de botella expreso del PCI, pero ms
importante el asunto de los espacios de memoria distintos. Adems, ser interesante ver el
impacto del Larrabee en el futuro de la computacin GPU. La hoja de ruta de la CBEA programa
un chip con dos ncleos de procesador Power y 32 elementos de procesamiento sinrgicos para
2010. El estado de estos planes es incierto, pero es probable que se usen diseos similares en el
futuro. Los principales puntos fuertes de la CBEA son la versatilidad de las unidades de
procesamiento sinrgico y el uso de memoria de almacn local en combinacin con DMA.
Creemos que tales caractersticas sern cada vez ms utilizadas a medida que las restricciones
de poder se vuelven cada vez ms apremiantes. La trayectoria obvia de FPGAs es simplemente
seguir aumentando la frecuencia de reloj, y disminuir las tcnicas de produccin. Sin embargo,
la inclusin de los procesadores de potencia en el hardware es una tendencia interesante.
Creemos que la tendencia de un aumento en el nmero de hardware especial de chip on-chip,
como ms sumadores de punto flotante, continuar. Esto ampliar rpidamente el espectro de
algoritmos que son adecuados para los FPGA.

6.3. Observaciones finales

La informtica heterognea ha surgido en muy pocos aos como un campo cientfico


independiente que abarca los campos existentes como GPGPU. Una de las razones por las que
la computacin heterognea ha tenido xito hasta ahora ha sido el gran xito de GPGPU. Sin
embargo, el campo de GPGPU se centra slo en el uso de tarjetas grficas. En el futuro, creemos
que los algoritmos no pueden ser diseados para tarjetas grficas solas, sino para sistemas
heterogneos generales con jerarquas de memoria complejas. No creemos que el
multiprocesamiento simtrico tenga futuro a largo plazo, ya que es difcil prever el uso eficiente
de cientos de ncleos de CPU tradicionales. El uso de cientos de ncleos de aceleradores junto
con un puado de ncleos de CPU tradicionales, por otro lado, parece ser una hoja de ruta
sostenible. Tenemos poca creencia en el one-size-fits-all para la computacin cientfica. Las tres
arquitecturas que hemos descrito tratan actualmente diferentes necesidades, que no
consideramos transitorias. La GPU maximiza el rendimiento de la computacin en flujo paralelo,
donde se evita la comunicacin y la sincronizacin. El CBEA ofrece una arquitectura muy verstil,
donde cada ncleo puede ejecutar un programa separado con comunicacin inter-ncleo
rpida. Por ltimo, la FPGA ofrece un rendimiento extremo para aplicaciones que dependen de
bit, entero, lgica y operaciones de menor precisin.

Expresiones de gratitud

Los autores desean agradecer a Gernot Ziegler en NVIDIA Corporation, Knut-Andreas Lie y Johan
Seland en SINTEF ICT y Praveen Bhaniramka y Gaurav Garg en Visualization Experts Limited por
sus fructferos comentarios y comentarios. Tambin apreciamos la valiosa contribucin de los
revisores annimos y el continuo apoyo de AMD, IBM y NVIDIA. Parte de este trabajo se realiza
bajo el Consejo de Investigacin de Noruega el proyecto nmero 180023 (Parallel3D) y 186947
(Heterogeneous Computing). Las contribuciones de investigacin del Dr. Storaasli fueron
patrocinadas por el Programa de Investigacin y Desarrollo Dirigido por Laboratorio del
Laboratorio Nacional de Oak Ridge administrado por UT-Battelle para el Departamento de
Energa de los Estados Unidos bajo el Contrato No. DE-AC05-00OR22725.

Anda mungkin juga menyukai