Personal tools

Multimodal Dataset Access Architecture

From hpcwiki

Jump to: navigation, search


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

thumbs

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