[pb_row][pb_column span="span12"][pb_text]

 

     NUEVOS PROYECTOS DE INVESTIGACIÓN Y DESARROLLO     

 

Jefe de Área:

Lic. Yuri Nuñez Medrano

 

 

[/pb_text][/pb_column][/pb_row][pb_row][pb_column span="span12"][pb_text][/pb_text][pb_accordion el_title="elemento1" initial_open="1" multi_open="no" filter="no" appearing_animation="0" ][pb_accordion_item heading="CLÚSTER CON MAQUINAS PCs RECICLADAS" icon="icon-mobile" ]

IMG 20150529 141407

Figura 1: Clúster CTIC

Responsable

Lic. César Martín Cruz Salazar 

 
En este trabajo se presenta la implementación de un clúster de Computadoras para dotar a CTIC UNI con una Máquina Computacional de Alto Rendimiento, usando como base de hardware computadoras personales de bajo costo y software de código abierto como LINUX.
 
Asimismo, se describe la arquitectura del clúster de máquinas usada para la implantación del clúster CTIC. Finalmente, se presenta la evaluación del clúster implementado comparándolo con máquinas de última generación.
 
Abstract
In this paper the implementation of a cluster of computers is presented to provide to CTIC UNI with a High Performance Computing Machine, using as a hardware basis inexpensive personal computers and open source software such as Linux. 
 
Also, the architecture of the cluster machines used for the implementation of cluster CTIC is described. Finally, evaluation of the implemented cluster compared with last generation machines is presented.
 
Palabras Clave
LINUX clúster, Computación Paralela, Computación Distribuida, Cómputo Grupal, Computación de Alto Rendimiento.
 
Keywords
LINUX Cluster, Parallel Computing, Distributed Computing, Cluster Computing, High Performance Computing.
 
Introducción
En la UNI, hemos querido desde hace mucho tiempo tener un clúster para que se utilice en los proyectos de investigación sobre HPC (High Performance Computing) llevados a cabo en la universidad.
 
Se hicieron muchos intentos y se fracasaron hasta que al fin se tuvo la idea de desarrollar un clúster con máquinas PCs recicladas aprovechando la experiencia ganada el año pasado (2014) al desarrollar un clúster con minicomputadores Raspberry Pi de bajo costo [2] .
 
Existe una demanda continua de velocidad en los sistemas computacionales. Esta demanda de velocidad, en general, es requerida en áreas como cálculo numérico, simulación y modelado numérico de problemas científicos, procesamiento de imágenes y datos en general, en gran variedad de aplicaciones de ingeniería y ciencias básicas. Usualmente, dar solución a problemas en estas áreas implica, numerosos y repetitivos cálculos matemáticos sobre un conjunto de datos, que usando técnicas de programación paralela, se pueden resolver en un lapso de tiempo aceptable. Las plataformas computacionales necesarias para abordar la resolución de estos problemas son las llamadas Supercomputadoras, que poseen características especiales de hardware que las hacen, en general, extremadamente costosas y por ende, difíciles de adquirir y de mantener actualizadas, tanto en su plataforma de hardware como de software, por entes como las universidades públicas peruanas.
 
Con los avances tecnológicos en diseño y construcción de microprocesadores de bajo costo, como los usados en las computadoras actuales, hoy día, es posible contar con gran capacidad de cómputo en una PC (Personal).
 
Descripción
Este proyecto empezó en el mes de enero del año 2015 y se comenzó recopilando información de la biblioteca y de la Web sobre manuales y libros que nos ayuden a configurar un clúster. Para la configuración utilizamos información diversa pero sobre todo la experiencia ganada en el proyecto del año pasado arriba mencionado.
 
Clúster
Un clúster de computadoras es simplemente un conjunto de máquinas interconectadas entre sí. En este sentido, el clúster no se diferencia de una red de computadoras. Lo que distingue al clúster de una red es que todos los elementos de procesamiento que lo conforman se dedican a la solución de un problema computacional complejo utilizando programación paralela.
 
En la actualidad, se cuenta con la tecnología necesaria para construir un clúster de máquinas capaz de competir con algunas supercomputadoras, en cuanto a su capacidad de cómputo y almacenamiento, a un costo sustancialmente menor usando como elementos de procesamiento a PC´s o estaciones de trabajo de bajo costo.
 
De acuerdo a su finalidad, se pueden definir tres diferentes tipos de clúster:

 1. Sistemas Tolerantes a Fallas

 2. Sistemas de Alta Disponibilidad

 3. Sistemas de Cómputo de Alto Rendimiento

Estos últimos sistemas son utilizados en la resolución de los problemas donde se requiere cómputo intensivo o gran cantidad de recursos computacionales. Este trabajo trata específicamente los sistemas Cómputo de Alto Rendimiento (High Performance Computing, HPC) basados en la arquitectura Beowulf.
 
Arquitectura Beowulf
En 1994, la Agencia Espacial NASA comenzó el Proyecto Beowulf [1] en el Centro para la Excelencia en Datos Espaciales y Ciencias de la Información (CESDIS), cuyo resultado fue la construcción de un Clúster de 16 máquinas destinado al Proyecto de Ciencias Espaciales y Terrestres (ESS) ubicado en el Centro de Vuelo Espacial de Goddard (GSFC). La idea de construir un sistema con elementos de hardware de bajo costo, para satisfacer requisitos computacionales específicos, se difundió rápidamente a través de la NASA y de las comunidades académicas y científicas a escala mundial.
 
Un clúster del tipo Beowulf posee una arquitectura escalable de múltiples computadoras, que puede ser usada para realizar cómputo paralelo y distribuido. Estos Clústeres son sistemas construidos con componentes de hardware y software de uso general, es decir, no contienen ningún tipo de hardware especializado. Los nodos están constituidos por cualquier computadora capaz de ejecutar el Sistema Operativo LINUX, y software para el desarrollo de aplicaciones paralelas.
 
En su forma general, un clúster Beowulf consiste de un nodo Maestro (frontend) y uno o varios nodos de cómputo (compute node) llamados nodos Esclavos, interconectados a través de una LAN (Local Area Network). El nodo Maestro controla los nodos Esclavo y también es la consola y "puerta de entrada" al clúster desde el mundo exterior.
 
Los nodos Esclavo del sistema se usan sólo para cómputo dentro del sistema.
 
La madurez alcanzada por el Sistema Operativo LINUX y su robustez, la estandarización de librerías GNU para el "paso de mensajes" como MPI (Message Passing Interface), garantizan a los programadores que las aplicaciones que desarrollen, se ejecutarán en futuras versiones de estos elementos de software y, por ende, en clústeres del tipo Beowulf actualizados, independientemente de la plataforma de hardware. En la figura 1, se muestra la interconexión básica de los nodos en un clúster del tipo Beowulf.
 
imagen2
 
Figura 2. Interconexión de los nodos en una arquitectura Beowulf
 
Los clústeres Beowulf se comportan como una unidad. En la mayoría de los casos, los nodos cliente no poseen teclados, ratones (mouse) o monitor, y son accedidos desde el nodo Maestro. Así, los nodos Esclavo, representan un componente que posee una Unidad Central de Procesamiento para cómputo y cierta cantidad de memoria que se anexa al sistema. No existe necesidad de que los nodos Esclavo sean accedidos directamente por sistemas externos, ni que éstos accedan al exterior. Por esta razón, los nodos Esclavo forman una red privada (intranet) conectada al nodo Maestro. Para cumplir con ésta característica, el nodo Maestro posee una interfaz de red NIC (Network Interface Card) que permite el acceso y uso del clúster desde cualquier estación de trabajo externa. Los usuarios del sistema acceden al nodo Maestro, bien sea desde la consola o vía telnet, secure shell (ssh), etc., donde pueden editar y compilar sus aplicaciones y ejecutar su código en los nodos Esclavo del clúster.
 
Especificaciones de Máquinas PCs empleadas
Se emplearon 27 máquinas PCs del año 2008 igual al como aparece en la foto:
 
imagen3
Figura 3: PC utilizado en el Clúster
 
Cada PC tiene un procesador Core 2 dúo de 2.33gigahertz de 2 núcleos y 1gigabytes de RAM. 320 gigabytes de disco duro. Software instalado UBUNTU 14.04.
 
Configuración del Clúster
Se confeccionó un manual de configuración basado en los documentos y libros consultados en la web y en la biblioteca y este se utilizó a lo largo de toda la configuración [3], [4], [5] y [6].
 
Cambios realizados en las PCs
Retiro de las lectoras de DVD y las disqueteras de las PCs que conforman el clúster, para lograr mayor ventilación al interior de las PCs y menos consumo de energía. Con esto también pensamos lograr mayor estabilidad en las PCs.
Quitamos todas las interfaces gráficas de los esclavos del 1 - 26, luego apagamos, desconectamos los enchufes y volvimos a conectar obteniendo como resultado que prendieron todos los esclavos a la primera, cosa que nunca había pasado. 
Eliminando la interfaz gráfica a los esclavos se logró reducir en casi la 3ra parte de lo que utilizaba en memoria, un aproximado con interfaz gráfica: 390 Mb y sin interfaz gráfica 130 Mb de un total de 960 Mb.
 
Las instrucciones que utilizamos para quitarle la interfaz gráfica

1. Modificar el archivo:  sudo nano /etc/default/grub.

2. En el archivo cambiar esta linea: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" por esta: GRUB_CMDLINE_LINUX_DEFAULT="text"

3. Guardar el archivo

4. Actualizamos el grub: sudo update-grub

5. Reiniciamos el computador

El computador prenderá normalmente sin interfaz gráfica y si desean abrir el terminal tendrás que pulsar ctrl alt F1.
Si desean volver a la interfaz gráfica harán el mismo proceso cambiando la línea GRUB_CMDLINE_LINUX_DEFAULT="text" por GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" del archivo grub(/etc/default/grub) luego actualizar la grub con sudo update-grub y reiniciar la pc.
 
Problemas obtenidos en las PCs
En el clúster se cuelgan algunos nodos Esclavos. En el momento en que escribo este artículo todavía estamos intentando resolver este problema.
 
Velocidad de Computo del Clúster
Ejecución de un programa de cálculo del valor de pi(3.14...) con 800 millones de rectángulos. Utilizando el Clúster CTIC con 54 nodos. Lo hizo en un tiempo de 0.56 segundos. Como se muestra en la siguiente foto:
 
imagen4
 
Figura 4: Ejecución de un programa en el Clúster utilizando 54 nodos
 
Comparación con una PC de procesador i7 de 8 núcleos físicos
Se realizó una comparación del clúster CTIC con una PC de escritorio con procesador Intel i7 de última generación y 8 núcleos adquirida el año 2015 en donde se ejecutó el mismo programa de cálculo de valor de PI. Se obtuvo como resultado un tiempo de 0,77 segundos como se muestra en la foto abajo:
 
imagen5
 
Figura 5: Ejecución del mismo programa en una PC actual.
 
Comparando ambos resultados, se concluye que clúster CTIC es más rápido.
 
Conclusión
El clúster CTIC es una herramienta útil que permitirá a sus usuarios ejecutar sus aplicaciones paralelas de forma eficiente, ofreciendo gran capacidad de cómputo, como lo demuestran los resultados obtenidos al ejecutar el mismo programa en el clúster y en una PC de última generación al momento de escribir este artículo. Es una plataforma computacional altamente escalable y económica tanto para su mantenimiento como para su actualización, en relación con otras plataformas computacionales fabricadas por grandes empresas como SGI, IBM, SUN, HP, etc., dado que sus componentes de hardware pueden ser adquiridos en cualquier distribuidor de PCs y el software principal para su funcionamiento es completamente gratuito. Se tiene proyectado incrementar el número de nodos de cómputo del clúster CTIC hasta un total de 30 PCs, y añadir una red Gigabit Ethernet para la interconexión entre nodos.
 
Bibliografía
[1] T. Sterling, D. Becker, J. Dorband, D.Savarese, U. Ranawake and C. Packer. BEOWULF: A Parallel Workstation for Scientific Computation. Proceedings of the 1995 International Conference on Parallel Processing (ICPP), Agosto 1997, pp. 11-14.
[2] César Martín Cruz Salazar, “CRUZ: un Clúster aplicado a la educación, portátil, de bajo costo, usando Raspberry Pi”. Revista REVCIUNI volumen 16, Número 1, enero-diciembre 2013. Páginas 1 – 6. ISSN: 1813-3894.
[3] Abraham Zamudio y Marco Milla, “Configuración de un Clúster de Computadoras para el Radio Observatorio de Jicamarca”, Octubre 2011. (No publicado)
[4] César Martín Cruz Salazar, Nohelia Merino, y Gusseppe Bravo Roca “Manual de Configuración del Clúster CTIC”, Marzo 2015.
[5] César Martín Cruz Salazar, “Instalación del Torque en un nodo esclavo del Clúster CTIC”. Marzo 2015
[6] Andrew K. Dennis. Raspberry Pi Super Cluster. 2013.
[7] Rosa Adriana Rivera Díaz, “Evaluación de un switch de baja latencia para aplicación en Clúster”. 2011.
[8] Freddy J. PEROZO RONDÓN, “Clúster Mangosta: Implementación y Evaluación”. 2007.
 

[/pb_accordion_item][/pb_accordion][/pb_column][/pb_row][pb_row][pb_column span="span12"][pb_text]

Lista completa de Proyectos:

[/pb_text][/pb_column][/pb_row][pb_row background="none" solid_color_value="#FFFFFF" solid_color_color="#ffffff" gradient_color="0% #FFFFFF,100% #000000" gradient_color_css="" gradient_direction="vertical" pattern="" repeat="full" image="" stretch="none" position="center center" paralax="no" parallax_scroll="no" video_url="" autoplay="no" border_width_value_="0" border_style="solid" border_color="#000" width_value="" width_unit="%" div_padding="" div_padding_top="10" div_padding_bottom="10" div_padding_right="10" div_padding_left="10" css_suffix="" id_wrapper="" ][pb_column span="span12"][pb_accordion el_title="Accordion 1" initial_open="1" multi_open="no" filter="no" appearing_animation="0" ][pb_accordion_item heading="Proyectos 2013 y 2014" icon="icon-tablet" ]

1. Nano Satélite Chasqui I. 
Estado: Terminado
Diseño y construcción de un satélite de la forma de un cubo de 10cm por lado. El objetivo era tomar fotografías y enviarlas a tierra.
" El Proyecto Chasqui I, es una iniciativa del Centro de Tecnologías de Información y Comunicaciones de la Universidad Nacional de Ingeniería (CTIC-UNI). El creador y jefe del proyecto fue el Lic. Hector Bedon Monzon, docente de esta universidad. La propuesta fue anunciada publicamente en Agosto del año 2008, como parte de la inauguracion del CTIC-UNI. El proyecto ha contado con el apoyo y colaboracion del INICTEL-UNI. A partir de febrero del año 2010 hasta su culminacion, el proyecto fue dirigido por el Ing. Josel Oliden Martinez, docente de esta universidad.El Chasqui I fue puesto en orbita exitosamente desde la Estacion Espacial Internacional (ISS) en Agosto del 2014."
 
chasquiI
 
2. Diseño e implementación de un robot móvil estándar CanSat Rover para recolección de datos atmosféricos
Estado: En Marcha
Diseño e Implementación de un Robot Autónomo de exploración estándar Rover Back Cansat para la recolección de datos atmosféricos como plataforma de formación de capacidades en tecnología Satelital.
 robot exploracion
 
3. Reconocimiento de patrones del lenguaje ASL mediante clasificadores
Estado: Terminado
 
4. Robot Minero. Gases Tóxicos
Estado: En Marcha
Prevención de riesgos mortales debido a gases tóxicos en ambientes de mina subterránea, mediante la recolección y análisis de datos usando tecnología de robótica autónoma.
 
5. Desarrollo e implementación de una herramienta de software orientada a la medición de lagunas en la cuenca del Río Santa empleando imágenes satelitales LandSat 5.
Estado: En Marcha
El objetivo del presente trabajo es desarrollar un aplicativo de software que permita automatizar el Registro Catastral de Cuerpos de Agua en el Perú (focalizado en este proyecto a la Cuenca del Río Santa), haciendo uso de técnicas de procesamiento digital de imágenes satelitales con el fin de generar registros catastrales para la Autoridad Nacional del Agua (ANA).
 
procesamiento digital imagenes
 
6. Móvil de Inspección Remota
Estado: Terminado
Carrito Robot manejado a control remoto que tiene una pinza implementada para coger un material determinado.
 
 
7. Sistema Automático de alerta de Colisiones entre vehículos usando GPS, Mapas y Comunicación por Radiofrecuencia. 
Estado: Terminado
El sistema automático de alerta de colisiones entre vehículos envía un sonido y un mensaje de alerta al conductor por medio de un dispositivo portátil con sistema operativo Android que se encuentra en el vehículo cuando existe un riesgo de colisión con otro vehículo cercano y que tiene el mismo sistema implementado.
 
8. Lim@genda.
Estado: Terminado
Es una aplicación móvil para dispositivos con sistema operativo Android, en la cual se puede encontrar los principales números de emergencia. Además esta aplicación te brinda información acerca de importantes entidades públicas y privadas de una manera rápida y sencilla.
 
9. Sistema de Inventariado Autónomo usando etiquetas RFID.
Estado: Terminando
Un sistema que además de ser eficiente es eficaz, es decir, mucho más rápido y con una mayor facilidad de uso y registro de los elementos que los sistemas tradicionales y que arrojan instantáneamente los resultados en cuestión de segundos
 
10. Curso de entrenamiento sobre el desarrollo de Small/Micro Satélites
Estado: Terminado
Realizar actividades de investigación de desarrollo de satélites dentro del programa satelital de la Universidad Nacional de Ingeniería.
 
11. Smartphone, termómetro dérmico para la detección precoz de la infección del pie en pacientes diabéticos.
Estado:En Marcha
Creación de hardware y software para el monitoreo de pie diabético.
 
pie diabetico
 
12. Aplicación de teléfono inteligente para el control de la tos de los pacientes con tuberculosis.
Estado: Marcha
Creación de software para permitirle al médico tratante monitorear la efectividad del tratamiento dado a un paciente con tuberculosis.
 
paciente con tuberculosis
 
13. Modelo educativo peruano sostenido en sistemas aeroespaciales basado en la experiencia CLTP, “CanSat Leader Training Program”.
Estado: En Marcha
La enseñanza de la ingeniería espacial basada en sistemas CanSat desafía a los estudiantes a innovar y de esta forma lograr una experiencia práctica en un proyecto relacionado con el espacio.
 

[/pb_accordion_item][pb_accordion_item heading="Proyectos 2015" icon="icon-tablet" tag="" ]1. Construcción de un Clúster usando máquinas PCs recicladas

Estado: Terminado
Los Clústeres son agrupaciones de máquinas PCs que al ponerlos a trabajar juntos para un único objetivo tienen una considerable potencia de Cómputo. Estas máquinas se utilizan para investigación científica. Para crear simulaciones y modelamiento. Y en todos los campos donde se necesite gran potencia de computo. Vamos a construir el Clúster reutilizando entre 25 a 50 máquinas PCs antiguas (del año 2008) de propiedad del CTIC, con el fin de darles una segunda vida. Tenemos como objetivo alquilarlo a las empresas e instituciones que tengan proyectos.
 
IMG 20150529 141407
 
2. Construcción de Clústeres portátiles usando minicomputadores para la Educación
Estado: Terminado
 Desarrollo de Clústeres usando pequeñas placas (mini computadores) de bajo costo. La potencia de cómputo que se pueda lograr no es importante en este caso ya que se dedicará al desarrollo de las prácticas de los estudiantes. Queremos que los Clústeres portátiles se utilicen en los laboratorios de los cursos de Programación Paralela y distribuida.
 
3. Construcción de un Grid Computing local
Estado: En Espera
La necesidad de cada vez más potencia de cómputo para procesar los datos da origen al Grid Computing. Se trata de una malla de computadoras separadas geográficamente y que se unen para procesar datos a una potencia de cómputo considerable.
 
4. Monitoreo de la calidad del aire y la dispersión de la polución en Lima Metropolitana mediante el uso de Drones cooperativos
Estado: En Espera
Proporciona una plataforma tecnológica que sirva como una herramienta alternativa a la problemática nacional medioambiental, así como abrir nuevas ramas de trabajo en el monitoreo y solución de este problema, para ello se recurre al uso de UAVs cooperativos, los cuales trabajando en forma coordinada realizarán la tarea de monitoreo de forma óptima permitiendo obtener los perfiles de polución con gran exactitud, lo cual permitirá un análisis completo de su dinámica de la dispersión, los factores que la influencian y los impactos que tendrá a futuro.
 
5. Mejora de la calidad del mantenimiento en maquinarias mineras mediante el desarrollo de algoritmos predictivos centrados en la fiabilidad de datos.
Estado: En Espera
Implica desarrollar, en base a las técnicas certificadas del mantenimiento predictivo y los modelos computacionales existentes, un software de mantenimiento predictivo el cual permitirá automatizar el proceso de análisis de datos y toma de decisiones, con lo cual se espera reducir los costos del mantenimiento en una empresa.
 
6. Drones II
Estado: En Marcha
 
7. Monitoreo Ambiental
Estado: En Marcha
 
8. Observatorio Astronómico
Estado: En Marcha

[/pb_accordion_item][/pb_accordion][/pb_column][/pb_row]

Desarrollo - Oficina de Servicios Web CTIC-UNI Copyright©2016 Mail: serviciosweb@uni.edu.pe