Saltar al contenido

Sobre computación heterogénea | Diciembre de 2021

19 de noviembre de 2021

Vicepresidente de Google y evangelista jefe de Internet, Vinton G. Cerf

Uno de los principales desafíos en el desarrollo de Arpanet fue resolver el problema de la comunicación entre computadoras heterogéneas. A finales de la década de 1960 y 1970, había varios fabricantes de computadoras y sus máquinas tenían diferentes longitudes de palabras, esquemas de codificación binaria, conjuntos de instrucciones y una plétora de sistemas operativos. La red homogénea subyacente de procesadores de mensajes de interfaz (IMP), que hoy llamaríamos «enrutadores» o «conmutadores de paquetes», ofrecía una interfaz uniforme para las computadoras «host» heterogéneas conectadas a Arpanet. El Network Working Group, dirigido por Stephen D. Crocker, resolvió el problema mediante la invención del Protocolo de control de red (NCP) y protocolos de aplicación como File Transfer y TELNET (acceso remoto a terminal). Hacer frente a la heterogeneidad es un desafío. Los diseñadores de Internet abordaron el problema de interconectar redes de conmutación de paquetes heterogéneas utilizando el conjunto de protocolos TCP / IP.

En el mundo de la informática, la arquitectura informática de conjuntos de instrucciones reducidos (RISC) ha proporcionado principios de diseño de conjuntos de instrucciones ampliamente adoptados por los cuales David A. Patterson y John L. Hennessy recibieron el prestigioso premio ACM AM Turing 2017. Aunque no soy un diseñador de hardware, me han llamado la atención las observaciones de otros como Margaret Martonosi, subdirectora de la National Science Foundation for Computer, Information Systems and Engineering y colega de Google, Robert Iannucci, de que la heterogeneidad está volviendo al diseño de computadoras. con desafíos concomitantes para los diseñadores de compiladores. Además de las CPU basadas en RISC, ahora vemos unidades de procesamiento gráfico (GPU), unidades de procesamiento de flujo tensorial (TPU), unidades de procesamiento cuántico (QPU) y matrices de puertas programables de campo (FPGA) en uso o que se vislumbran en el horizonte. Cada uno de estos tiene propiedades únicas que permiten soluciones de programación óptimas para problemas difíciles (e incluso NP difíciles).

Recomendado:  El sistema utiliza radiofrecuencia penetrante para identificar elementos, incluso cuando están ocultos a la vista

La idea de utilizar una combinación de capacidades informáticas no es nueva en absoluto. En la década de 1950 y principios de la de 1960, mi asesor de tesis, Gerald Estrin, y sus colegas trabajaron en lo que llamaron «Computación fija más variable».a Ya he escrito sobre esto antes.B Esta vez quiero centrarme en el desafío para los escritores de compiladores de mapear lenguajes de programación nuevos y convencionales en operación funcional en una variedad de plataformas de programación, teniendo en cuenta que el compilador debe tener en cuenta sus diversos resultados y el paralelismo potencial. Martonosi señala que se deben aplicar pruebas y análisis para aumentar la confianza de que los dispositivos físicos funcionan según lo previsto y que el mapeo de un programa en la combinación de hardware produce el resultado computacional deseado. Cualquiera que esté familiarizado con el problema del análisis numérico apreciará que los detalles cuentan. Por ejemplo, la pérdida de precisión en los cálculos de punto flotante a gran escala puede producir resultados erróneos si no se presta la debida atención a los detalles del cálculo real.


La informática es una frontera sin fin en la que tenemos una oferta inagotable de nuevos problemas que afrontar en la búsqueda de nuevas soluciones.


Entre muchas otras consideraciones, un redactor del compilador deberá determinar cómo se establece la entrada de datos o el estado inicial para la unidad de cálculo en cuestión. ¿Cómo se representarán los datos? ¿Cómo se transferirá ventajosamente a otros componentes informáticos heterogéneos del sistema? ¿Cómo se gestionará el flujo de control del cálculo si se prevé una operación en paralelo? ¿Cómo será el entorno de «tiempo de ejecución»? Si un cálculo falla, ¿cómo se puede detectar y señalar? En cierto sentido, se trata de viejas preguntas que exigen nuevas respuestas en un entorno informático más heterogéneo. Así como los diseñadores de Arpanet e Internet lucharon con la interoperabilidad, también deben hacerlo los diseñadores de entornos informáticos heterogéneos.

Recomendado:  Perspectiva técnica: hXDP: descarga de procesamiento de paquetes ligera y eficiente | agosto 2022

Hay algo a la vez satisfactorio y sorprendente en estas preguntas. La informática es una frontera sin fin en la que tenemos una oferta inagotable de nuevos problemas que afrontar en la búsqueda de nuevas soluciones. Es de vital importancia perseguir estas ideas. «Computational-X», para prácticamente todos los valores científicos de «X», es parte de un cambio de paradigma que comenzó a mediados de los años 20.th siglo y continúa sin cesar en la actualidad. Nuestra capacidad para calcular en escalas más amplias y de nuevas formas tendrá una influencia significativa en la velocidad a la que progresa la comprensión científica.

Volver arriba

Autor

Vinton G. Cerf es vicepresidente y evangelista jefe de Internet en Google. Se desempeñó como presidente de ACM de 2012 a 2014.

Volver arriba

Notas al pie

una. Estrin, G. Organización de sistemas informáticos: la computadora de estructura fija más variable. En Actas de la Western Joint Computer Conf. (San Francisco, CA, EE. UU., 3-5 de mayo de 1960).

B. Cerf, VG Como podemos pensar. Comun. ACM 58, 3 (marzo de 2015), 7.


Los derechos de autor pertenecen al autor.
Solicitar permiso para (re) publicar del propietario / autor

La Biblioteca Digital es una publicación de la Asociación de Maquinaria de Computación. Copyright © 2021 ACM, Inc.


entradas no encontradas