Multiprocesamiento con PelicanHPC

21
Universidad Técnica Particular de Loja MULTIPROCESAMIENTO Informe Final 1. Introducción sobre la Tecnología Grid Computing El descubrimiento del internet fue el primer paso que se dio para que los avances tecnológicos se vallan dando uno tras otro, todo esto unido a los esfuerzos para que el conocimiento sea accesible para todos, dio como resultado nuevas invenciones tecnológicas, de aquí nació la arquitectura clúster, sin embargo esto estos avances son un poco más difíciles de implementar, debido a que los requerimientos van incrementado y cada día es más difícil y sobre todo más costoso aumentar los recursos a un clúster. La tecnología Grid Computing básicamente tiene como principio el aprovechar los ciclos de procesamientos de los ordenadores que están conectados a una red en cualquier parte del mundo y que no están utilizando ciertos recursos, de esta forma se pueden romper la gran barrera del espacio para la ubicación de computadores. Dados estos conceptos podemos definir a la Tecnología Grid como un sistema distribuido que permite resolver problemáticas de gran escala en el menor tiempo, esto se debe al hecho de compartir recursos entre los ordenadores los recursos de procesamiento. “Es una solución altamente escalable, potente y flexible, ya que evitarán problemas de falta de recursos (cuellos de botella) y nunca queda obsoleta, debido a la posibilidad de modificar el número y características de sus componentes.” [2] Desventajas - Recursos heterogéneos: la computación Grid debe ser capaz de poder manejar cualquier tipo de recurso que maneje el sistema, si no resultará totalmente inútil. [1] - Descubrimiento, selección, reserva, asignación, gestión y monitorización de recursos son procesos que deben controlarse externamente y que influyen en el funcionamiento del Grid. [1]

description

Comparacion de la ejecucion de un algoritmo de forma secuencial frente a una ejecucion en paralelo

Transcript of Multiprocesamiento con PelicanHPC

Page 1: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

MULTIPROCESAMIENTO

Informe Final

1. Introducción sobre la Tecnología Grid Computing

El descubrimiento del internet fue el primer paso que se dio para que los avances

tecnológicos se vallan dando uno tras otro, todo esto unido a los esfuerzos para que el

conocimiento sea accesible para todos, dio como resultado nuevas invenciones

tecnológicas, de aquí nació la arquitectura clúster, sin embargo esto estos avances son un

poco más difíciles de implementar, debido a que los requerimientos van incrementado y

cada día es más difícil y sobre todo más costoso aumentar los recursos a un clúster.

La tecnología Grid Computing básicamente tiene como principio el aprovechar los

ciclos de procesamientos de los ordenadores que están conectados a una red en

cualquier parte del mundo y que no están utilizando ciertos recursos, de esta forma se

pueden romper la gran barrera del espacio para la ubicación de computadores.

Dados estos conceptos podemos definir a la Tecnología Grid como un sistema

distribuido que permite resolver problemáticas de gran escala en el menor tiempo, esto se

debe al hecho de compartir recursos entre los ordenadores los recursos de

procesamiento. “Es una solución altamente escalable, potente y flexible, ya que evitarán

problemas de falta de recursos (cuellos de botella) y nunca queda obsoleta, debido a la

posibilidad de modificar el número y características de sus componentes.” [2]

Desventajas

- Recursos heterogéneos: la computación Grid debe ser capaz de poder manejar

cualquier tipo de recurso que maneje el sistema, si no resultará totalmente inútil.

[1]

- Descubrimiento, selección, reserva, asignación, gestión y monitorización de

recursos son procesos que deben controlarse externamente y que influyen en el

funcionamiento del Grid. [1]

Page 2: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

- Necesidad de desarrollo de aplicaciones para manejar el Grid, así como desarrollo

de modelos eficientes de uso. [1]

- Comunicación lenta y no uniforme. [1]

- Organizativos: dominios de administración, modelo de explotación y costes,

política de seguridad. [1]

- Económicos: precio de los recursos, oferta/demanda. [1]

Ventajas

- “Seguridad, para pertenecer a un Grid se deben seguir serie de protocolos que

garantizan la seguridad del sistema. En contraste con los sistemas Peer-te-Peer

donde la participación es anónima y poco segura. Adicionalmente, el Grid maneja

un concepto conocido como organizaciones virtuales sobre el cual basa las

políticas de acceso a los recursos.[3]

- Confiabilidad a diferencia de otros sistemas, donde los procesos deben ser

replicados múltiples veces, evaluando y comparando sus resultados para asegurar

su fiabilidad, en un Grid las organizaciones participantes son confiables, por lo

tanto se asume que, en cierto modo, no hay datos corruptos. [3]

- Coordinación, los miembros de un Grid aportan siempre más recursos, es decir, es

un esfuerzo coordinado donde todos aportan y todos usan los recursos

disponibles. [3]

- Escalabilidad, un Grid es altamente escalable ya que se pueden agregar cada vez

más recursos incrementando las capacidades del mismo. Esto es principalmente

porque, por la naturaleza colaborativa y coordinada del Grid, los miembros definen

los recursos y los tiempos en que estos están disponibles para el Grid, así existe

un dinamismo en el cual los servicios prestados por una institución pueden estar o

no disponibles en un momento determinado y el Grid está preparado para ello.” [3]

Page 3: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja 2. Estado del Arte de la herramienta seleccionada y de las Librería de paso de

mensajes MPI

Herramienta Seleccionada

PelicanHPC: es un proyecto que se basa en una distribución GNU/Linux

creada a partir de Debían Live que está dedicada a crear clúster de alto

rendimiento. Usa como gestor de ventanasXFCE, que no es más que un entorno

ligero de escritorio para sistemas tipo UNIX. [4]

Durante su ejecución se puede distinguir dos partes importantes, un

servidor que es donde se inician las configuraciones como nodo principal, y así

mismo es quien distribuye las tareas. En cambio los nodos son quienes ayudan a

procesar la información que es enviada por el servidor. [4]

Características - Soporta computación paralela basada en MPI para C, C++, FORTRAN (77,

90) y GNU Octave, este último usando MPITB. [4]

- Ofrece LAM/MPI y Open MPI como implementaciones de MPI, aunque

también es posible usar MPITCH. [4]

- Es fácil de configurar, tanto para la primera implementación, como para el

ajuste de nodos que conforman el clúster, se usa sólo el comando

pelican_setup. [4]

- Existe en versiones para 32 y 64 bits. [4]

Librerías de paso de mensajes

Open MPI una interfaz, API o especificación para el paso de mensajes

entre ordenadores para permitir una comunicación. Generalmente es usado en

supercomputadores, clúster de computadores y en general sistemas distribuidos

ya que no requiere memoria compartida. Existen muchas implementaciones de

MPI y en multitud de lenguajes. Las implementaciones más usadas son las

escritas en C y C++. [5]

Page 4: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

El paso de mensajes es una técnica empleada en programación

concurrente para aportar sincronización entre procesos y permitir la exclusión

mutua, de manera similar a como se hace con los semáforos, monitores, etc. Su

principal característica es que no precisa de memoria compartida, por lo que es

muy importante en la programación de distribuidos. Los elementos principales que

intervienen en el paso de mensajes son el proceso que envía, el que recibe y el

mensaje. [5]

La Interfaz de Paso de Mensajes es un protocolo de comunicación entre

computadoras. Es el estándar para la comunicación entre los nodos que ejecutan

un programa en un sistema de memoria distribuida. Las implementaciones en MPI

consisten en un conjunto de bibliotecas de rutinas que pueden ser utilizadas en

programas escritos en los lenguajes de programación C, C++, Fortran y Ada. La

ventaja de MPI sobre otras bibliotecas de paso de mensajes, es que los programas

que utilizan la biblioteca son portables (dado que MPI ha sido implementado para

casi toda arquitectura de memoria distribuida), y rápidos, (porque cada

implementación de la biblioteca ha sido optimizada para el hardware en la cual se

ejecuta). [5]

3. Implementación del clúster con la herramienta seleccionada

Estudio a nivel de Hardware, Software y Red Hardware

Para la implementación de nuestro clúster básicamente usamos en cuanto

a Hardware, dos computadores uno para la configuración del servidor, otro para el

nodo, a continuación detallamos la descripción de cada computador:

Servidor Procesador: Intel Core i5 Processor T5800

Memoria: 4 GB RAM DDR2 800MHz SDRAM

Disco duro: 520GB

LAN: 10/100 Ethernet LAN

Page 5: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja Nodo

Procesador: Intel® Core™2 Duo CPU T5800 @2.00GHz.

Memoria: 4 GB RAM DDR2 800MHz SDRAM

Disco Duro: 320GB

LAN: 10/100 Ethernet LAN

Descripción del Software Sistema Operativo

“Debian es un sistema operativo libre, para su computadora. El sistema

operativo es el conjunto de programas básicos y utilidades que hacen que funcione

su computadora. Debian utiliza el núcleo Linux es decir el corazón del sistema

operativo, pero la mayor parte de las herramientas básicas vienen del Proyecto

GNU; de ahí el nombre GNU/Linux.

Debian GNU/Linux ofrece más que un Sistema operativo puro, sino que también

viene con 25000 paquetes, programas pre compilados distribuidos en un formato

que hace más fácil la instalación en su computadora.” [6]

Nació como una apuesta por separar en sus versiones el software libre del

software no libre. El modelo de desarrollo del proyecto es ajeno a motivos

empresariales o comerciales, siendo llevado adelante por los propios usuarios,

aunque cuenta con el apoyo de varias empresas en forma de infraestructuras.

Debian no vende directamente su software, lo pone a disposición de cualquiera en

Internet, aunque sí permite a personas o empresas distribuirlo comercialmente

mientras se respete su licencia.

Herramientas Seleccionadas

PelicanHPC es una distribución de GNU/Linux que se ejecuta como un CD

live. Si el archivo de imagen ISO se quema en un CD, el CD resultante puede

usarse para arrancar una computadora. El equipo en el que PelicanHPC se

arranca se le conoce como el "nodo principal", que es el equipo con el que el

usuario interactúa. [4]

Page 6: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Un "Live CD", como PelicanHPC por defecto no utiliza los discos duros de

cualquiera de los nodos (excepto el espacio de intercambio de Linux, si es que

existe), por lo que no va a destruir o alterar su sistema operativo instalado. Cuando

el clúster PelicanHPC se cierra, todos los equipos están en su estado original, y se

iniciará de nuevo en lo que los sistemas operativos están instalados en ellos

PelicanHPC opcionalmente se puede hacer para utilizar espacio de disco duro, por

lo que su estado puede ser preservado a través de las botas. [4]

Se puede configurar para que arranque sin intervención del usuario, con

posibilidad de acceso por ssh. También existe la posibilidad de hacer el cálculo de

arranque nodos utilizando Wake-on-LAN. Con estas características opcionales

más avanzadas, PelicanHPC se puede utilizar para ejecutar un grupo permanente

sin cabeza. [4]

Open MPI es una interfaz de paso de mensajes. Está escrita por el MPI

Forum. MPI es una API estándar utilizada para la computación paralela o

distribuida. El estándar MPI comprende dos documentos: MPI-1 y MPI-2.

Open MPI es un proyecto que se originó como la combinación de

tecnologías y recursos de otros proyectos para construir la mejor librería MPI

disponible. Una aplicación totalmente nueva MPI-2 compatible, Open MPI ofrece

ventajas para los vendedores de sistemas y software, desarrolladores de

aplicaciones, e investigadores de ciencias de la computación. Es fácil de usar, y

funciona de forma nativa en una amplia variedad de sistemas operativos, la red de

interconexiones, y el lote / sistemas de programación.

Monitoreo Ganglia es un sistema de supervisión distribuido escalable para los

sistemas de cálculo de alto rendimiento por ejemplo racimos y rejillas. Permite que

el usuario vea remotamente estadística viva o histórica.

Page 7: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Se basa en un diseño jerárquico apuntado en las federaciones de racimos.

Confía en a multicast-basado escucha/anuncia protocolo para supervisar el estado

dentro de racimos y de aplicaciones un árbol de las conexiones de Point-to-Point

entre nodos de racimo representativos a los racimos federados y para agregar su

estado.

Grafico 1

Topología de la Red

Hemos creído conveniente tomar una topología básica para nuestro proyecto

como lo es la de punto a punto, es decir cliente servidor, esto debido a que no tenemos

la infraestructura, para ampliar nuestra topología, pero creemos que con esta topología

podemos terminar óptimamente el presente trabajo.

Grafico 2

Page 8: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Implementación de la Herramienta

Requerimientos para la instalación - Arquitecturas 686 o amd64

- Los nodos deben poder hacer "net boot"

- 512MB RAM

- Creada usando la última versión de "live-helper" y "live-initramfs" para corregir

errores

- Actualizaciones del sistema base Debian Lenny

Instalación de la Herramienta La primera pantalla es de bienvenida en la cual elegiremos la primera

opción “Livecd” para que el disco duro de la maquina no sufra ninguna alteración,

la herramienta está diseñada para alojarse únicamente en la memoria RAM al

seleccionar esta opción.

Una vez hecho esto, la configuración comenzará, y en la primera pantalla de

configuración seleccionaremos OK presionando la tecla “Intro”.

Grafico 3

Page 9: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

La siguiente pantalla de configuración nos dice si deseamos que los

ejemplos de PelicanHPC estén habilitados, debido a que nosotros correremos

nuestro propio algoritmo, seleccionamos la opción “No”.

Grafico 4

Continuando con la instalación, PelicanHPC nos pedirá que ingresemos

una clave de seguridad, hay que tener mucho cuidado en este paso ya que esta

clave la deberemos recordar porque será la clave de todo el sistema y sin ella no

podremos instalar nada. Una vez cambiada la clave presionamos la tecla “Intro”.

Grafico 5

Page 10: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Una vez hecho estas configuraciones principales, el CDlive continuara

configurando el sistema de manera automática.

Grafico 6

Cuando haya finalizado de configurar nos presentara una pantalla de

bienvenida en la cual deberemos digitar “user” para pelicanlogin y, para Password

digitaremos la contraseña dada en el paso anterior. (Aquí la importancia de

recordar el password digitado)

Grafico 7

Page 11: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Una vez que los parámetros ingresados son validados y aceptados,

estaremos listos para configurar el cluster. Para ello digitaremos el comando

“pelican_setup”, el cual iniciara las configuraciones necesarias para armar el

cluster con la cantidad de nodos secundarios que deseemos.

Grafico 8

Primero elegimos la interfaz de red con la cual vamos a trabajar. Nosotros

elegimos la eth0 debido a que vamos a realizar la conexión mediante una red LAN.

Grafico 9

Page 12: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Luego de haber seleccionado la interfaz de red, nos aparecerá una advertencia

que dice: No ejecute nuevamente el instalador si ya es parte de una red Pelican. Aquí

marcamos Yes.

Grafico 10

En la siguiente pantalla nos dice que conectemos los nodos secundarios. Y lo que

haremos es bootear los nodos secundarios desde la red.

Grafico 11

Page 13: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Una vez que se instale el software, nos enviara a una pantalla de bienvenida parecida al

del nodo principal.

Grafico 12

Luego regresamos a la instalación en el nodo principal, seleccionamos la opción “Yes”

para continuar. E n la siguiente pantalla observaremos un mensaje que nos dirá cuantos

nodos hay conectados al nodo principal, es decir, cuantos computadores más existen

aparte del que hace de servidor.

Si el resultado es 0, se debe seleccionar la opción “No” y esta acción se volverá a

ejecutar, una vez que el servidor o nodo principal haya detectado todos los

computadores del cluster procedemos a elegir la opción “Yes”, pero si el servidor aun no

ha detectado a los clientes, se deberá revisar la conexión y repetir los pasos.

Page 14: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Grafico 13

Grafico 14

La siguiente pantalla en aparecer es la que nos informa cuantos nodos van a conformar

nuestro clúster incluyendo el nodo principal.

Page 15: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Grafico 15

Finalmente, ejecutamos el comando “startx” para ingresar a la interfaz gráfica que nos

ofrece Pelican.

Grafico 16

Page 16: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Pruebas de Instalación

Para las pruebas de instalación nosotros primeramente tenemos que

configurar el archivo hosts de la ruta /etc/ y las líneas de modificación las

describiremos a continuación:

Primeramente debemos abrir el documento donde se encuentran las IPs del

servido y del cliente esto en ambos, en el servidor y también en el nodo.

Abrimos un terminal y digitamos lo siguiente: vim /etc/hosts

10.11.12.1 pel1

10.11.12.65 pel65

Después de esta configuración, ejecutamos la siguiente línea de comandos

para saber que nuestro clúster está realmente configurado y funcionando

correctamente, además sirve para comprobar que en realidad se estén conectando

los nodos

More /home/user/tmp/bhost Y Como resultado deberíamos obtener la dirección IP las maquinas que

conforman nuestra topología de red

4. Implementación de la aplicación Paralela

Tema: “Diferencias finitas para resolver la ecuación de Laplace”

Problemática: básicamente la problemática de este tema es resolver la ecuación

de Laplace, utilizando diferencias finitas basadas en matrices de cuadrados

distribuidos, este tema se resuelve bajo el paradigma de SPMD que es simple

programa, múltiples datos

Descripción de la Aplicación

Este programa utiliza un esquema de diferencias finitas para resolver la ecuación

de Laplace para una matriz de cuadrados distribuidos en una topología de

Page 17: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

procesador cuadrados lógicos. Como ya lo mencionamos anteriormente esta

aplicación trabaja en el paradigma SPMD. Se ilustra la descomposición 2-d de un

cuadrado, los nodos de intercambio de valores de borde, y el control de

convergencia.

Cada elemento de la matriz se actualiza sobre la base de los valores de los

elementos de la matriz de acuerdo con su cuatro vecinos. Este proceso se repite

hasta que los datos convergen hasta que el cambio promedio en cualquier

elemento de la matriz, menor que un valor especificado.

Actualmente el programa está configurado para una matriz de 48x48

distribuidos en cuatro procesadores.

Descripción de las Librerías Paralelos Dentro de nuestra aplicación utilizamos algunas de las librerías básicas de

paralización, las mismas que describiremos a continuación:

- MPI_Comm_rank: esta función retorna el identificador de un proceso

- MPI_Init, MPI Finalize, nos sirve para inicializar y para finalizar los

procesos

- MPI_Comm_size: determina el número de procesos

- MPI_Comm_Wtime:nos informa el tiempo transcurrido en un determinado

procesos

- MPI_Status: nos proporciona el estado del mensaje de que fue enviado

- MPI_Irecv: recibe mensajes sin bloqueo

- MPI_Isend envía mensajes sin bloqueo

- MPI_Gather: Reúne los valores de un grupo de procesos

- MPI_Allreduce Combina los valores de todos los procesos y distribuir el

resultado de nuevo a todos los procesos

- MPI_COMM_WORLD establecer la conexión entre los nodos

Page 18: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Descripción de las Funciones de la Aplicación

En la implementación de la aplicación hemos utilizado funciones propias del

programa que han sido el resultado de la lógica del programa, así tenemos:

- setmatrix(): establece las matrices con los valores iniciales, así mismo

tambien establece los valores internos de la matriz de acuerdo al limite

- setcomm(): establece las direcciones para la comunicación

- iterate(): captura el numero de interacciones, así mismo también verifica la

convergencia cada 20 interacciones para sacar la media absoluta

- dored (): repite los valores tanto en la derecha como en la izquierda

5. Integración del clúster y de la aplicación Plan de Pruebas

Nuestro plan de pruebas consiste en hacer correr nuestro algoritmo de

forma secuencial y de forma paralela, procesando matrices de diferentes tamaños

para tomar en cuenta los tiempos que se demoran y la eficiencia con que lo hacen.

Inicialmente comenzamos analizando matrices de 48 por 48, recordemos que

nuestro estándar de matrices es cuadrada, como resultado de nuestra prueba es

que en nuestro algoritmo secuencial se obtiene tiempos considerables con una

eficiencia normal, sin embargo analizando las matrices de forma paralela los

tiempos en que retornan los resultado es realmente rápido y con una eficiencia

considerable.

En el caso del análisis de las matrices de 100 por 100 los resultados realmente se

muestran a favor del algoritmo paralelo, con tiempos que son mucho más rápidos

que los del algoritmo secuencial.

Comparación mediante los criterios de evaluación de las versión secuencial y paralela (tiempo de ejecución, aceleración, eficiencia, y coste) en función del número de procesos y de la variación de los datos

Page 19: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Los resultados obtenidos en el plan de prueba son los siguientes:

Matriz Procesos Secuencial (S) Paralelo (S)

48*48

0 0.494 s 0.257 s

1 0.485 s 0.271 s

2 0.498 s 0.281

3 0.491 0.256

Fig1: escala de 10

Matriz Procesos Secuencial (S) Paralelo (S)

100*100

0 3.102 s 2.03 s

1 3.108 s 2.114 s

2 3.070 s 1.909 s

3 3.038 s 2.04 s

0

1

2

3

4

5

6

Proceso 1 Proceso 2 Proceso 3 Proceso 4

Secuencial

Paralelo

Page 20: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

Fig2: escala de 10

Análisis de Rendimiento

Es claro observar que el rendimiento de el algoritmo paralelo es más eficiente y más rápido ante el algoritmo secuencial, si no damos cuenta en las gráficas anteriores vemos que el algoritmo en paralelo reduce casi hasta la mitad del tiempo en procesar los mismo datos que el algoritmos secuencial, y no solo en estos casos si en muchos otros, realmente la tecnología Grid está dando resultados y cumpliendo los objetivos para los que fue creada.

6. Conclusiones

Una vez analizada la presente investigación podemos decir que:

• La utilización de una arquitectura cluster o una arquitectura grid permite la optimización de los recursos en la ejecución de aplicaciones.

• El grid abre un enorme abanico de posibilidades para el desarrollo de aplicaciones en muchos sectores. Por ejemplo: desarrollo científico y tecnológico, educación, sanidad, y administración pública.

• Aprendimos que una ejecución de aplicaciones y/o algoritmos en paralelo es mucho más eficiente, hablando en términos de tiempo, que una ejecución secuencial.

• Existen muchas herramientas que nos facilitan la creación de clusters caseros y con las cuales podríamos sacar provecho a la hora de necesitar gran cantidad de procesamiento en poco tiempo y con bajos costos.

0

0,5

1

1,5

2

2,5

3

3,5

Proceso 1 Proceso 2 Proceso 3 Proceso 4

Secuencial

Paralelo

Page 21: Multiprocesamiento con PelicanHPC

Universidad Técnica Particular de Loja

7. Recomendaciones

Con la experiencia adquirida en la realización del presente proyecto les podemos recomendar lo siguiente:

• Para el uso de PelicanHPC, primero hay que leer detalladamente el manual de instalación y configuración ya que el mínimo error puede hacer que todo el clúster no sea funcional.

• En vista que PelicanHPC es realizado en Debian, leer un manual de los comandos básicos para este SO con el fin de solucionar inconvenientes de manera rápida y eficaz.

• Debido a que PelicanHPC está compilado bajo una arquitectura con procesador AMD, utilizar un servidor con este tipo de procesador para evitar inconvenientes de ejecución.

8. Bibliografía

[1] Monograría de Adscripción a Sistemas Operativos; Autora: Barrios, Verónica Vanessa, 2005. [2] http://es.wikipedia.org/wiki/Computaci%C3%B3n_grid;

Visitado el: 24 de noviembre de 2010. [3] Grid Computing; Cestari, Daniel;

http://www.ldc.usb.ve/~yudith/docencia/ci-4822/gridcomputing.pdf, Visitado el: 24 de noviembre de 2010.

[4] http://pareto.uab.es/mcreel/PelicanHPC/Tutorial/PelicanTutorial.html; Visitado el: 5 de noviembre de 2010.

[5] http://en.wikipedia.org/wiki/Message_Passing_Interface; Visitado el: 24 de noviembre de 2010. [6] http://www.debian.org/index.es.html; Visitado el: 24 de noviembre de 2010.