Академический Документы
Профессиональный Документы
Культура Документы
Tesis para optar por el Ttulo de Ingeniero Informtico, que presenta el bachiller:
1 Generalidades....................................................................................................................7
1.1 Definicin del Problema...............................................................................................7
1.1.1 Objetivo General...................................................................................................9
1.1.2 Objetivos Especficos............................................................................................9
1.1.3 Resultados Esperados..........................................................................................9
1.2 Marco Conceptual......................................................................................................10
1.2.1 Computacin Paralela.........................................................................................10
1.2.2 Computacin en Grid...........................................................................................12
1.2.3 Desktop Grid.......................................................................................................12
1.2.4 BOINC [5]............................................................................................................13
1.2.5 Interfaz de Programacin de Aplicaciones - API.................................................14
1.2.6 Aplicaciones Heredadas......................................................................................15
1.3 Estado del Arte..........................................................................................................16
1.3.1 Proyectos BOINC................................................................................................16
1.3.2 Terracota.............................................................................................................20
1.3.3 The Globus Toolkit..............................................................................................21
1.3.4 Sun Grid Engine [32]...........................................................................................21
1.4 Descripcin y Sustentacin de la Solucin................................................................23
1.5 Planificacin...............................................................................................................23
1.5.1 Descomposicin de Tareas.................................................................................23
1.5.2 Etapa de Concepcin..........................................................................................23
1.5.3 Etapa de Elaboracin..........................................................................................24
1.5.4 Etapa de Construccin........................................................................................24
1.5.5 Etapa de Transicin.............................................................................................25
1.6 Diagrama de Gantt.....................................................................................................25
2 Anlisis.............................................................................................................................27
2.1 Definicin de la metodologa de solucin...................................................................27
2.1.1 Desarrollo de la aplicacin Cliente......................................................................29
2.1.2 Desarrollo de la Interfaz Legin...........................................................................30
2.1.3 Desarrollo de la aplicacin de procesamiento de salida......................................31
2.2 Identificacin de Requerimientos...............................................................................32
2.2.1 Requerimientos funcionales................................................................................33
2.2.2 Requerimientos no funcionales...........................................................................34
2.3 Anlisis de la Solucin...............................................................................................34
2.3.1 Anlisis de Viabilidad...........................................................................................35
2.3.2 Asignacin de Funciones....................................................................................36
2.3.3 Definicin del Sistema.........................................................................................38
3 Diseo..............................................................................................................................39
3.1 Arquitectura de la Solucin........................................................................................39
3.1.1 La arquitectura BOINC........................................................................................41
3.1.2 La arquitectura a disear ....................................................................................42
3.2 Diseo de la Interfaz Grfica......................................................................................44
4 Construccin.....................................................................................................................47
4.1 Construccin..............................................................................................................47
4.1.1 Procesamiento Inicial..........................................................................................48
4.1.2 Interfaz Web........................................................................................................49
4.1.3 Procesamiento de Salida.....................................................................................53
4.2 Pruebas......................................................................................................................54
5 Caso de Aplicacin...........................................................................................................56
5.1 Proceso de Simulacin Bayesiana.............................................................................56
5.2 Definicin del Problema.............................................................................................57
5.3 Descripcin de la Solucin.........................................................................................59
6 Observaciones, conclusiones y recomendaciones...........................................................63
6.1 Observaciones...........................................................................................................64
6.2 Conclusiones.............................................................................................................64
6.3 Recomendaciones y trabajos futuros.........................................................................65
Glosario de Trminos...........................................................................................................67
1
Bibliografa...........................................................................................................................68
ndice de Tablas
2
ndice de Figuras
3
RESUMEN
4
INTRODUCCIN
5
1 Generalidades
6
A menudo, el recurso ocioso en los computadores, en promedio, es del 85%
durante el da y del 95% durante la noche [22], adems, se presenta un uso de
procesador menor al 5%. [21]
En los ltimos aos, las desktop grids han emergido como un importante
mtodo para utilizar recursos ociosos de computadores de escritorio, y adems
han sido orientadas hacia computacin de alto rendimiento, para procesar una
gran cantidad de tareas independientes en aplicaciones cientficas o
empresariales. [24]
7
GenuineIntel Intel Core 2 CPU 6300 1.8 GHz 120 computadores
distribuidos en un total de 3 laboratorios.
GenuineIntel Intel Core 2 CPU 6400 2.13 Ghz 212 computadores
distribuidos en un total de 6 laboratorios.
GenuineIntel Intel Core 2 Duo CPU E8200 2.66 Ghz 135
computaores distribuidos en un total de 4 laboratorios.
8
A. Documento de Visin.
B. Documento de Anlisis.
C. Especificacin de Requisitos de Software.
D. Cdigo fuente del algoritmo que realice el procesamiento en paralelo.
E. Cdigo fuente del generador de tareas.
F. Cdigo fuente del algoritmo que realice el procesamiento de salida.
G. Diagrama entidad-relacin de la base de datos.
H. Prototipos de Interfaz Grfica.
9
Esta agrupacin de computadores tiene como objetivo realizar una tarea o
proceso computacionalmente intensivo, y para ello, la tarea necesita ser
descompuesta en distintas subtareas independientes, debiendo redireccionar
cada una de stas hacia un computador asociado al proyecto, el cual tenga los
recursos necesarios para la resolucin de las mismas. A medida que las
subtareas sean completadas por cada uno de los computadores, se centralizan
en uno de ellos para formar la tarea inicial, obteniendo el resultado en un
tiempo mucho menor si es que se realizara en un slo computador.
10
1.2.2 Computacin en Grid
11
sus computadores personales para ser utilizados por un proyecto de
investigacin, elegido segn sus intereses.
12
ubicados alrededor del mundo, de manera voluntaria. Es decir, que cuando un
computador conectado a la red BOINC se encuentra inactivo, inmediatamente
empieza a trabajar para el proyecto al cual se ha unido, procesando los datos
que le solicita al proyecto al cual est unido. Estos proyectos usualmente estn
relacionados a investigaciones cientficas de diversos tipos.
13
Las funciones que conforman el API de BOINC se dividen en cuatro tipos,
las funciones bsicas, las funciones grficas, las funciones de manejo de
mensajes y las funciones de envo de archivos.
14
Figura 1.1 - Legacy Applications [5]
SETI@Home [6]
15
seguridad y de control de los resultados que eran enviados por los usuarios
pertenecientes a la red.
SETI es una red cientfica liderada por el David Anderson, que tambin
lidera el equipo encargado de BOINC, cuya meta es la deteccin de vida
inteligente fuera de nuestro planeta. El proyecto posee radio telescopios que
monitorean el espacio captando ondas de radio de banda estrecha, las cuales
se saben, no ocurren de forma natural, por lo que su deteccin sera una
evidencia de tecnologa extraterrestre.
16
XILINX
EINSTEIN@Home [7]
Rosetta@Home [8]
Otros proyectos
17
Muchos otros proyectos, en distintas reas de investigacin, utilizan la
tecnologa BOINC, donde cabe destacar los siguientes:
18
o Climateprediction
o BBC Climate Change Experiment
o Seasonal Attribution Project
1.3.2 Terracota
Cada nodo cliente corresponde a un proceso Java dentro del cluster. Estos
nodos ejecutan una Mquina Virtual Java estndar, logrando cargar a
Terracota mediante sus libreras; todo esto ocurre cuando la Mquina Virtual
Java se inicializa.
19
Figura 1.2 La Arquitectura Terracota [26]
20
El Sun Grid Engine es un esfuerzo de la comunidad open source para la
adopcin de soluciones de computacin distribuida. El proyecto Grid Engine
proporciona software para la gestin de recursos distribuidos para grandes
necesidades de potencia computacional.
Dentro de las misiones que han sido tomadas como horizonte dentro del
proyecto, se tiene:
TOG ha sido utilizado para crear proyectos de computacin en grid entre las
universidades de Glasgow y Edimburgo, en el Reino Unido. Investigadores en
la Universidad de Glasgow, lugar del Centro Nacional de e-Ciencia, han sido
capaces de acceder a recursos computacionales de la EPCC utilizando una
configuracin hecha con Grid Engine y TOG.
21
1.4 Descripcin y Sustentacin de la Solucin
1.5 Planificacin
Se presenta una visin general de las etapas que se pretenden llevar a cabo
durante la concepcin del proyecto, con una estimacin de 779 horas de
trabajo.
22
El nivel terico que se necesita incluye el conocimiento de la computacin en
grid, y el conocimiento de herramientas que ayudarn a que la implementacin
de la solucin sea la ptima. Todo este ha sido visto en los puntos 1.1, 1.2 y
1.3.
23
ncleos de la solucin, el sistema administrador de proyectos y el grid de
computadores para poder realizar pruebas con el sistema integrado y a mayor
escala, esperando obtener resultados adecuados.
PlanProyecto [0]
[dur = 90.5 days]
Realizar Preeliminar de
Algoritmo Paralelo [1.2.7]
Corregir Segundo [dur = 2.5 days]
Entregable [1.1.1.6]
[dur = 0.62 days]
24
El diagrama de Gantt muestra de manera detalla la estimacin realizada con
respecto a los tiempos para la culminacin del proyecto. El diagrama de Gantt
se encuentra resumido en la siguiente tabla y en la siguiente figura.
25
2 Anlisis
26
agrupadas en APIs, como PVM[D] y MPI[E], libreras como POSIX[F] fueron
aceptadas como estndar. [4]
Como ya se dijo, cada una de las etapas en las que se dividi el proyecto,
tienen caractersticas muy particulares, por lo que la eleccin de una sola
metodologa, que englobe toda la solucin, es inadecuada y adems
27
ineficiente, ya que muchas de estas metodologas estn orientadas a proyectos
de mayor envergadura, y la utilizacin de muchos de sus componentes son
irrelevantes para el desarrollo de este proyecto. Dado esto, se ha decidido que
para cada una de estas etapas se utilice una adaptacin de las metodologas
conocidas, las cuales se explicarn en el siguiente punto del documento.
28
El proceso de pruebas es definido en base a los pequeos objetivos
planteados, y a los resultados esperados obtenidos en el anlisis, y como se ha
mencionado antes, el descubrimiento de nuevas posibilidades de solucin
planteados por la herramienta, hace posible que diferentes formas de resolver
el problema sea posible, por lo que las implementaciones y las pruebas
necesitadas sean aun ms rigurosas para cada una de las posibilidades. Este
proceso de pruebas no es ejecutada por software, sino que se basa en un
proceso de prueba y error ejecutado por el mismo desarrollador, ya que la
complejidad de implementacin de los requerimientos hasta este punto no son
tan complejos de desarrollar. Cabe resaltar que todo el conocimiento previo
obtenido hace posible que, lo afirmado en el punto anterior, sea vlido.
29
que el BOINC administra la aplicacin desarrollada en el primer punto, y se
vincula a cada una de las mquinas pertenecientes al grid. [11]
30
2.2 Identificacin de Requerimientos
31
En el caso que las aplicaciones utilizadas requieran instalaciones ms
complejas, se debera tomar la segunda alternativa, e implementar las
funcionalidades que estas aplicaciones brindan.
32
sea adecuado. Dado que estos datos son manipulados por el cliente final del
grid, ste debe tener conocimiento de los patrones y caractersticas que deben
tomar los datos de entrada, por lo que se realizan las validaciones necesarias
antes de enviar el procesamiento.
33
2.3.1 Anlisis de Viabilidad
Aspecto Tcnico
Requerido Recomendado
Sistema Windows 98 o superior,
Operativo Windows 2000 con
Service Pack 4
Procesador Pentium 233 MHz Pentium 500 Mhz o
superior
Memoria RAM 64 Mb 128 Mb o superior
Disco Duro 20 Mb
Tabla 2.1 Anlisis de Viabilidad Aspecto Tcnico [5]
34
Ser necesario adems, un servidor central quien alojar el servidor
BOINC adems del servidor de base de datos MySQL.
Aspecto Econmico
Procesamiento en Grid
Plataforma de Software BOINC Servidor y Cliente
Base de Datos MySQL
Interfaz Web
Lenguaje utilizado PHP
Visualizador de Internet Mozilla Firefox 3
Tabla 2.2 Anlisis de Viabilidad Aspecto Econmico
El software
35
Cuando se culmine el desarrollo de la solucin el sistema deber
satisfacer todos los requerimientos que se encontraron en las diferentes
reuniones con los investigadores, adems de los requerimientos propios de
la computacin en grid. Adems, estos requerimientos debern ser
satisfechos de manera oportuna y eficiente.
El hardware
Los usuarios
La base de datos
36
La base de datos ser el nico lugar donde se guarde la informacin
referente al sistema, tanto para la informacin del BOINC, como para la
informacin necesaria para la administracin de usuarios, la generacin y
administracin de tareas.
37
3 Diseo
38
misma. Como en la eleccin de la arquitectura se basa el resto del desarrollo
del sistema, esta arquitectura debe soportar ciertas caractersticas que se han
visto necesarias para la viabilidad del sistema.[11]
39
1. Riesgo de usuarios maliciosos. En el caso de la computacin
colaborativa en la que se basa el proyecto BOINC, existe el riesgo de la
existencia de usuarios maliciosos que alteren los resultados que se
procesan en sus computadoras, adems de tener el riesgo de que estos
usuarios quieran obtener ventajas sobre los beneficios que brinda el
proyecto, que para el caso de proyectos con SETI, son crditos. (En
funcin a la cantidad de informacin que procesa cada usuario). Una
forma de minimizar este riesgo es la redundancia de procesamiento, que
implica que un proceso sea enviado a ms de una mquina para que
sea procesada, y dependiendo de si el resultado es similar, ste se toma
como vlido.
40
utilizado forma parte de la solucin propuesta en este documento. Por lo tanto
parte de la arquitectura ya no ser validada en cuanto a su relacin con los
requerimientos, ya que se conoce, por proyectos que la utilizan, que los
requerimientos relacionados con BOINC son soportados en su totalidad por la
misma.
El siguiente paso es realizar una interfaz con el servidor BOINC para que las
tareas sean generadas de manera automtica, necesitando para esto la
elaboracin de un sistema Web desde donde se pueda automatizar la
ejecucin de tareas.
41
Legin, quien invoca a la Interfaz Generadora de Tareas, quien recoge todos
los datos obtenidos mediante el Sitio Web, y se encarga de la generacin de
las tareas invocando a la funcin create_work, propia del API de BOINC. A su
vez los datos de la generacin de cada tarea son guardados en la base de
datos propia del proyecto y en la base de datos propia de BOINC.
La Capa de Clases
42
La capa de clases contiene todo el diseo de clases definidas en la etapa
de anlisis, y mediante las cuales se pasar la informacin a las dems
capas para realizar los procesos necesarios.
La Capa de Presentacin
43
relacionados con el proyecto de investigacin que se requiera, ntimamente
relacionados con los usuarios finales esperados del sistema.
44
Figura 3.3 Administrador de Tareas de Legin
45
4 Construccin
4.1 Construccin
El primer punto del desarrollo consta de la aplicacin que ser enviada a los
clientes y que contiene el procesamiento requerido por el investigador. Este
procesamiento inicial puede tener dos tipos de implementaciones. Como se ha
visto anteriormente, el BOINC brinda la posibilidad de utilizar el API propio de
BOINC, y adems da la posibilidad de utilizar una aplicacin propia de BOINC,
llamada wrapper, que es la que ejecuta una aplicacin como un subproceso.
46
ocasiones se deben de compartir recursos, generalmente archivos de entrada,
se debe separar cada proceso, de tal forma que los recursos puedan ser
compartidos en forma paralela. La rplica de recursos, para que cada proceso
utilice los suyos propios, es la nica opcin viable. Con esto validamos el caso
en que la aplicacin necesite permisos de escritura sobre los recursos
mencionados.
47
La interfaz web ser la encargada de realizar todo el procesamiento
necesario para que la generacin de tareas se realice de manera exitosa. Para
el desarrollo de esta interfaz se tenan tres herramientas de programacin web:
PHP, Asp.NET y JSP como candidatas.
48
Confiabilidad
Las tres herramientas se ejecutan del lado del servidor, por lo que al
seleccionar la opcin Ver Cdigo Fuente, disponible en el navegador de
Internet, ninguna de las herramientas muestra el cdigo del lado del cliente.
Dado que, tanto PHP como JSP, fueron diseados para trabajar sobre
plataformas Linux, el rendimiento de stas sobre Windows es inadecuado. El
mismo criterio se aplica sobre Asp.NET, que fue diseado para trabajar bajo
Windows, por lo que en este sistema operativo tendr un mejor rendimiento.
Las caractersticas asociadas a cada herramienta para trabajar
correctamente se muestran en la tabla 4.2.
Herramientas
Caractersticas necesarias
para un funcionamiento PHP Asp.NET JSP
adecuado
Sistema Operativo Linux Windows Linux
Servidor Apache IIS Tomcat
Memoria 128 Mb o ms 128 Mb o ms 256 Mb o ms
Tabla 4.2 Arquitectura de software y hardware [14]
Deteccin de Fallas
Herramientas
Deteccin de Fallas PHP Asp.NET JSP
ptimo X
Medio X
No ptimo X
Tabla 4.3 Grado de deteccin de fallas [14]
49
La tabla 4.4 muestra la cantidad de errores detectados por cada una de
las herramientas, de un total de 150 errores generados, en promedio.
Complejidad en la Programacin
50
Vendedor 31 40 68
Listado 11 20 28
Eliminaciones
Artculo 29 69 74
Cliente 28 53 71
Vendedor 28 60 70
VENTA 231 291 299
Tabla 4.6 Complejidad de Programacin [14]
51
Dadas las caractersticas del desarrollo que se plantea como solucin en
este documento, tanto la arquitectura de software y hardware como la
integridad que presenta el lenguaje con la base de datos son aspectos crticos
del desarrollo.
52
4.2 Pruebas
Las pruebas unitarias en este punto sern fundamentales, dado que estas
enfocan sus esfuerzos de verificacin en unidades pequeas del software [19],
validando, como ya se mencion, que la etapa en proceso de desarrollo sea
validad, ya que sin sta, el proceso de desarrollo no puede continuar.
53
sistema a situaciones anormales [19], en este caso, en la generacin masiva
de tareas, incrementando el nmero de tareas generadas, hasta uniformizar los
resultados obtenidos, y luego, realizar incrementos en el nmero de tareas de
manera gradual, siendo necesario adems, que el nmero de nodos asociados
al grid, vare en cantidad segn el nmero de tareas generadas. Dado esto,
para las pruebas de estrs se manejan dos variables: la cantidad de tareas a
generar y el nmero de nodos asociados al grid.
54
5 Caso de Aplicacin
55
El caso de aplicacin planteado se enmarca dentro de la resolucin de
problemas estadsticos, especficamente modelos dicotmicos vinculados al
anlisis bayesiano. El modelo que se ha tomado como base para el caso de
estudio es llamado BBB Skew Probit (Bazn-Bolfarine-Branco), teniendo en
consideracin una serie de modelos ms, los cuales formarn parte de este
estudio.
Todos estos factores son los que lo dificultan en gran medida el proceso de
clculo, por lo que es necesario el apoyo de tecnologa computacional para su
resolucin.
56
clase especfica de problemas, estos sean utilizados por personas interesadas
en el tema, y en la medida que empiecen a ser difundidos, sean finalmente
aceptados.
1. n: Nmero de sujetos.
57
2. k: Nmero de variables, que junto con el nmero de sujetos, determinan
el tamao de las matrices utilizadas, las cuales conocemos como data
set's.
3. B: Nmero de simulaciones MCMC[34] aplicadas a los data set's.
4. N: Nmero de data set's.
5. Complejidad propia del modelo.
6. Sintaxis del programa a ejecutar.
El primer punto del desarrollo consta de la aplicacin que ser enviada junto
con el wrapper.C, que se encarga de realizar el procesamiento de los
archivos .R y .BUG, con los que se dan inicio las simulaciones. Este
procesamiento inicial fija las rutas de instalacin de las aplicaciones R y
OpenBUGS [2] dentro de cada computadora asociada al grid. Esta instalacin
es temporal, ya que las aplicaciones mencionadas son enviadas al cliente en
modo comprimido, teniendo que realizar el proceso de descompresin, una vez
en el cliente, en las carpetas propias del BOINC, por lo que el mapeo de rutas
antes mencionado refiere a carpetas administradas por BOINC.
Luego del procesamiento inicial sobre los archivos, se deben redirigir hacia
el programa R, quien es el encargado de realizar las simulaciones con ayuda
del OpenBUGS.
58
Cada data set representar una unidad de trabajo, quienes en conjunto,
representarn la tarea a generar mediante el Sistema Legin. El siguiente
grfico muestra al sistema pidiendo los valores necesarios para generar una
simulacin.
Ante s ( S in Le gin )
Da ta S e ts Tie mpo
1 00:00:42
4 00:02:46
59
5 00:03:28
10 00:06:56
100 01:09:28
1000 11:34:41
Tabla 5.1 Solucin Previa Sin Legin
De s pue s ( C on Le gin )
Da ta S e ts Tie mpo
100 00:06:11
250 00:11:37
500 00:20:26
1000 00:36:01
2500 01:24:59
5000 02:56:07
14:24:00
12:00:00
T iempo (horas )
9:36:00
C on L eg in
7:12:00
S in L eg in
4:48:00
2:24:00
0:00:00
1 4 5 10 100 250 500 1000 2500 5000
N d e D a ta S e ts
60
61
6 Observaciones, conclusiones y recomendaciones
6.1 Observaciones
62
El uso de software libre multiplataforma es una excelente manera de ahorrar
recursos financieros en la universidad, ya que podemos acceder a
herramientas bastante productivas y tiles para investigadores de diversas
reas, sin incurrir en costos por el pago de licencias. Adems, cabe sealar,
que muchas de las herramientas comerciales ms importantes en diferentes
reas, tienen una contraparte de distribucin gratuita, igualmente funcional y de
buena calidad.
6.2 Conclusiones
63
Entre los procesos candidatos para su ejecucin en entornos paralelos
podemos contar con aquellos que presenten gran cantidad de ciclos iterativos,
o aquellos que trabajen de forma extensiva con matrices, realizando
operaciones como sumas o multiplicaciones.
64
Microsoft Windows. Con esto logramos tener el soporte para aplicaciones
nativas tanto en Microsoft Windows como en GNU/Linux.
Glosario de Trminos
65
Bibliografa
[1] Jonson, V. E. & Albert J. H (1999). Ordinal Data Modeling. Springer, New
York.
[2] The BUGS Project http://www.mrc-bsu.cam.ac.uk/bugs/
[3] The R Project http://www.r-project.org/
[4] Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar, Introduction to
parallel Computing, 2da edicin. Pearson, Harlow 2003.
[5] BOINC http://boinc.berkeley.edu
[6] SETI@Home http://setiathome.berkeley.edu/
[7] EINSTEIN@Home http://einstein.phys.uwm.edu/
[8] Rosetta@Home http://boinc.bakerlab.org/rosetta/
[9] Extreme Programming http://www.extremeprogramming.org/
[10] Rational Unified Process http://www-306.ibm.com/software/rational/
[11] Kroll, Per, The rational unified process made easy: a practitioner's guide to
the RUP, 1ra edicin. Addison-Wesley, Boston, 2003.
66
[12] Sommerville, Ian, Software engineering, 7ma edicin. Pearson, Addison
Wesley, Boston 2004.
[13] 2006. Comentario del 17 de febrero del a BOINC.BOINC API (Short
Introduction). Consultada 02 de julio del 2009. <http://are.ehibou.com/boinc-
boinc-api/>
[14] Daladier Jabba Molinares, Adalgisa Alcocer Olaciregui, Carmenza Rojas
Morales. 2004. Anlisis Comparativo de las herramientas de programacin
Web: PHP, Asp y JSP, bajo los sistemas operativos Linux y Windows,
Universidad del Norte. Consultada 02 de julio del 2009.
<http://dialnet.unirioja.es/servlet/articulo?
codigo=2508544&orden=145248&info=link>
[15] E.H. D'Hollander, G.R. Joubert, "Parallel Computing Fundamentals and
Applications", Procceedings of the International Conference ParCo99. Imperial
College Press, England 2000.
[16] Smith, Roger. 2004. "Grid Computing: A Brief Technology Analysis".
Consultada 02 de julio del 2009.
<http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.109.943&rep=rep1&type=pdf>
[17] Ian Foster, Carl Kesselman, "The Grid: Blueprint for a New Computing
Infraestructure", 1ra. edicin. Morgan Kaufmann Publishers, California 1998.
[18] Pedro Morillo Tena, Grid Computing: Comparticin de recursos y
optimizacin del hardware, Mundo Electrnico N 346, pp. 50-55, Oct. 2003.
[19] Roger Pressman, Software Engineering: A Practitioners Approach, 6ta
edicin. Mc Graw Hill, New York 2005.
[20] Ahmar Abbas, Grid Computing : A Practical Guide to Technology and
Applications, 1ra edicin, Charles River Media, Massachusetts 2004.
[21] Sergei Gorlatch, Paraskevi Fragopoulou, Thierry Priol, Grid Computing :
Achievements and Prospects, 1ra edicin, Springer, 2008.
[22] Ian Foster, Carl Kesselman, The Grid 2: Blueprint for a New Computing
Infrastructure, 2da edicin, Morgan Kaufmann, 2003.
[23] El-Ghazali, Albert Zomaya, Grid Computing for Bioinformatics and
Computational Biology, 1ra edicin, Wiley-Interscience, 2007.
[24] Lee-hing Yan, Lee Bu Sung, Teo Yong Meng, GCA 2007: Proceedings of
the 3rd International Workshop on Grid Computing and Applications, Biopolis,
Singapore, 5-8 June 23007, 1ra edicin, World Scientific Publishing Company,
2007.
67
[25] Peter Kacsuk, Robert Lovas, Zsolt Nemeth, Distributed and Parallel
Systems: In Focus: Desktop Grid Computing, 1ra edicin, Springer, 2008.
[26] http://www.terracottatech.com/
[27] Terracota Inc., The Definitive Guide to Terracotta: Cluster the JVM for
Spring, Hibernate and POJO Scalability, 1ra edicin, Apress, 2008.
[28] Pawel Plaszczak Jr., Richard Wellner, Grid Computing: The Savvy
Manager's Guide, 1ra edicin, Morgan Kaufmann, 2005.
[29] Ian Foster. 2006. Globus Toolkit Version 4 : Software for Service-Oriented
Systems,Springer-Verlag. Consultada el 02 de Julio del 2009
<http://www.globus.org/alliance/publications/papers/IFIP-2006.pdf>
[30] Globus Toolkit, http://www.globus.org/toolkit/about.html
[31] Centro Informtico Cientfico de Andaluca. Consultada el 02 dejulio del
2009. <http://www.cica.es/globus-toolkit-2.html>
[32] Sun Grid Engine, http://gridengine.sunsource.net/
[33] Bazn, J. L. , Bolfarine, H. & Branco, D. M. A generalized skew probit
class link for binary regression. Technical report (RT-MAE-2006-05).
Department of Statistics. University of So Paulo, 2006.
[34] Walter R. Gilks, Sylvia Richardson, D. J., Markov Chain Monte Carlo in
Practice, 1ra. edicin. Chapman & Hall/CRC, California 2005.
68