Administración de un clúster de procesamiento desde dispositivos móviles con Android

A Processing Cluster's Administration from the Android Mobiles Devices

Diego Germán Amézquita-Mesa*
Germán Amézquita-Becerra**
Omaira Isabel Galindo-Parra***

* App Solutions (Tunja, Boyacá - Colombia). amdgerman@gmail.com
** M.Sc. Universidad Pedagógica y Tecnológica de Colombia (Tunja, Boyacá - Colombia). german.amezquita@uptc.edu.co
*** Universidad Pedagógica y Tecnológica de Colombia (Tunja, Boyacá - Colombia). omaira.galindo@uptc.edu.co

Fecha de Recepción: 29 de Diciembre de 2013 Fecha de Aprobación: 28 de Enero de 2014


Resumen

Este artículo describe el proceso de implementación de un sistema de administración y monitoreo para el clúster de procesamiento (grupo de servidores), propuesto por el grupo de investigación INFELCOM, perteneciente a la Universidad Pedagógica y Tecnológica de Colombia, Uptc. El sistema fue implementado usando servicios web y programación para móviles con Android. Dicho sistema permite a los usuarios monitorear el estado del clúster en tiempo real desde su dispositivo móvil, y realizar algunas actividades preventivas o correctivas, disminuyendo así el tiempo de respuesta para solucionar los inconvenientes presentados. Las actividades que puede realizar el usuario son configurables por el administrador del sistema, a través de la creación y configuración de comandos acordes con las necesidades.

Palabras clave: Administración de clúster, Desarrollo de aplicaciones móviles, servicios web, clúster de procesamiento.


Abstract

This article describes the monitoring and administration system implementation process, for the processing cluster (servers group) proposed by the INFELCOM Research Group, which belongs to the Pedagogical and Technological University of Colombia, UPTC. The system was implemented by using web services and mobile programming for android devices.

This system allows the users to check from their mobile devices, the cluster state in real time, so they can make some preventives and/ or correctives actions, and by that, decreasing the response time to solve the problems. The activities that the user can do are configurable by the system administrator, through the creation and configuration commands, according to their needs.

Keywords: Cluster Administration, Mobile Applications Development, Web Services, Processing Cluster.


I. Introducción

En los procesos académicos e investigativos es indispensable aprovechar todos los recursos disponibles (hardware, software y humano), de tal manera que se establezcan infraestructuras que apoyen la obtención de nuevo conocimiento; es así como la Escuela de Ingeniería de Sistemas y Computación, de la Universidad Pedagógica y Tecnológica de Colombia, y en particular el Grupo de Investigación en Informática, Electrónica y Comunicaciones, INFELCOM, conformó un clúster de procesamiento que contribuye a generar conocimiento, desde el proceso de selección de la infraestructura por utilizar, hasta el aprovechamiento en los procesos investigativos de otras áreas.

Teniendo en cuenta que la tecnología dispuesta para el clúster puede presentar fallas de diferente índole, se hace indispensable buscar mecanismos que permitan disminuir los tiempos de respuesta en la solución de los problemas; es por esto que se determinó como solución el desarrollo de una aplicación para dispositivos móviles, desde la cual se puede monitorear el estado del clúster y realizar algunas acciones preventivas y correctivas.

El sistema de monitoreo y administración se desarrolló para móviles con sistema operativo Android 2.3 o superior, adicionando librerías para cumplir con los patrones definidos por Google [1], para mejorar la presentación de la aplicación.

Este artículo se centra en describir el proceso y la integración de elementos que permiten la administración del clúster desde dispositivos móviles con sistema operativo Android, exponiendo los diferentes aspectos que se tuvieron en cuenta para dicho proceso.

II. Clúster de procesamiento del grupo Infelcom

El clúster dispuesto por el grupo INFELCOM tiene como finalidad mejorar el rendimiento en la ejecución de algoritmos que requieran grandes cantidades de tiempo-máquina, y, por ende facilitar la obtención de resultados en los procesos investigativos.

Como todo proceso de investigación requiere de una etapa de experimentación, al clúster se le han realizado múltiples cambios, tanto en la cantidad de nodos de ejecución como en las características técnicas de cada uno de ellos, con el fin de conocer a fondo de forma más detallada su funcionamiento, sus fortalezas y debilidades.

En la actualidad, como se presenta en la Fig. 1, el clúster se encuentra conformado a nivel de hardware por:

Y a nivel de software por:

Como resultado se ha establecido una arquitectura mínima que permite aprovechar la escalabilidad y la adaptabilidad para dos tipos de configuraciones [8]:

III. Metodología y administración del clúster desde móviles Android

Esta investigación fue dirigida por las fases descritas en la metodología de desarrollo XP (Extreme Programing) [10], las cuales permitieron realizar un desarrollo rápido e interactuar con el administrador y usuarios del clúster durante todo el proyecto, de tal manera que permitió encontrar la mejor manera de interactuar con el clúster desde los dispositivos móviles. De acuerdo con la metodología XP, se implementaron las fases de: planificación, diseño, desarrollo y pruebas. Para el desarrollo del proyecto se tomó como base la infraestructura del clúster, y sobre esta se implementó el sistema de administración y monitoreo del clúster.

Como se evidencia en la Fig. 2, uno de los servidores se ha destinado a contener máquinas virtuales, que cumplen tareas específicas para el funcionamiento del clúster; para los propósitos de la administración del clúster se ha instalado una nueva máquina virtual, que contendrá los servicios indispensables para soportar el sistema de administración y monitoreo del clúster.

A. Programas instalados

B. Implementación de la aplicación para la administración

Para lograr la administración remota del clúster se han establecido dos aplicaciones que interactúan, así:

C. Funcionamiento del servidor web

El funcionamiento del servidor web se centra en dos actividades, principalmente; la primera, orientada a la configuración de los comandos (ver Fig. 3), y la segunda, a la ejecución de estos sobre los nodos del clúster (ver Fig. 3, parte inferior).

Desde la aplicación móvil, el administrador del sistema, a través del módulo de configuración de comandos, crea o modifica cada una de las acciones que se podrán ejecutar sobre el clúster; estas configuraciones corresponden a la construcción de "shells", que son almacenados en la base de datos para su posterior utilización. En su etapa de instalación inicial se han establecido 8 acciones (ver Tabla 1).

Teniendo en cuenta que este tipo de clúster es escalable y, al mismo tiempo, puede ser heterogéneo, a los comandos se les han adicionado tags que permiten identificar el sistema operativo o versiones particulares sobre las cuales correrá el "shell"; de esta manera se puede definir más de un "shell" para el mismo comando.

La estructura de los comandos "shells", está definida por:

Adicionalmente, se han definido parámetros generales de configuración que establecen algunas reglas para el funcionamiento del sistema, como son: la cantidad de peticiones simultáneas y los tiempos máximos de respuesta para considerar que la comunicación se ha perdido, entre otras.

La ejecución de los comandos sobre el clúster está sujeta a la correcta instalación y configuración del servidor SSH sobre cada uno de los nodos del clúster. Cumpliendo con este requisito, el comando es extraído de la base de datos y enviado al nodo, o nodos, en los cuales se requiere de su ejecución. Es importante destacar que la pérdida de comunicación con alguno de los nodos requiere de la intervención directa del administrador sobre el nodo afectado, con el fin de realizar la revisión y los ajustes necesarios para su puesta en funcionamiento.

IV. Conclusiones

Dependiendo del tamaño y el uso, un clúster de procesamiento requiere de una administración especializada y oportuna, lo que los hace poco atractivos para muchos investigadores y administradores de sistemas; sin embargo, establecer mecanismos de monitoreo y administración de fácil manejo y disponibles desde cualquier móvil con acceso a Internet hace que los administradores encuentren puntos a favor.

La implementación de este tipo de sistemas se encuentra limitada por la cantidad de recursos disponibles para realizar las pruebas, y así evaluar el correcto funcionamiento cuando se cuenta con cientos o miles de nodos en un clúster.

El diseño establecido por el sistema permite que no solo los clúster de procesamiento sean monitoreados, sino cualquier servidor, grupo de servidores o computadores de escritorio, gracias a la facilidad para crear comandos ajustados a los sistemas operativos y necesidades de los administradores.

V. Trabajos futuros

Debido a que Android no es el único sistema operativo móvil, en la actualidad es recomendable crear aplicaciones con las mismas funcionalidades en los demás sistemas operativos: iOS, Windows Phone, Blackberry OS, Firefox OS y entre otros.

Teniendo en cuenta que el clúster de procesamiento del grupo de investigación INFELCOM tiene como uno de sus objetivos la integración con otros clúster de procesamiento externos a la Universidad, a través de RENATA, se hace indispensable realizar los estudios, diseños e implementaciones necesarias para que este sistema sea promovido a un sistema de monitoreo y gestión de una malla computacional.

Los clústers de procesamiento existentes en el mundo están construidos en diferentes arquitecturas y en sistemas heterogéneos; por lo tanto, se recomienda realizar un análisis de los parámetros necesarios, para que este sistema se adapte a diferentes clúster de procesamiento.


Referencias

[1] Google. Patterns. [Online]. HYPERLINK "http://developer.android.com/about/index.html".

[2] Hewlett Packard. [Online]. HYPERLINK "http://h17007.www1.hp.com/us/en/enterprise/servers/bladesystem/index.aspx"\l ".UkuLnoafjNk".

[3] Condor Team. HTCondor. [Online]. HYPERLINK "http://research.cs.wisc.edu/htcondor/htc.html" http://research.cs.wisc.edu/htcondor/htc.html.

[4] Intel. http://www.intel.es/content/www/es/es/architecture-and-technology/hyper-threading/hyper-threading-technology.html?wapkw=hper+threading. [Online].

[5] Argonne National Laboratory. [Online]. HYPERLINK "http://www.mcs.anl.gov/research/projects/mpi/".

[6] Free Software Foundation Inc. GNU. [Online]. HYPERLINK "http://gcc.gnu.org/".

[7] The University of Utah. [Online]. HYPERLINK "http://web.utah.edu/thorne/computing/L03_cshell_part1.pdf".

[8] J. M. Bravo-Caro. Universidad de Huelva. [Online]. HYPERLINK "http://www.uhu.es/josem.bravo/AD/Tema3.pdf".

[9] Hewlett-Packard. Servidores Blade. [Online]. HYPERLINK http://www8.hp.com/us/en/products/enclosures/index.html#!view=grid&page=1.

[10] A gentle introduction. Extreme Programming. [Online], HYPERLINK http://www.extremeprogramming.org/.

[11] The Apache Software Foundation. [Online]. HYPERLINK "http://tomcat.apache.org/".

[12] MySQL. [Online]. HYPERLINK "http://www.mysql.com/products/".

[13] W. Stallings. Cisco. [Online]. HYPERLINK "http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_12-4/124_sshhtml".

[14] JCraft Inc. JCraft. [Online]. HYPERLINK "http://www.jcraft.com/jsch/".

[15] ActionBarSherlock. [Online]. HYPERLINK "http://actionbarsherlock.com/".

[16] NADAV FIMA. [Online]. HYPERLINK "http://nadavfima.com/cardsui-view-library/".

[17] Github. [Online]. HYPERLINK "https://github.com/jfeinstein10/SlidingMenu".

[18] AndroidPlot. [Online]. HYPERLINK "http://androidplot.com/".