Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SUMARIO
3 Editorial
4 Asómate a la ciencia
Justina y el mundo
de la Robótica
Jesús Savage Carmona
9 Espacio abierto
Pasado y presente
del cómputo científico
Suemi Rodríguez Romo y
Ricardo Paramont Hernández
García
12 Escienci@
Códigos de cadenas
en la UNAM
Ernesto Bribiesca Correa
16 Historia de la ciencia
De las tarjetas perforadas a Miztli
Patricia de la Peña Sobarzo y
Yassir Zárate Méndez
20 Ventana universitaria
Computación concurrente a
través del razonamiento
secuencial
Sergio Rajsbaum y Michel Raynal
23 AAlejandro
ver si puedes
Illanes Mejía
EDITORIAL
Sesenta años
del cómputo en México
H ace seis décadas llegó el primer equipo de cóm
puto a México. Su destino fue el Centro de Cálculo
Electrónico de la Facultad de Ciencias de la UNAM. Con
un dispositivo de servicio que fija el rumbo para el futuro
inmediato.
De su lado, Ernesto Bribiesca Correa repasa los
esa adquisición, el país y la Universidad Nacional se in alcances de los códigos de cadena, con los que se
corporaron a un selecto grupo de naciones y de institu representa la trayectoria del vuelo de un avión o la ruta
ciones de enseñanza e investigación que contaban con ese de una abeja al encontrar una fuente de polen.
tipo de herramientas. Ya nada sería igual desde entonces. Sergio Rajsbaum y Michel Raynal, este último de la
La IBM 650 fue la primera computadora instalada en Universidad de Rennes, Francia, explican puntualmente
América Latina. Ese inmenso paso dado por la UNAM los retos planteados a la concurrencia de los procesos
abrió un sendero que sigue recorriéndose a la fecha. computacionales.
En este 2018, la Universidad, a través del Instituto de Por último, nuestra habitual sección de Historia de la
Investigaciones en Matemáticas Aplicadas y en Sistemas ciencia ofrece un recuento de los momentos estelares
(IIMAS) y el Centro Virtual de Computación (CViCom), del cómputo y el supercómputo en la UNAM.
celebra 60 años de cómputo con actividades académi Como se mencionó, la Universidad Nacional es pio
cas, conferencias, congresos, exposiciones y con este nera en el ámbito de la computación en América Latina,
número especial de El faro, la luz de la ciencia. y aún hoy en día se mantiene a la vanguardia con la
Así, en esta edición, integrantes de diferentes institu especialización en Cómputo de Alto Desempeño y el di
tos y centros de investigación y enseñanza de la UNAM seño de una nueva licenciatura en Ciencia de Datos, que
y de otras entidades académicas, reflexionan y describen incorporará la materia de cómputo cuántico.
asuntos relacionados con la robótica, el cómputo científi Por otra parte, el CViCom, creado bajo la gestión del
co, los códigos de cadena y la computación concurrente. rector Enrique Graue Wiechers en 2017, busca coordi
Sobra mencionar la trascendencia del cómputo y del nar esfuerzos alrededor del cómputo acorde con las di
supercómputo en el desarrollo de la ciencia y la tecno versas entidades que lo estudian, investigan o desarro
logía. Ningún proyecto deja de pasar por el tamiz del llan como una disciplina académica. Además, el IIMAS
cómputo electrónico, que también se toma a sí mismo es la única entidad del Subsistema de la Investigación
como objeto de estudio, como explican Suemi Rodríguez Científica que tiene como objetivo el cultivo de esta área.
Romo y Ricardo Paramont Hernández García. Sea este número especial de El faro una ventana a
En tanto, Jesús Savage Carmona repasa los avances las numerosas actividades desplegadas por los inves
logrados por la UNAM en el desarrollo de robots. Para tigadores universitarios, así como por sus colegas de
ello, presenta el trabajo desplegado en torno a Justina, otras latitudes, en materia de cómputo.
El faro
L
Facultad de Ingeniería, UNAM
os robots industriales, usados principalmente en la en las casas; uno de ellos se dedicará a cortar el pasto,
manufactura y que en su mayoría son brazos robo mientras que el otro hará rondines de vigilancia. Dentro
tizados estacionados en un solo lugar, se introdujeron de la casa funcionarán algunos pequeños que limpien,
en las fábricas durante la década de los sesenta del aspiren y trapeen el piso; uno fijo que se encargue del
siglo pasado. La figura 1 muestra estos robots en una lavado y planchado de la ropa; otro, tipo humanoide,
fábrica de automóviles.1 que ayudará a las personas a traer y llevar objetos de
un lugar a otro; este último tendrá capacidades de co
municarse con los integrantes de la casa usando len
guaje natural y planeará las acciones y los movimientos
necesarios para hacer sus funciones.
Los robots de servicio son sistemas de software y
hardware, autónomos o semiautónomos, que se encuen
tran en ambientes dinámicos y complejos. Su autonomía
consiste en la habilidad de tomar decisiones basadas en
una representación interna del mundo. Han surgido de
áreas de investigación, entre otras, como son la inteli
gencia artificial, el procesamiento de señales y la teoría
de control.
Los robots de servicio harán lo siguiente para atender
a adultos mayores: servir de compañía, explicar accio
Robots de servicio
Si Sd
ROBOT Si Sd
Si Sd
ROBOT
ROBOT
ROBOT
Adelante
Atrás
Giro
Giro Giro derecho
Atrás Atrás
izquierdo derecho
Giro izquierdo
Figura 3. Movimientos de un robot omnidireccional para evadir un obstáculo.
nes rutinarias, llevar lista y toma de medicinas, apoyar dulos de planeación de acciones ni movimiento. Lo que
en el ejercicio físico, suministrar información de calen se tiene son varios módulos que responden a estímulos
dario y hora, proveer información espacial, mantener la específicos generando salidas inmediatas, las cuales son
casa segura para evitar accidentes, por ejemplo, apagar combinadas o seleccionadas por un árbitro para generar
la estufa, detectar caídas o situaciones de riesgo, reco lo que el robot debe hacer bajo ciertas circunstancias.
ger objetos del suelo. Para el uso de servicios hospi Los módulos pueden utilizar máquinas de estados, redes
talarios: transporte de medicinas, análisis y alimentos, neuronales o campos potenciales. Un ejemplo de este
visitas presenciales de médicos externos usando los ro tipo de arquitecturas es la del robot Roomba 4, diseñado
bots de servicio como medio de navegación, monitoreo por la empresa Irobot.
de los signos vitales de los pacientes y para apoyar en el El paradigma más reciente es el llamado “probabilís
ejercicio físico de los pacientes. tico”, basado en el concepto que tanto el sensado del
Las capacidades básicas que los robots de servicio medio ambiente que hace el robot, así como el de sus
deben tener para poder realizar estas tareas son: ser re movimientos, son dependientes de variables aleatorias,
activos, es decir, reaccionar oportuna y apropiadamente que pueden ser manipuladas utilizando conceptos proba
a eventos imprevistos; ser capaces de resolver tareas bilísticos. Un ejemplo de estas arquitecturas es el auto
por medio de planes; resolver sus tareas eficazmente, móvil autónomo que obtuvo el primer lugar en el DARPA
haciendo uso de procedimientos probados en situacio Grand Challenge de 2005, desarrollado por Sebastian
nes rutinarias; tratar con interacciones, positivas y nega Thrun, de la Universidad de Stanford 5.
tivas, con otros robots y humanos. Cada uno de estos tipos de arquitecturas tiene sus
Los robots necesitan adaptarse a cambios en las con ventajas y desventajas. Así, tomando lo mejor de cada
diciones del medio ambiente, ser capaces de aprender una de ellas, se pueden tener sistemas híbridos, como
a realizar nuevas tareas o variantes de las que ya tienen el que se ha desarrollado con el robot Justina, de la
programadas, a través de demostraciones (de los usua Facultad de Ingeniería de la UNAM, el cual se presenta
rios), de buscar información (en Internet) y de interactuar más adelante.
con el ambiente.
En el desarrollo de los robots de servicio se han ob 1.1. Máquinas de estado
servado tres paradigmas de arquitecturas de robots mó La forma más directa para programar la navegación de
viles muy bien marcadas. un robot móvil es a través del uso del concepto de máqui
La primera, llamada “tradicional”, se aplicó a partir nas de estado. En estas se tiene una representación del
de los años sesenta del siglo pasado, cuando se utili estado en el cual se encuentra el sistema y dadas ciertas
zaban modelos simbólicos para representar el medio condiciones de entradas y el estado presente se calcula
ambiente y el uso de técnicas básicas de inteligencia el siguiente. La parte fundamental de estas máquinas es el
artificial para la búsqueda de caminos y una represen algoritmo que ejecutan. En la figura 3 se muestra un robot
tación espacio/estado para la planeación de acciones. omnidireccional que cuenta con dos motores que le permi
Un ejemplo de este tipo de arquitecturas es la del robot ten ir hacia adelante, atrás y hacer giros hacia la derecha
Shacky 3, desarrollado en la Universidad de Stanford. e izquierda, asumiendo que solamente puede hacer giros
La segunda tendencia fue implementada en los años de 45 grados.
ochenta en el MIT, por el investigador Rodney Brooks, Cuenta con dos sensores que le permiten detectar
llamada “reactiva”, en la cual no se cuenta con una re obstáculos, como se muestra en la figura 3. Si el robot no
presentación del medio ambiente, ni tampoco con mó detecta ningún obstáculo seguirá avanzado; si detecta
agosto de 2018 5
un obstáculo con su sensor izquierdo, prime Interpretación/representación simbólica.
ro va hacia atrás y después gira hacia la de Con los datos proporcionados por los sen
recha 45 grados; si detecta un obstáculo con sores externos e internos se obtiene una
su sensor derecho, primero va hacia atrás y representación simbólica, que se logra uti
después gira hacia la izquierda 45 grados; si lizando técnicas de procesamiento digital
detecta un obstáculo con los dos sensores, de señales.
entonces el robot va hacia atrás, gira dos ve Tareas del robot. Un conjunto de tareas
ces a la izquierda, avanza hacia adelan que el robot necesita realizar en el tiempo
te y finalmente girará hacia la derecha que fueron programadas.
dos veces. Esta explicación se muestra Interfaz humano/robot. La comunicación
en el algoritmo de la figura 4. entre el usuario y el robot es por medio de
Las máquinas de estado pueden pro la voz y gestos manuales; el robot respon
gramarse desde muy bajo nivel, usando de usando voz sintética y expresiones faciales
flip-flops en su instrucción y compuertas simples.
ANDs y ORs, hasta en uno muy alto usan Percepción. El módulo de percepción recibe
do lenguajes de programación como C++ y la representación simbólica de los datos que
Python. También se pueden utilizar para su vienen de los subsistemas: tareas del robot,
instrumentación redes neuronales retroali interfaz hombre-robot y los sensores internos
mentadas en FPGAs6. y externos. Con esta representación simbólica
se genera una o una serie de creencias.
1.2. Robot Justina
Justina es un robot de servicio completa 1.4. Capa de planeación
mente diseñado en la Facultad de Ingeniería En esta capa se planean las acciones que
de la UNAM. tiene que hacer el robot para cumplir las
El sistema de operación de Justina7 está situaciones que se le presentan.
basado en una arquitectura híbrida de ro Validación de situaciones. Este
bots móviles, que consiste de cuatro ca subsistema valida las creencias
pas: entrada, planeación, conocimiento generadas en la capa de entra
y ejecución. das, así se reconocen situacio
Cada una de ellas cuenta a su vez nes nuevas en el medio ambiente.
con varios subsistemas que controlan Activación de metas. Dado el re
en forma general el funcionamiento del conocimiento de situaciones nue
robot. Operativamente cada uno de los vas un grupo de metas se activa.
componentes de software se enlaza en Banco de procedimientos. Se tie
tre ellos usando el mecanismo de comuni nen procedimientos que resuelven
cación entre procesos del sistema operativo parcialmente problemas específicos;
para robots ROS. estos están representados usando máquinas de
Robot Justina.
estados. Se tienen procedimientos para tomar ob
1.3. Capa de entrada jetos, limpiar mesas, encontrar humanos, alinearse a
En esta etapa se procesan las señales provenientes de una pared o muebles, etcétera.
los sensores internos y externos con los que cuenta el Planeador. El planeador intenta alcanzar cada una
robot, utilizando técnicas de procesamiento digital de de las metas seleccionando un conjunto de funciones
señales, para generar una representación simbólica del banco de procedimientos. Escoge el mejor plan de
de ellas. Por ejemplo, si el robot está situado enfrente de acciones que resuelve cada una de las metas y los re
una mesa donde hay objetos, esta capa indicaría los tipos úne. Se cuenta con dos tipos de planeadores: acciones
y nombres de objetos encontrados. Si alguien le da un y movimientos. El planeador de acciones encuentra
comando de voz al robot, después de hacer reconoci una secuencia de acciones que lleven a la solución
miento de palabras, se encuentra una representación de de un problema, se utiliza una máquina de inferencias
la oración, utilizando técnicas de lenguaje natural, que que realiza búsquedas en una representación espacio/
puede aplicarse después por las siguientes capas para estado. El planeador de movimientos encuentra algu
realizar lo que se solicita. na o la mejor ruta (puede ser la más corta), usando el
Esta capa contiene los siguientes subsistemas: algoritmo de Dijkstra o A*, que lo lleven de un origen
Sensores internos. Sirven para determinar el estado a un destino utilizando un mapa topológico (nodos y
interno del robot y están formados por los siguientes conexiones) del lugar.
elementos: codificadores en las ruedas, sensor de car Reconocedor de excepciones. Si durante la ejecución
ga de la batería, sensor de inclinación, sensor de tem de un plan suceden cosas inesperadas y el plan necesi
peratura, etcétera. tara este módulo ofrece esta capacidad.
Sensores externos. Los sensores externos sirven
para detectar el medio ambiente, utilizándose los si 1.5. Capa de conocimiento
guientes: de contacto, de luz infrarroja, cámaras, micró Esta capa contiene una representación del conocimiento
fonos, láser, sonares, etcétera. con la que cuenta el robot.
GIRO_DER
est11
GIRO_DER
est10
ADELANTE
est9
ADELANTE
est8
GIRO_IZQ
est7
GIRO_IZQ
est2 GIRO_IZQ GIRO_DER
est6 est4
ATRAS
ATRAS
ADELANTE est1 ATRAS
est5 est3
Sd
Sd
Si
est0
agosto de 2018 7
Figura 6: Modelo conceptual de la robot Justina.
Pasos iniciales
Los primeros ingenios para hacer
de manera mecánica las operacio
nes de suma y resta (Schickard y
Pascal), y las de multiplicación y di Tiempos modernos
visión mediante sumas y restas su En 1944, como resultado de cinco años
cesivas (Leibniz), fueron creados en de colaboración entre la empresa
el siglo XVII. Fue hasta finales del IBM (Clair D. Lake) y la Universidad
siglo XIX que se construyó una má de Harvard (Howard Aiken), se
quina para realizar directamente la construyó el Calculador Automático
operación de multiplicación (Bollée) de Secuencia Controlada (ASCC) o
MARK I.
La siguiente etapa en el desa
Izquierda. Réplica de la máquina de Leibniz en
el Museo Technische Sammlungen de Dresde, rrollo de las máquinas de cálculo
Alemania. se dio en la Escuela Moore, de
Arriba. Leonardo Torres y Quevedo. la Universidad de Pensilvania,
Derecha. En 1920 se presenta el aritmómetro
electromecánico, considerado el primer ordenador
por encargo del Laboratorio de
por su capacidad de realizar comparaciones, Investigación en Balística, don
tomar decisiones y almacenar información. de se diseñó una máquina de
cálculo por Eckert, Mauchly y
Goldstine, quienes trabajaban
ser desarrollada con componentes para esta escuela. Se trataba de la
electromecánicos. Más avanzado el computadora electrónica llamada
siglo XX, se demostraría que la elec Integrador Numérico Electrónico y
tromecánica era la siguiente tecno Computadora (ENIAC). La memo
logía que haría avanzar la construc ria principal y los dispositivos de
ción de los autómatas de cálculo. cálculo eran circuitos electrónicos.
Un par de años antes del inicio de Esta máquina trabajaba con núme
la Segunda Guerra Mundial, George ros digitales base diez. La coordi
Stibitz, quien trabajaba para los nación del funcionamiento de sus
y hasta principios del siglo XX, otra Laboratorios Bell, inició la elabora componentes se diseñó para que
que hacía la multiplicación y la di ción de calculadores, usando tecno operara con un reloj. Fue entrega
visión de manera directa (Monroe). logía electromecánica. Trabajaban da en 1946.
agosto de 2018 9
aún, el hecho de tener una gran can
tidad de información que aparente
mente no es útil, también genera la
necesidad de usar la ciencia e in
geniería de lo computable. Algunos
ejemplos sencillos de entender son
los siguientes.
No podemos hacer experimentos
con el ciclo de vida de las galaxias
o de las estrellas, pero sí podemos
proponer un modelo y simular lo que
arrojaría como datos para compa
rarlo con la realidad. También pode
mos obtener datos de observacio
nes y tendríamos una base de datos
Augusta Ada King, condesa de Lovelace, conocida como Ada Lovelace. Matemática y escritora
británica considerada como la primera programadora de ordenadores. Su fama se debe principalmente
muy amplia que, sin la necesidad de
a su trabajo sobre la máquina analítica de Charles Babbage, lo que se reconoce hoy como el primer modelo alguno, nos pueda propor
algoritmo para ser procesado por una máquina. cionar información directa del fenó
meno en cuestión. Exactamente lo
Fue en la compañía IBM donde se democratizó. En 1981 salió a la mismo ocurre con los fenómenos cli
se construyó la máquina que alma venta al público la primera computa máticos, comportamiento de bolsas
cenaría sus programas en la me dora personal de IBM profundizando de valores y efectos económicos,
moria principal, de la misma forma la ampliación del cómputo. A partir de entre otras aplicaciones. En otras
que se apilaban los datos; se trata entonces, la interacción de las perso ocasiones el problema al que nos
ba del IBM Calculador Electrónico nas con las computadoras fue directa. enfrentamos es de seguridad, como
Seleccionador de Secuencias Con- es el caso de las plantas nucleares,
troladas (IBM SSEC). Este dispositi Usos estabilidad de grandes construccio
vo ya tenía las principales bases de En la relación de la computadora y nes, diseño de carros, aviones, ma
la arquitectura de las computadoras el individuo se proponen modelos teriales y moléculas con actividad
modernas. El encargado de su de de lo que nos interesa y se simu biomédica, entre otros.
sarrollo fue Frank Hamilton, que en la lo que pasaría con estos mode El cómputo científico es un pilar
1948 concluyó su construcción. los en distintas circunstancias. Más transdisciplinario indispensable de
Desde finales de la década de los
años cuarenta del siglo XX, quienes
podían programar las computadoras
eran los expertos que conocían su
arquitectura y su lenguaje de máqui
na exclusivamente. La máquina analítica de Charles
A mediados de la década de los Babbage tenía dispositivos de entrada
basados en las tarjetas perforadas de
sesenta, Gordon Moore, un exper Jacquard, un procesador aritmético,
to en la elaboración de los circuitos que calculaba números, una unidad
integrados para computadoras, pu de control que determinaba qué tarea
blicaba una predicción: el número debía ser realizada, un mecanismo
de componentes que se colocaría de salida y una memoria donde los
números podían ser almacenados
en uno de estos circuitos se dupli hasta ser procesados. El Museo
caría cada año. Esto resultó cierto de Ciencia de Londres, custodio
hasta 1975. Para los siguientes 10 de la obra de Babbage, completó
años predijo que la duplicación de en 1991 la máquina diferencial Nº2
para celebrar el bicentenario del
los componentes ocurriría cada
nacimiento del matemático. Con
dos años; después de medio siglo, este proyecto Doron Swade, curador
esa predicción sigue vigente. Esto de computación de dicho museo y
nos habla de los vertiginosos avan su equipo, demostraron que tanto
ces en la miniaturización de com la máquina diferencial de Babbage
como el sistema de impresión fun-
ponentes. Acompañando a esa cionaban correctamente.
miniaturización, viene un aumento
en su desempeño, de manera que
operan también más rápidamente.
Con el advenimiento de los len
guajes de alto nivel, la programación
agosto de 2018 11
ESCIENCI@
Códigos de cadenas
Dr. Ernesto Bribiesca Correa
Instituto de Investigaciones en Matemáticas Aplicadas y en Sistemas, UNAM
Bibliografía
[1] H. Freeman, On the encoding of arbitrary geometric
configurations, IRE Transactions on Electronic Computers
EC-10 (1961) 260-268.
[2] E. Bribiesca and A. Guzmán, How to describe pure
form and how to measure differences in shapes using
shape numbers, Pattern Recognition 12 (1980) 101-112.
[3] E. Bribiesca, A new chain code, Pattern Recognition
32 (1999) 235-251.
[4] E. Bribiesca, A measure of tortuosity based on chain
coding, Pattern Recognition 46 (2013) 716-724.
[5] E. Bribiesca and G. Bribiesca-Contreras, 2D tree
object representation via the slope chain code, Pattern
Figura 9. Curva de Hilbert compuesta por 4,096 elementos, Recognition 47 (2014) 3242-3253.
usando el código cadena de curvas 3D. [6] E. Bribiesca, A chain code for representing 3D curves,
Pattern Recognition 33 (2000) 755-765.
[7] A. Guzmán, Canonical shape description for 3-d stick bo-
de montar y en sus diferentes etapas va cubriendo el dies, MCC Technical Report Number: ACA-254-87, Austin,
espacio que la contiene. La figura 9 muestra una de TX 78759, 1987.
las etapas de la curva de Hilbert compuesta por 4096 [8] W. Gilbert, A cube-filling Hilbert curve Mathematical
elementos. Intelli-gencer 6 (1984) 78.
El código de cadenas 3D también es útil para repre [9] F. Torres and E. Chow, Human body motion analy-
sentar estructuras de árbol. En la figura 10 se describe sis with time-3D curve and Labnotation, Department of
un árbol que cubre el espacio usando solamente los Computer Science, Universidad de Colorado en Colorado
elementos “1” y “3” del código en una manera iterativa. Springs, USA, 2010.
agosto de 2018 17
Primeras generaciones de recursos Sierra Cluster, el primero en su tipo en
A inicios de los noventa, Latinoamérica y uno de los pocos en el mundo con la
la UNAM suscribió un versión Tru64 UNIX 5.1b.
convenio de investigación La arquitectura de esta supercomputadora fue tan
y desarrollo con la Cray eficiente, que una versión similar, pero de mayores
Research Inc., proveedo- dimensiones, se encontraba entre los primeros seis
ra de la primera super lugares del supercómputo mundial. Las investigacio
computadora en México nes que respaldó esta máquina se relacionaban con
y en América Latina. La el sida, el ADN, el cáncer y la formación de galaxias,
Cray Y-P4/464, conoci entre otros temas.
da como Sirio, se instaló
en la Dirección General KanBalam
de Servicios de Cómputo En febrero de 2006, la Cámara de Diputados asignó a
Académico (DGSCA), el la UNAM y al IPN fondos adicionales. La Universidad
En marzo de 2003 la DGSCA puso
en operación la AlphaServer SC 14 de noviembre de 1991. decidió utilizar 30 millones de pesos de esos recursos
45, nombrada Bakliz, que significa De inmediato se apunta para “fortalecer la infraestructura de supercómputo”.
“infinito” en maya. Se trataba de una ron 46 grupos de inves Durante el rectorado de Juan Ramón de la Fuente, la
supercomputadora escalable y de
memoria distribuida, 60 veces más
tigación para emplearla. Universidad anunció la puesta en marcha de KanBalam,
potente que la Cray. Un año después sumaban la nueva supercomputadora de HP, el 16 de enero de
150 proyectos en ciencias 2007, tres meses después de recibirla en las instalacio
químicas, biológicas, físi nes de la DGSCA; tenía la capacidad para siete billones
cas, matemáticas de la computación y de materiales e de operaciones aritméticas por segundo.
ingeniería, entre otros. KanBalam fue una de las supercomputadoras para
Para abril de 1997, la primera supercomputadora lelas más poderosas de América Latina con una capaci
ya había utilizado más del 90% de su capacidad de dad de procesamiento de 7.113 teraflops (7.113 billones
memoria y se encontraba poco menos que saturada. de operaciones aritméticas por segundo). Disponía de
Entonces llegó a la DGSCA otra Cray, modelo Origin un sistema de 768 discos duros de 200 GB cada uno,
2000, a la que se bautizó como Berenice y que inició con 160 TB de almacenamiento.
operaciones en abril de 1997. La capacidad de cálculo de KanBalam fue siete mil
Esta supercomputadora se adquirió por recomenda veces más potente que la primera supercomputadora
ción del Comité Académico de Supercómputo y en un de la UNAM, la CRAY-YMP adquirida en 1991, y 79 ve
principio se pensó que podría complementar a Sirio, ya ces más poderosa en cálculo que la AlphaServer SC45,
que era más pequeña. Con las Cray, la UNAM se puso comprada en 2003. Además, se colocó en el lugar 126
a la vanguardia tecnológica. dentro de las 500 supercomputadoras más potentes
En diciembre de 2002, la DGSCA adquirió una nue del mundo, era la 28 entre las supercomputadoras ope
va supercomputadora con procesamiento en paralelo, radas por universidades y la número uno en América
la AlphaServer SC 45, nombrada Bakliz, que signifi Latina. Así, la UNAM se mantenía a la vanguardia en
ca “infinito” en maya. Se trataba de una computadora el empleo de equipos de cómputo electrónico, en be
escalable y de memoria distribuida, 60 veces más po neficio no solo de la comunidad de investigadores, sino
tente que la Cray. Fue puesta en operación en marzo del país.
de 2003. Bakliz operó en el sistema de administración
Lo de hoy
Para enero de 2013, la Universidad adquirió una super
computadora tipo clúster, con una capacidad 17.5 veces
superior con respecto a KanBalam y catalogada como el
equipo más robusto de Amé-
rica Latina.
El futuro de la computación
En el marco de la celebración por los 60 años
de cómputo en la UNAM, recientemente se
efectuó una conferencia sobre computadoras
cuánticas y el futuro de la informática, impar
tida por Robert Sutor, vicepresidente de in
vestigación de IBM y líder del proyecto mun
Vista panorámica de la sala de supercómputo, DGSCA, hoy DGTIC.
En 1991, la UNAM pone a disposición de la comunidad universitaria la primera dial más exitoso en cómputo cuántico.
supercomputadora en Latinoamérica: CRAY YMP 432. Se instalan los primeros Procesar información usando estados cuán
conmutadores telefónicos digitales de la red universitaria más grande de Latinoamérica. ticos en lugar de corriente eléctrica dará a las
computadoras de nueva generación un poder
sin precedentes y seguridad con garantías sin
Esta supercomputadora, llamada Miztli, que en ná paralelo. Estas nuevas tecnologías comienzan a tener
huatl significa “felino mayor o puma”, puede efectuar presencia a nivel experimental; hoy en día son de 15
más de 118 billones de operaciones por segundo y bits cuánticos o qubits (unidades básicas de información
cuenta con una capacidad de almacenamiento en disco en este sistema), pero en los próximos años contendrán
de 720 TB. cientos de ellos.
En 2013 se inició la consolidación del clúster de alto Entre las múltiples aplicaciones de estos equipos es
desempeño para la colaboración con el Centro Europeo tán simulaciones complejas de medicamentos para las
de Investigación Nuclear y el Instituto de Ciencias Nu- ciencias químicas, la encriptación cibernética para tener
cleares de la UNAM, en el ámbito de la física de partícu mayor seguridad de datos e Internet, y la simulación as
las de alta energía dentro del proyecto ALICE del Gran tronómica. Hoy en día su grupo de investigación en IBM
Colisionador de Hadrones, para lo que se adquirió un construye un sistema con 50 qubits, el cual se espera
disco duro de 500 TB y 1,024 núcleos de procesamiento. revolucione la tecnología.
El supercómputo contribuye al estudio de la estruc Nuestra Máxima Casa de Estudios se mantiene a la
tura del Universo, de sismos y del comportamiento de vanguardia con la especialización en Cómputo de Alto
partículas subatómicas, así como al diseño de nuevos Desempeño y diseña la nueva licenciatura en Ciencia de
materiales, fármacos y reactores nucleares. En prome Datos, que incorporará la materia de cómputo cuántico.
dio, Miztli apoya anualmente 120 proyectos de investi Como se mencionó al inicio, la Universidad Nacional
gación, tanto de la UNAM como de otras instituciones es pionera en el ámbito de la computación en América
que solicitan recursos de supercómputo del Laboratorio Latina, y actualmente tiene un convenio de colabora
Nacional de Cómputo de Alto Desempeño. ción con IBM sobre programas específicos de cómputo
En esta línea, en junio de 2017 Miztli amplió su ca cuántico, inteligencia artificial y supercómputo.
pacidad. Las necesidades para hacer uso de herra
Agradecemos el apoyo de la Dirección General de Cómputo y Tecnologías
mientas cada vez más poderosas y emprender nuevas de la Información y Comunicación y del Centro Virtual de Computación para la
investigaciones en la UNAM han requerido que se vaya elaboración de este artículo.
adaptando esta supercomputadora para abordar nue
vos desarrollos tecnológicos. Ahora
cuenta con 8,344 procesa
dores, casi 45 terabytes de
agosto de 2018 19
VENTANA
UNIVERSITARIA
COMPUTACION ´
CONCURRENTE
a través del
razonamiento secuencial
Dr. Sergio Rajsbaum y Dr. Michel Raynal
L
Instituto de Matemáticas, UNAM - Universidad de Rennes, Francia
os sistemas modernos de cómputo ejecutan mu procesadores que operan comunicándose mediante
chas tareas al mismo tiempo. Es sumamente difícil una memoria compartida, o cuando las computadoras
programar estos sistemas de forma que toleren fallas, ubicadas en diferentes lugares interactúan enviándo
que sean eficientes y que escalen bien a más y más se mensajes a través de una red, para construir los
tareas. La forma de lograrlo ha evolucionado desde sistemas web que usamos todos los días.
los años sesenta del siglo pasado hasta la fecha, a Hoy, el mayor desafío en la ciencia y la tecnología
través de un paradigma que da la ilusión de un mun de la información (TI) reside en dominar la concurren
do secuencial, como si las tareas no se ejecutaran en cia. Los ingenieros de software están bien preparados
paralelo. para programar sistemas que ejecutan una instrucción
tras otra. Los programas concurrentes en cambio son
El reto del cómputo concurrente diseñados por especialistas, y aun así con frecuencia
El cerebro humano realiza muchas tareas al mismo tienen errores o problemas de eficiencia. Ahora la con
tiempo, de forma natural y constante. Sin embargo, currencia se está́ imponiendo a toda la comunidad de
solo después de un entrenamiento intenso podemos TI debido a dos fenómenos disruptivos: el desarrollo
–como un músico o un deportista– estar al tanto y de redes de comunicaciones, y la capacidad de au
realizar varias actividades simultáneamente. Es infini mentar la velocidad de las computadoras a una tasa
tamente más fácil razonar y actuar secuencialmente, de crecimiento exponencial. Los aumentos en el ren
haciendo solo una cosa a la vez, quizá porque nuestro dimiento vienen de la disponibilidad de procesadores
principal mecanismo de comunicación con los demás colaborando unos con otros, ya sea para incremen
es el lenguaje hablado, intrínsecamente secuencial. tar la velocidad de cómputo o para construir sistemas
Pero también porque hacer muchas cosas a la vez es distribuidos y tolerantes a fallas disponibles continua
más complejo. Por este motivo en computación tam mente y a escala global.
bién es mucho más fácil razonar sobre un programa Para ilustrar brevemente la dificultad de la progra
secuencial, que sobre uno que consista de varias ta mación concurrente, pensemos en la situación que tie
reas ejecutadas simultáneamente. La programación ne lugar cuando se programa una cuenta de banco, a la
concurrente es enormemente difícil porque tiene que cual varios usuarios tienen acceso. Un usuario podría
hacer frente a muchos comportamientos, con frecuen estar consultando el saldo, mientras otro hace un re
cia impredecibles, ya sea a nivel microscópico, como tiro, y otro más efectúa un depósito. Para programar
es el caso de una computadora multi-core con varios un sistema como este, se requiere garantizar que las
I
N
T
E
R
N
E
T
20 el faro, la luz de la ciencia
operaciones concurrentes de los distintos usuarios no pueden ser atendidos por este, y no tienen todos que
interfieran entre sí. En ocasiones es necesario realizar enlazarse a un mismo lugar con los correspondientes
operaciones compuestas, como hacer un retiro sola retardos de comunicación y cuellos de botella que ha
mente si el saldo es mayor a una cierta cantidad, para bría si todos los datos estuvieran en un solo lugar.
mantener un saldo mínimo. Si otro usuario hace un retiro El diseño del sistema debe asegurar la consisten
al mismo tiempo, el primero podría erróneamente pensar cia de los datos replicados en varios servidores. Es
que la cuenta mantiene el saldo mínimo. necesario que cuando un usuario hace un depósito,
este quede registrado en todos los servidores, y que
Los albores del razonamiento secuencial todos apliquen las transacciones en el mismo orden.
en el cómputo concurrente Para esto es necesario que los servidores se comuni
En los años sesenta del siglo pasado se hablaba ya quen unos con otros, y queden de acuerdo en el or
de una crisis, ocasionada por la cantidad de proble den en que van a ejecutar transacciones que se estén
mas que había al intentar resolver situaciones como la solicitando concurrentemente. Se utilizan algoritmos
ilustrada en el párrafo anterior. El nacimiento de una de replicación de estado que toleran fallas, inclusive
ciencia de concurrencia llega a finales de esa década maliciosas, y se utilizan en los sistemas modernos de
con el paradigma de exclusión mutua, que hace que el forma transparente a los usuarios.
sistema se encargue de darle la ilusión a los usuarios
de que sus operaciones se ejecutan de forma atómica, Escalabilidad y auditabilidad - blockchains
una tras de otra, de manera que el estado de la cuenta La tercera etapa de la concurrencia nos lleva a un ni
siempre esté bien definido. En realidad, hay varias ta vel de abstracción aún mayor, de estructuras de datos
reas concurrentes, que se sincronizan solicitando ac distribuidas, ya no simplemente replicadas. Se utilizan
ceso exclusivo a los datos de la cuenta. Los usuarios con éxito estructuras de datos clásicas como pilas,
nunca perciben el paralelismo. colas y árboles de forma colaborativa entre procesos
concurrentes que maximizan el desempeño aprove
Tolerancia a fallas y distribución chando los procesos rápidos y tolerando retardos o
El enfoque de exclusión mutua tiene la limitante de que fallas de otros procesos.
si una tarea falla mientras tiene el acceso exclusivo al Surgen recientemente dos requerimientos adiciona
recurso compartido (la cuenta de banco), puede blo les que nos dirigen hacia el futuro de la ciencia de la
quear todo el sistema, ya sea a nivel interno en un sis concurrencia. El primero tiene que ver con transpa
tema multi-core, o en un sistema distribuido al hacer rencia, en situaciones donde se requiere poder audi
una reservación de boletos, al interactuar con progra tar al sistema, en el sentido de que cualquier usuario
mas de redes sociales, o llenar un formato por internet. pueda obtener una lista de las operaciones que se
Por otro lado, el sistema debe encargarse de que no han ejecutado. Se pide que sea imposible pretender
se pierdan los datos de la cuenta. La segunda etapa que una operación no tuvo lugar, o que se efectuó
de desarrollo conceptual en la concurrencia define el en otro orden en la secuencia de operaciones. Esto
paradigma de replicación de estado. El sistema man es precisamente lo que logra la estructura distribuida
tiene varias réplicas de la cuenta en servidores en lu blockchain, de la que tanto se habla en las noticias.
gares diferentes. Esto tiene además la ventaja de que Mediante técnicas criptográficas, es posible añadirle a
las operaciones de usuarios cercanos a un servidor cada transacción un apuntador a la transacción prece
agosto de 2018 21
El proceso P1 no requiere
acceso a la computadora
del servidor (CS). Servidor
Fila de
solicitudes
4
El proceso P2 ha sido
anexado a la fila, que 3
Otorga
ya contenía la solicitud
de P4.
2 señal
p1 1
p4
Solicita 2
El proceso P3 sale de la CS. señal Libera
señal
El servidor elimina el p2 p3
acceso de P4 y a su vez
otorga permiso para que P4
entre, respondiendo a
su solicitud.
dente, que es prácticamente imposible de modificar, y incluyen cómo programar soluciones a problemas in
que cualquier usuario la puede auditar. herentemente concurrentes (que no tienen especifi
El segundo requerimiento es la escalabilidad a cien caciones secuenciales), diseñar mejores técnicas de
tos de miles de transacciones. Los sistemas tradicio programación concurrente, y en general continuar desa
nales de replicación se vuelven demasiado lentos en rrollando la ciencia de concurrencia.
este caso, ya que para que los servidores lleguen a un
consenso del orden de las transacciones, es necesario La ciencia del cómputo concurrente
que se comuniquen todos con todos, incurriendo en un En la UNAM hemos estudiado estos y otros problemas
costo que crece de forma cuadrática en la cantidad de de concurrencia desde una perspectiva científica desde
servidores, y rápidamente se vuelve prohibitivo. Una hace más de 20 años, contribuyendo a entender las
forma en que sistemas tipo blockchain le dan la vuelta a posibilidades y limitaciones de los sistemas concurren
este costo, es logrando un consenso simulando una es tes. Somos un grupo líder, en especial en los funda
pecie de lotería que usa funciones criptográficas hash, mentos para estos sistemas, usando la rama profunda
en el cual, con muy baja probabilidad, sale el boleto de las matemáticas, topología. Hemos escrito el libro
premiado, y muy raramente más de uno saca el premio. Distributed Computing Through Combinatorial Topolgy
Para participar en la lotería, el servidor tiene que haber (Elsevier), además de cientos de artículos; asimismo,
hecho muchas operaciones con el consecuente gasto hemos colaborado en diversos proyectos de investiga
enorme de energía. El servidor que saca el premio se ción con Estados Unidos, Francia e Israel. También he
convierte en el líder, que decide el orden a ejecutar de mos organizado múltiples eventos y formado recursos
la siguiente transacción (y obtiene un pago correspon humanos a lo largo de todos estos años.
diente, que lo motiva a participar en la lotería).
La reducción de concurrencia a razonamiento se Referencias
cuencial persiste, pasando de exclusión mutua a repli Maurice Herlihy, Dmitry N. Kozlov, Sergio Rajsbaum:
cación, luego a distribución y finalmente a escalabili Distributed Computing Through Combinatorial Topology.
dad auditable global. Las transacciones se emiten con Elsevier-Morgan Kaufmann, 2013.
currentemente pero se ordenan todas en el blockchain Ming-Yang Kao: Encyclopedia of Algorithms— Distributed
para darles una semántica secuencial. Entre los muchos Algorithms, S. Rajsbaum (Ed.). Springer, 2016.
retos de la programación concurrente se encuentra el Michel Raynal. Distributed Algorithms for Message-
Passing Systems. Springer, 1-500, 2013.
de inventar sistemas con los beneficios de blockchains,
pero sin el gasto de energía prohibitivo. Otros retos Agradecimientos a PAPIIT IN109917 y Francia INRIA LiDiCo.
P
Alejandro Illanes Mejía
ara que Leo no se aburriera, su pro
fesora le puso el siguiente problema.
Instituto de Matemáticas, UNAM A VER SI
Supón que divides la siguiente figura, si
guiendo las líneas dibujadas, en puras pie
PUEDES
zas iguales. ¿Cuántos tipos
de piezas puedes conseguir?
Por ejemplo, puedes obte
ner cuadritos de uno por uno
(y ese es un tipo de pieza);
también puedes dividirla ob
teniendo rectángulos de dos
por uno (y ese es otro tipo de
pieza que puedes obtener), no puedes divi
dirla y tener piezas formadas por tres cua
dritos, etcétera. Cuando termines puedes
¡Gánate un libro!
salir al descanso, le dijo. Finalmente, Leo Síguenos en Facebook.
no salió. ¿Tú sí saldrías?
Busca en nuestra fanpage la publicación del
acertijo, y sé uno de los primeros en
dar la respuesta correcta, y además
compártela en tu muro.
agosto de 2018 23