Guion de Entrevista
Objetivo:
Aprender sobre el tema de HPC y clústeres, los conceptos principales, los
requisitos y las funciones o aplicaciones que tienen los susodichos.
La entrevista va dirigida a
ingenieros mexicanos que elaboraron un clúster dentro de nuestro país.
1.- ¿Qué es un clúster
computacional?
2.- ¿Qué es el HPC (High
Performance Computing)?
3.- ¿Qué tipos de clúster
existen?
4.- ¿Cómo funciona el procesamiento
en paralelo?
5.- ¿Qué requisitos son
necesarios a la hora de diseñar un clúster?
6.- ¿Qué software se
utiliza?
7.- ¿Cómo está compuesto
(Hardware) su clúster?
8.- ¿Qué problemas
surgieron durante la elaboración del clúster?
9.- ¿Cuáles son las principales
funciones que realiza?
10.- Por último, ¿Alguna recomendación
para entusiasmados en el tema de HPC para realizar su propio clúster?
Basandome en el guión previo, busque proyectos de HPC realizados en México para conseguir entrevistar a alguien conocedor del tema. Mi busqueda me llevo al clúster desarrollado en el CIMAT (Centro de Investigación en Matemáticas) en Guanajuato.
Ahi logre ponerme en contacto con el Ingeniero Iván Agustín Munguía Torres, quien amablemente me presto de su tiempo para atender la entrevista.
Entrevista Aplicada
Nombre
de entrevistado: Iván Agustín
Munguía Torres
Función: Ingeniero colaborador del proyecto
Lugar de entrevista: Vía e-mail
Fecha de la entrevista: 25 de mayo 2018, 4:00 p.m
Objetivo:
Aprender sobre el tema de HPC y clústeres, los conceptos principales, los
requisitos y las funciones o aplicaciones que tienen los susodichos.
La entrevista va dirigida a
ingenieros mexicanos que elaboraron un clúster dentro de nuestro país.
Presentación
al Entrevistado:
¡Hola buenas tardes!
Mi nombre es
Joel y soy un aspirante a ingresar a estudios universitarios en el área de
desarrollo de software y tengo un curso propedéutico donde debo realizar una
investigación sobre un tema relacionado a la carrera.
Me llamó
mucho la atención todo lo relacionado sobre High Performance Computing y en mi
investigación, me topé con su proyecto.
Si no fuera
mucha molestia, ¿podría apoyarme contestando las siguientes cuestiones? o
bien, otorgarme la oportunidad de entrevistarlo?”
Iván: Ok, excelente, y como dicen por ahí "No hay
preguntas tontas". De la misma manera no hay preguntas “simples” talvez
para alguien de alto nivel son simples, pero para ti son complejas, ¡entonces
se vale preguntar!
Preguntas:
Yo:
1.- ¿Qué es un clúster computacional?
Entrevistado: Un Clúster es un conjunto de computadoras
interconectadas, con el propósito de trabajar de manera coordinada para
resolver un problema
Y:
2.- ¿Qué es el HPC (High Performance Computing)?
E: HPC = Computo de
alto rendimiento,
En el computo "standard" tu
PC (Personal Computer = Computadora personal) realiza operaciones con un
procesador standard (digamos un procesador de dos cores), con la memoria RAM estándar,
digamos unos 4 GB de memoria RAM.
El computo que realiza un clúster es
llamado de alto rendimiento por que usa procesadores de muchos más núcleos (24,
48 núcleos, por maquina) con niveles de memoria RAM muy altos (12 GB de RAM por
maquina) y además, muchas computadoras interconectadas.
El artículo que leíste el clúster
tiene un poder de computo de 216 cores, y de 455.3 GB de RAM. ¡Si revisas la
lista de las 500 supercomputadoras (clústeres) más importantes del mundo,
la numero uno cuenta con 10,649,600 de cores!
Por eso es llamado computo de alto rendimiento HPC
Esta es la lista
Y:
3.- ¿Qué tipos de clúster existen?
E: Según la wikipedia
hay 3 tipos
·
HPCC (High Performance Computing Clusters: clústeres
de alto rendimiento).
·
HA o HACC (High Availability Computing Clusters: clústeres
de alta disponibilidad).
·
HT o HTCC (High Throughput Computing Clusters: clústeres
de alta eficiencia).
Y:
4.- ¿Cómo funciona el procesamiento en paralelo?
E: Un programa de
computadora, por ejemplo, los programas de c++ que escribes son una secuencia
de instrucciones. En principio cada una de estas instrucciones se ejecuta de
manera secuencial (primero una luego la siguiente, etc) El procesamiento en
paralelo consiste en ejecutar múltiples instrucciones al mismo tiempo, cada una
en un core del procesador, de manera que si un procesador tiene 48 cores, la ejecución
del programa seria en teoría 48 veces más rápida que en un procesador con un
solo core (en la práctica no es tan rápido ya que algunas instrucciones no se
pueden paralelizar)
Y:
5.- ¿Qué requisitos son necesarios a la hora de diseñar un clúster?
E: La sección de
Diseño de Clúster -> Consideraciones explica muy bien los requisitos.
Y:
6.- ¿Qué software se utiliza?
E: En principio solo
necesitas un sistema operativo, y tu programa que correrás en el clúster. Sin embargo,
dependiendo de las aplicaciones que quieras realizar, ya existe software
comercial especializado que te ayuda con la tarea (movimiento de partículas, deformación
de sólidos, transferencia de calor, simulación de choques)
Nuestro clúster como dice el artículo,
tiene instalado
Sistema operativo: Rocks Clúster
Linux 5.3 (64 bits)
Compiladores: GCC 4.5.2. Soporte para
C, C++, Fortran y OpenMP
Librería de manejo de mensajes:
Open-MPI 1.5.3
Software de pre y post procesamiento:
GiD 9.0.6
Y:
7.- ¿Cómo está compuesto (Hardware) su clúster?
E: La sección de
hardware en el artículo da los detalles específicos (modelo de procesador,
memoria, numero de nodos, etc)
“El clúster está compuesto por 32 nodos con las siguientes
características:
• Nodo
Maestro:
-
Procesador: AMD Quad Core Opteron 2350
HE (8
núcleos), Memoria: 12 GB, Disco Duros: SATA 250 GB,
1 TB. Ambos
de 7200 revoluciones por minuto.
• 16 Nodos
Esclavos:
-
Procesador: 2 x AMD Quad Core Opteron 2350 HE (8 núcleos), Disco Duro: SATA 160
GB, Memoria: 12 GB con velocidad de 667Mhz.
• 15 Nodos
Esclavos:
-
Procesador: Intel(R) Xeon(R) CPU E5502 (4 núcleos), Disco Duro: SATA 160 GB,
Memoria:
16 GB con
velocidad de 1333 MHz.
El hardware
adicional es el siguiente:
•
Interconexión de Red
• Switch
Linksys: 48 puertos, 1Gbps, modelo SLM2048. Para administración interna.
• Switch
SMC: 48 puertos. 1 Gbps (red interna). Modelo SMC8150L2. Capa 2.
• Switch
Linksys: 24 puertos. 1 Gbps, modelo SRW2024 (red externa).
• Sistema de
energía ininterrumpida (UPS) de 30 KVA, salida senoidal, tres salidas 120 v y
entrada de 220 v. El equipo trabaja a 120 v.
Recursos
totales del clúster:
• Núcleos de
unidades de procesamiento (cores): 216
• Capacidad
en memoria: 455.3 GB
• Capacidad
en disco: 5.7 TB”
Y:
8.- ¿Qué problemas surgieron durante la elaboración del clúster?
E: El gasto de energía
eléctrica fue un reto (Son varias máquinas y si consumen mucha energía)
Refrigerar las maquinas
apropiadamente también fue un reto.
Y:
9.- ¿Cuáles son las principales funciones que realiza?
E: Principalmente
correr experimentos de algoritmos para generación de artículos de investigación.
También se utiliza para corres experimentos de las tesis de estudiantes de
Licenciatura, maestría y doctorado
Y: 10.- Por último, ¿Alguna
recomendación para entusiasmados en el tema de HPC para realizar su propio
clúster?
E: Yo te recomendaría comenzar con aprender computo
paralelo OpenMP, cualquier PC en estos días trae más de un Core así que no
necesitas nada especializado para comenzar
Si lo que
quieres es aprender a configurar un clúster, podrías comenzar utilizando máquinas
virtuales en virtual box.
Si lo que
quieres es físicamente armar un clúster, talvez conseguir algunas RaspberryPi
para crear un clúster no tan costoso
Espero que
las respuestas te sirvan Joel
Saludos