Explotación de la potencia de procesamiento mediante paralelismoun recorrido histórico hasta la GPGPU

  1. Charte Ojeda, Francisco
  2. Rivera Rivas, Antonio J.
  3. Pulgar Rubio, Francisco J.
  4. Jesús Díaz, María José del
Revista:
Enseñanza y aprendizaje de ingeniería de computadores: Revista de Experiencias Docentes en Ingeniería de Computadores

ISSN: 2173-8688

Año de publicación: 2016

Número: 6

Páginas: 19-33

Tipo: Artículo

DOI: 10.30827/DIGIBUG.41910 DIALNET GOOGLE SCHOLAR lock_openDIGIBUG editor

Otras publicaciones en: Enseñanza y aprendizaje de ingeniería de computadores: Revista de Experiencias Docentes en Ingeniería de Computadores

Objetivos de desarrollo sostenible

Resumen

La mejora en los sistemas de fabricación de semiconductores, con escalas de integración crecientes durante décadas, ha contribuido a incrementar de forma espectacular la potencia de los sistemas de cómputo en sus diversas formas, ordenadores personales y portátiles, móviles, tabletas, consolas, etc. Esa evolución, no obstante, también ha encontrado obstáculos por el camino que, entre otros aspectos, acabaron hace varios años con la escalada en las frecuencias de reloj. En la actualidad la potencia de un procesador ya no se mide exclusivamente en GHz, sino que también influyen factores como el número de núcleos de procesamiento y el diseño de estos. En el presente artículo se lleva a cabo un recorrido histórico de cómo el paralelismo ha ido adecuándose al hardware disponible en cada momento con el objetivo de obtener el mayor provecho del mismo.

Referencias bibliográficas

  • Adve, S.V. et al.: Parallel Computing Research at Illinois the Upcrc Agenda Parallel@illinois: Pioneering and Promoting Parallel Computing (2008).
  • Akeley, K., Glanville, R.S., Kilgard, M.J., & Mark, W.R.: Cg: a system for programming graphics hardware in a C-like language. ACM Trans. Graph., 22, 896-907 (2003).
  • Becker, D.J., Dorband, J.E., Packer, C.V., Ranawake, U.A., Sterling, T.L., & Savarese, D.: BEOWULF: A Parallel Workstation for Scientific Computation. ICPP (1995).
  • Beeharry, A., Bouguettaya, A., & Delis, A.: Managing Persistent Objects in a Distributed Environment. ADC (1987).
  • Birrell, A., & Nelson, B.J.: Implementing Remote Procedure Calls. ACM Trans. Comput. Syst., 2, 39-59 (1984).
  • Bruck, J., Dolev, D., Ho, C., Rosu, M., & Strong, H.R.: Efficient Message Passing Interface (MPI) for Parallel Computing on Clusters of Workstations. SPAA (1995).
  • Buck, I., Govindaraju, N.K., Harris, M.J., Krüger, J., Luebke, D., Lefohn, A.E., Purcell, T.J., & Woolley, C.: GPGPU: general purpose computation on graphics hardware. SIGGRAPH (2004).
  • Buck, I.: GPU computing with NVIDIA CUDA. SIGGRAPH (2007).
  • Chatfield, T. Videogames now outperform Hollywood movies. The Guardian, September, 27 (2009).
  • Domajnko, T., Hericko, M., Juric, M.B., Krisper, M., Rozman, I., & Zivkovic, A.: Java and Distributed Object Models: An Analysis. SIGPLAN Notices, 33, 57-65 (1998).
  • Emerson W. Pugh, Lyle R. Johnson, John H. Palmer, IBM’s 360 and Early 370 Systems, 360-363, MIT Press 2003.
  • Foley-Bourgon, V., Hendren, L.J., Khan, F., Kathrotia, S., & Lavoie, E.: Using JavaScript and WebCL for numerical computations: a comparative study of native and web technologies. DLS (2014)
  • Ganesan, R., Govindarajan, K., & Wu, M.: Comparing SIMD and MIMD Programming
  • Gohara, D., Stone, J.E., & Shi, G.: OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems. Computing in Science and Engineering, 12, 66-73 (2010).
  • Ingram, J.E., Monteith, J.Y., & McGregor, J.D.: Hadoop and its Evolving Ecosystem. ICSOB (2013).
  • James, G., Silverman, B., & Silverman, B.: Visualizing a classic CPU in action: the 6502. SIGGRAPH (2010).
  • Kilgard, M.J., Lindholm, E., & Moreton, H.: A User-programmable Vertex Engine. NVIDIA Corporation (2001).
  • Metcalfe, R.: Ethernet: Distributed Packet Switching for Local Computer Networks. BERKELEY (1976).
  • Modes. J. Parallel Distrib. Comput., 35, 91-96 (1996).
  • Mueller, F.: A Library Implementation of POSIX Threads under UNIX. USENIX (1993).
  • Neumann, J.V.: First draft of a report on the EDVAC (1945). IEEE Annals of the History of Computing, 15, 27-75 (1993).
  • Ritchie, D., & Thompson, K.: The UNIX Time-Sharing System (Reprint). Commun. ACM
  • Supnik, R.M.: Digital's Alpha Project. Commun. ACM, 36, 30-32 (1993).