Multimodal Dataset Access Architecture
From hpcwiki
Contents |
Prototipo de arquitectura del sistema de cómputo científico
El sistema propuesto estará dedicado al desarrollo y ejecución de aplicaciones y métodos de simulación, almacenamiento, extracción de información relevante, navegación y análisis de datos.
En el proyecto en cuestión se propuso la utilización de diversos equipos y recursos ya existentes en el departamento, parte de su infraestructura informática o adquiridos en otros proyectos de investigación previos. Por esta razón, se hace necesaria una aproximación flexible que permita incorporar al marco de trabajo los recursos de cómputo existentes. Esto implica hacer uso de un modo de integración que contemple la alta heterogeneidad de los equipos en términos de sus capacidades de procesamiento (velocidad de cómputo, memoria física), almacenamiento e interconectividad (localización física, conexión a la red subyacente).
Dadas estas características, se propone un marco de trabajo para cómputo distribuido sobre recursos heterogéneos, que se fortalecerá con el uso y configuración apropiadas de Hbase para el acceso a los datos.
Propuesta
Con los equipos mencionados anteriormente se plantea una propuesta de implementación para la arquitectura de cómputo distribuido del laboratorio de Ingeniería, la cual contenga una grid, que se encuentre conformada por un nodo principal que se encarga de distribuir las tareas y nodos de trabajo que las realice, además que permita la conexión ssh desde sitios remotos para la ejecución de procesos sobre los diferentes servidores y la grid, adicional debe contemplar una parte web que permita el acceso a las herramientas de seguimiento de los proyectos y el acceso a la información centralizada. Para representar esto se diseña un esquema el cual se ve representado en la figura
Recursos
La arquitectura implementada en el Laboratorio de Ingeniería de Sistemas contempla la utilización de un equipo principal para la ejecución de tareas con alta exigencia de recursos (servidor de procesamiento) que se apoyará en un conjunto de estaciones de trabajo en grid (nodos de trabajo, con diferentes configuraciones de hardware según su periodo de adquisición) y un servidor web dedicado al acceso y navegación de colecciones de datos de entrada y salida de los procesos. un servidor de almacenamiento (en proceso de adquisición)
Las características del hardware de cada uno de los componentes de la infraestructura citada se describen a continuación:
Nodos de trabajo 10 Equipos DEll Vostro 260 Procesador: Intel(R) Core i3-2120 CPU @3.30GHz Memoria RAM: 2.0 GB Tarjeta Gráfica: Intel(R) HD Graphics Family Integrada Tarjeta de Red: Realtek PCIe GBE Family Disco Duro: ST500DM002 1BD142 ATA 250 GB 9 Equipos Dell Optiplex 990 Procesador: Intel(R) Core i7-2600 CPU @ 3.40GHz × 8 Memoria RAM: 4.0 GB Tarjeta Grafica: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller Tarjeta de red: Intel Corporation 82579LM Gigabit Network Connection Disco duro: 500 GB 9 Equipos Dell Optiplex 9010 Procesador: Intel(R) Core i7-3770S CPU @ 3.10GHz × 8 Memoria RAM: 8.0 GB Tarjeta Grafica: Intel Corporation Ivy Bridge Graphics Controller Tarjeta de Red: Intel Corporation 82579LM Gigabit Network Connection Disco Duro: 1TB
Servidores 1 Servidor de procesamiento Dell PowerEdge R710 Disco duro 2Tb 7.2/k Procesador Intel Xeon Memoria Ram 48 Gb 1 Servidor web Dell Precision 390 Disco duro Procesador Intel Core 2 Duo Memoria Ram 2Gb
Adecuación de la red del Laboratorio de Sistemas para implementar un marco de trabajo de cómputo distribuido
Descripción del sistema según el uso de los recursos
La arquitectura planteada permitirá el desarrollo de diferentes proyectos en curso tales como: Extracción de información en conjuntos de datos multimodales el cual utiliza el almacenamiento centralizado para los datos multimodales, y la grid para la extracción de la información de los datos logrando de esta manera un procesamiento con mayor rendimiento, otro uso que tendrá el laboratorio es en proyectos de simulaciones biomecánicas y climáticas el cual utiliza la conexión ssh para el lanzamiento de las simulaciones desde sitios remotos, además se implementara Modelos Basados en Agentes y la ejecución de tareas para Machine Learning.
Para obtener un mejor uso de las herramientas se tuvo preferencia por software gratuito y Open Source que nos permitiera su modificación y adecuación para los diferentes proyectos ya mencionados, y algunas de estas herramientas de tipo on-line para lograr un seguimiento de los proyectos de manera externa y tener a disposición los diferentes datos y documentos de los proyectos.
Marco de trabajo para cómputo distribuido sobre recursos heterogéneos
A partir de la infraestructura descrita en el inicio, se estableció un conjunto de herramientas de software (aplicaciones, marcos de trabajo, librerías y protocolos de acceso y navegación de datos) necesarias para la ejecución de los procesos enmarcados en los proyectos de investigación relativos a Cómputo de Alto Desempeño, Aprendizaje de Máquina y Modelado y Simulación. A continuación se presenta de manera detallada el marco de trabajo resultante a partir de la descripción del diseño y la configuración establecidos.
Servidor de procesamiento
Este servidor tiene conexión SSH para la realización de procesos de forma remota, además de una alta disponibilidad de procesamiento para la realización de simulaciones por parte de los usuarios, adicionalmente realiza el control de las versiones de los proyectos en curso por medio de Git, esta y otras herramientas para procesamiento y gestión de repositorios es con las que cuenta el servidor de procesamiento y son explicadas a continuación:
- Git
Es un sistema de control de versiones de código abierto, el cual permite manejar desde pequeños paquetes hasta grandes proyectos con muy buenos resultados. Esta herramienta se a implementado para manejar las versiones de cada uno de los proyectos en curso.
Método de instalación Ingresar a la consola de comandos Ingresar el siguiente comando “apt-get install git”
- WRF
Weather Research and Forecasting Model, con este software se manejaran las simulaciones de cambio climático, las cuales se podrán ejecutar remotamente.
Método de instalación: Crear una carpeta llamada WRF Dentro de WRF se crea una carpeta de paquetes Descomprimir los archivos l_ccompxe_2013.2.146.tar.gz y l_fcompxe_2013.2.146.tar.gz En la consola de comandos ubicarse en la carpeta lc_compxe y se ejecuta el comando “sh install.sh” Se selecciona la licencia educativa Se continuan los pasos para finalizar la instalación. (Se repite los pasos 4,5,6 para l_fcompxe). Volvemos a la carpeta WRF y se descomprimer el archivo netcdf-4.0.tar.gz En la consola de comandos ubicarse en la carpeta de netcdf y correr los siguientes comandos /configure sudo make check sudo make install Volvemos a la carpeta WRF y se descomprimer el archivo mpich-3.0.2.tar.gz En la consola de comandos ubicarse en la carpeta de mpich y correr los siguientes comandos ./configure make make install mpdboot _n1
- R-base
R-base es un lenguaje y entorno para la computación y gráficos estadísticos, el cual proporciona modelos lineales, modelos no lineales, análisis de series temporales entre otras.
Método de instalación Ingresar al gestor de paquetes synaptic Realizar el filtro por r-base Seleccionar instalar
- Hbase
Gestor de bases de datos NoSQL, con este gestor se pretende almacenar las tareas de Machine Learning resultantes de la herramienta Bigs.
Método de instalación: Descargar el archivo de “http://www.apache.org/dyn/closer.cgi/hbase/” Descomprimir el archivo en la ubicación deseada Ingresar a la carpeta descomprimir e ingresar a la carpeta bin ejecutar el comando start-hbase.sh
Nodos de trabajo y nodo principal de la grid
Para los nodos de trabajo se eligió la instalación del sistema operativo GNU/Linux (distribución Ubuntu 12.04 LTS) para arquitecturas de 64 bits; el despliegue uniforme de las herramientas se llevó a cabo mediante la creación de una imagen del sistema sobre un único equipo (nodo de trabajo) que luego se replicó en el resto de nodos mediante la herramienta Clonezilla, garantizando contar con las mismas herramientas en iguales versiones en cada uno de los equipos.
Las herramientas utilizadas para el correcto funcionamiento de las estaciones de trabajo se describen a continuación:
- BIGS
Herramienta para la paralelización de las tareas, con la cual se espera realizar tareas de Machine Learning, y procesamiento de imágenes a gran escala sobre la grid implementada.
Método de instalación: Extraer el archivo bigs-0.5.tar.gz en la ubicación deseada Crear una carpeta Wordir Ubicarse en la carpeta wordir y copiar el archivo bigs.properties, del cual se puede encontrar un ejemplo en la carpeta que se descomprimió de bigs en la ubucacion bigs/doc/example/bigs.properties Ejecutar en la consola los siguientes comandos “cd localizacion/bigs/wordir/” Ejecutar el comando bigs workers.list para la creación de las tablas
- WRF
Weather Research and Forecasting Model, con este software se manejaran las simulaciones de cambio climático, las cuales se podrán ejecutar remotamente.
Método de instalación: Crear una carpeta llamada WRF Dentro de WRF se crea una carpeta de paquetes Descomprimir los archivos l_ccompxe_2013.2.146.tar.gz y l_fcompxe_2013.2.146.tar.gz En la consola de comandos ubicarse en la carpeta lc_compxe y se ejecuta el comando “sh install.sh” Se selecciona la licencia educativa Se continuan los pasos para finalizar la instalación. (Se repite los pasos 4,5,6 para l_fcompxe). Volvemos a la carpeta WRF y se descomprimer el archivo netcdf-4.0.tar.gz En la consola de comandos ubicarse en la carpeta de netcdf y correr los siguientes comandos ./configure sudo make check sudo make install
- H-base
Gestor de bases de datos NoSQL, con este gestor se pretende almacenar las tareas de Machine Learning resultantes de la herramienta Bigs.
Método de instalación: Descargar el archivo de “http://www.apache.org/dyn/closer.cgi/hbase/” Descomprimir el archivo en la ubicación deseada Ingresar a la carpeta descomprimir e ingresar a la carpeta bin ejecutar el comando start-hbase.sh
- R-base
R-base es un lenguaje y entorno para la computación y gráficos estadísticos, el cual proporciona modelos lineales, modelos no lineales, análisis de series temporales entre otras.
Método de instalación: Ingresar al gestor de paquetes synaptic Realizar el filtro por r-base Seleccionar instalar
- NetBeans
Es una herramienta que permite el desarrollo de aplicaciones de escritorio móviles y web, en lenguajes de programación como Java, HTML5, PHP, C++ entre otros.
Método de instalación: Descargar archivo de “https://netbeans.org/downloads/” Ubicarse en la ruta donde se descargo el archivo sh netbeans-7.3.1-linux.sh Seguir los pasos respectivos para finalizar la instalación
- Postgres
Sistema de base de datos relacionales, de código abierto, en el cual se manejan todas las bases de datos de los aplicativos web, y almacenamiento de datos para proyectos internos.
Método de instalación: Ingresar a la consola de comandos Ingresar el siguiente comando “sudo apt-get install postgresql-9.1”
- Apache
Servidor de paginas Web de código abierto el cual emplea HTTP, el cual nos permite contar con los servicios de acceso externo por medio de WWW.
Método de instalación: Ingresar a la consola de comandos Ingresar el siguiente comando “sudo apt-get install apache2”
Servidor web (para hacer accesibles las colecciones de datos a través de protocolo http a través de la WWW)
El servidor web cuenta con sistema operativo Ubuntu 12.04 LTS basado de en una arquitectura de 64 bits, además de esto dispone de una IP pública para hacer accesibles las colecciones de datos a través de protocolo http o el ingreso a las diferentes herramientas de gestión de proyectos a través de la WWW, este equipo cuenta con las siguientes herramientas de gestión de proyectos para el uso externo e interno.
- SilverStripe
Es un sistema de gestión de contenidos, el cual es utilizado para la creación y mantenimiento de sitios y aplicaciones web.
Método de instalación: Crear base de datos y usuario exclusivos para SilverStripe Descargar el software de “http://www.silverstripe.org/stable-download” Descomprimir archivo en la ubicación deseada Correr el instalador desde el sitio web Ej:http://mydomain.com/silverstripe Seguir los pasos indicados en la pagina de instalación.
- MediaWiki
Es un software de código abierto el cual es utilizado para el manejo de wikis, donde actualmente se maneja la documentación de los proyectos en curso.
Método de instalación: Crear base de datos y usuario exclusivos para Mediawiki Descargar el software de “http://download.wikimedia.org/mediawiki/1.21/mediawiki-1.21.1.tar.gz” Descomprimir archivo en la ubicación deseada Dar permisos totales a las siguientes carpetas: /var/lib/php/session /var/lib/php Correr el instalador desde el sitio web Ej:http://mydomain.com/mediawiki Seguir los pasos indicados en la pagina de instalación.
- Dotproject
Herramienta de código abierto para la gestión de proyectos, en la cual se maneja el calendario de entrega de los productos y el avance que se tenga en cada uno de ellos.
Método de instalación: Crear base de datos y usuario exclusivos para dotproject Descargar el software de “http://sourceforge.net/projects/dotproject/” Descomprimir archivo en la ubicación deseada Correr el instalador desde el sitio web Ej:http://mydomain.com/dotproject/install Seguir los pasos indicados en la pagina de instalación. Al finalizar la instalación el ingreso se realiza de la siguiente manera, usuario: Admin, Password: passwd
- Redmine
Herramienta para la gestión de proyecto, en la cual se tiene el control de las versiones de los proyectos y se realiza la asignación de las tareas a cada uno de los integrantes del grupo.
Método de instalación: Crear base de datos y usuario exclusivo para Redmine Descargar el software de “http://www.redmine.org/projects/redmine/wiki/Download” Descomprimir archivo en la ubicación deseada Configurar el archivo database.yml con el tipo de de conexion y motor de base de datos que se utilizara Se instalan dependencias necesarias para su funcionamiento gem install bundler bundle install --without development test Seguir los pasos indicados en la pagina de instalación Al finalizar la instalación el ingreso se realiza de la siguiente manera, usuario: admin, Password: admin