jueves, 24 de mayo de 2012

Semana # 16

Semana # 16

Para esta semana al igual que mis compañeros del Equipo Cluster nos dedicamos a afinar detalles acerca de lo que seria presentado el día jueves y probando la forma de hacer el cluster mediante LAM y XMPI.


La liga a la Wiki es la siguiente:



Nominaciones


Para esta Semana Nomino a Esteban, Alejandro Avendaño del equipo Cluster y a Osvaldo por su entrada de tolerancia a fallos.

jueves, 17 de mayo de 2012

Computación Grid

Grid Computing

Se conoce a grid a cualquier sistema de computación distribuido que permite compartir recursos no centrados geográficamente para resolver problemas de gran escala.

Grid es un conjunto de maquinas distribuidas que ayudan a mejorar el trabajo sobre software pesados.

Los recursos que se pueden compartir pueden ser desde las clases de ordenadores (PC, estaciones de trabajo, supercomputadoras, PDA, portátiles, móviles, etc), así como software, datos e información.


La potencia que ofrecen multitud de computadores conectados en red usando grid es prácticamente ilimitada, además de que ofrece una perfecta integración de sistemas y dispositivos heterogéneos, por lo que las conexiones entre diferentes máquinas no generarán ningún problema.

Existen muchos proyectos que han sido desarrollados en esta línea, tales como Edonkey, Emule o Limewire. Se trata de programas para compartir datos a nivel mundial entre diferentes máquinas.

El grid y el P2P (Peer-To-Peer) parecen tener el mismo objetivo final (la organización coordinada de los recursos compartidos dentro de comunidades virtuales), se centran en distintas comunidades, por lo cual tienen distintos requerimientos y siguen caminos evolutivos distintos.

Mientras los sistemas grid proporcionan varios servicios sofisticados a comunidades relativamente pequeñas y se centran en la integración de recursos muy potentes para proporcionar grandes calidades de servicio dentro de un entorno de confianza limitada; los famosos sistemas P2P tratan con muchos más participantes pero ofrecen servicios más limitados y especializados, están menos preocupados por la calidad del servicio, y hacen menos asunciones en cuanto a las relaciones de confianza entre recursos y usuarios.

Las caracteristicas de las Grid Computing son las siguientes:
  • Capacidad de balanceo de sistemas: no habría necesidad de calcular la capacidad de los sistemas en función de los picos de trabajo, ya que la capacidad se puede reasignar desde la granja de recursos a donde se necesite;
  • Alta disponibilidad: con la nueva funcionalidad, si un servidor falla, se reasignan los servicios en los servidores restantes;
  • Reducción de costes: con esta arquitectura los servicios son gestionados por "granjas de recursos". Ya no es necesario disponer de "grandes servidores" y podremos hacer uso de componentes de bajo coste. Cada sistema puede ser configurado siguiendo el mismo patrón.

Arquitectura del Grid Computing

Habitualmente se describe la arquitectura del grid en términos de “capas”, ejecutando cada una de ellas una determinada función. Las capas más altas son las más cercanas al usuario y las inferiores las más próximas a las redes de computación, distinguiendo entre:
  • Capa de Aplicación.- Formada por todas las aplicaciones de los usuarios, portales y herramientas de desarrollo que soportan esas aplicaciones. Es la capa que ve el usuario y que proporciona el llamado serviceware, que recoge las funciones generales de gestión tales como la contabilidad del uso del grid que hace cada usuario.
  • Capa de Middleware.- Responsable de proporcionar herramientas que permiten que los distintos recursos participen de forma coordinada y segura en un entorno grid unificado.
  • Capa de Recursos.- Constituida por los recursos que son parte del grid: ordenadores, supercomputadoras, sistemas de almacenamiento, catálogos electrónicos de datos, bases de datos, sensores, etc.
  • Capa de Red.- Encargada de asegurar la conexión entre los recursos que forman el grid.
Creacion de un Grid Computing

La forma para crearla es mediante el Globus Toolkit.


Éste es un conjunto de herramientas de software requeridas para la construcción de una grid, cubriendo mediciones de seguridad, localización de recursos, manejo de recursos, comunicaciones y más.

Globus incluye programas como:
  • GRAM (Globus Resource Allocation Manager – Recurso Globus de Manejo de Asignación): se encarga de convertir las solicitudes de recursos en comandos que lo computadores locales puedan comprender.
  • GSI (Grid Security Infrastructure – Infraestructura de Seguridad Grid): autentifica a los usuarios y determina sus derechos de acceso.
  • MDS (Monitoring and Discovery Service - Servicio de Monitoreo y Descubrimiento): reúne información acerca de recursos tales como capacidad de procesamiento, capacidad de ancho de banda, tipo de almacenamiento y más.
  • GRIS (Grid Resource Information Centre – Centro de Recursos de Información Grid): recursos de consultas para sus actuales configuraciones, capacidades y status.
  • GIIS (Grid Index Information Service – Servicio de Índice de Información Grid): coordina arbitrariamente los servicios GRIS.
  • GridFTP (Grid File Transfer Protocol - Protocolo de Transferencia de Archivos Grid): provee un mecanismo de transferencia de datos de alto rendimiento, seguro y robusto.
  • Replica Catalog (Catálogo de Réplicas): provee la ubicación en la grid de las distintas réplicas de un grupo de datos determinado.
  • Replica Management System (Sistema de Manejo de Réplicas): maneja el Catálogo de Réplicas y el GridFTP, permitiendo a las aplicaciones crear y manejar réplicas de grandes grupos de datos.  
Aunque Globus Toolkit no lo conoscamos, es muy usado por dos razones principales:
Las grid necesitan soportar una amplia variedad de aplicaciones creadas de acuerdo a diferentes paradigmas de programación. 
En vez de proveer un modelo uniforme de programación para las aplicaciones grid, Globus Toolkit tiene un “acercamiento orientado al objeto”, proveyendo una bolsa de servicios para que los desarrolladores puedan escoger el servicio que mejor se adecua a sus necesidades. 
Además, las herramientas pueden introducirse de a una a la vez. Por ejemplo, una aplicación puede usar GRAM o GRIS sin tener que usar necesariamente Globus Security o los sistemas de manejo de réplicas.
Globus Toolkit está disponible bajo acuerdo de licencia de “fuente abierta”, lo que significa que cualquiera el libre de utilizar o mejorar el software. Esto es similar a la World Wide Web y a los sistemas de operación Linux.

Primeramente sera el instalarlo lo pueden hacer mediante este link:


Nominaciones

Para esta semana nomino a Osvaldo, Esteban y Obed.

Bibliografías

http://tuxpuc.pucp.edu.pe/articulo/clusters-y-grid-computacionales
http://es.wikipedia.org/wiki/Computaci%C3%B3n_grid
http://www.madrimasd.org/informacionidi/noticias/noticia.asp?id=27864
http://www.ramonmillan.com/tutoriales/gridcomputing.php
http://www.gridcafe.org/es-globus-toolkit_ES.html

Redes de Petri

Redes de Petri

Una Red de Petri es una representación matemática o gráfica de un sistema a eventos discretos en el cual se puede describir la topología de un sistema distribuido, paralelo o concurrente.

Estas representan una alternativa para modelar sistemas, sus características hacen que, para algunos problemas las redes de Petri funcionen de una manera natural.

La red de Petri esencial fue definida en la década de los años 1960 por Carl Adam Petri. Son una generalización de la teoría de autómatas que permite expresar un sistema a eventos concurrentes.

Particularmente son ideales para describir y estudiar sistemas que procesan información y con características concurrentes, asíncronas, distribuidas, paralelas, no determinísticas y/o estocásticas.

Una red de Petri está formada por lugares, transiciones, arcos dirigidos y marcas o fichas que ocupan posiciones dentro de los lugares.


Las reglas para hacer Redes de Petri son: 
  • Los arcos conectan un lugar a una transición así como una transición a un lugar. No puede haber arcos entre lugares ni entre transiciones.
  • Los lugares contienen un número finito o infinito contable de marcas.
  • Cuando un lugar está activo sus salidas están a uno.
     
  • A las transiciones se les asocia eventos (funciones lógicas de las variables de entrada).
  • Las transiciones se disparan, es decir consumen marcas de un lugar de inicio y producen marcas en un lugar de llegada. 

  • Una transición está habilitada o sencibilizada si tiene marcas en todas sus lugares de entrada.

  • Las transiciones que no tienen lugares de entrada se les llama transiciones fuente. Una transición fuente siempre está habilitada. 

  • Cuando ocurre un evento asociado a una transición (la función lógica se
    hace uno), se dice que la transición está validada.
 

Reglas de Evolución de Marcado

El marcado cambia al franquear las transiciones.
Para franquear una transición ha de estar validada y sensibilizada.
Cuando una transición se franquea desaparecen las marcas de los lugares origen y se añade una marca a cada uno de los lugares destino.


Un lugar puede tener más de una marca.


Cuando dos transiciones que están sensibilizadas a la vez, pueden entrar en conflicto.


Para que la red sea válida las condiciones de validación t1 y t2 no pueden darse a la vez.

Estructuras Básicas de las Redes de Petri


Ejemplo de Modelación de Flujo de Datos

La red de Petri que se muestraa continuación representa un sistema donde se realiza una computación de flujo de datos cuando las instrucciones se habilitan para ejecutarse cuando llegan sus operandos, y se pueden ejecutar concurrentemente. 
En la representación de redes de Petri de la computación de flujo de datos, las marcas denotan los valores actuales de los datos, así como la disponibilidad del dato. 
En la red que se muestra, las instrucciones están representadas por las transiciones t1 y t2, y se pueden ejecutar concurrentemente y depositar sus resultados --(a+b) o (a-b)-- en sus respectivos lugares de salida.
\begin{figure}
\epsfxsize=220pt
\hspace{1.1in}
\epsffile{ejem2.eps}
\end{figure}

Bibliografías

http://www.mitecnologico.com/Main/RedesDePetri
http://es.wikipedia.org/wiki/Red_de_Petri
http://computacion.cs.cinvestav.mx/~ameneses/pub/tesis/mtesis/node5.html
http://www.uhu.es/diego.lopez/AI/auto_trans-tema3.PDF