SlideShare una empresa de Scribd logo
1 de 69
“COMPUTACIÓN DISTRIBUIDA Y SU 
APLICACIÓN TECNOLÓGICA PARA 
INCREMENTAR LA EFICIENCIA DEL 
USO DE RECURSOS 
INFORMÁTICOS EN RED DE LA 
ESPOL” 
Luis Vargas V. 
Gonzalo Luzardo M.
Agenda 
• Antecedentes. 
• Problema y solución. 
• Posibles alternativas. 
• Diseño. 
• Implementación. 
• Pruebas y resultados. 
• Demostración. 
• Conclusiones y recomendaciones.
ANTECEDENTES
Antecedentes 
• Existen proyectos de investigación que 
deben analizar gran cantidad de datos; 
renderización de imágenes, simulación de 
fenómenos naturales, redes neuronales, 
son algunos ejemplos. 
• Necesitan computadoras de gran 
capacidad de procesamiento.
Antecedentes 
• LA IBM BLUE 
GENE/L , utilizada 
para aplicaciones de 
hidrodinámica, 
química cuántica, 
dinámica molecular, 
astronomía e 
investigación 
espacial, y modelado 
climático. 
Su construcción tuvo un costo 
aproximado de 150 millones de 
dólares.
Antecedentes 
• Existen otras 
alternativas que 
permiten unir el poder 
de procesamiento de 
un conjunto de 
computadoras 
disponibles en una red. 
• Este nuevo paradigma 
se llama Computación 
Distribuida.
Computación Distribuida 
• La computación distribuida, es un nuevo modelo 
para resolver problemas de computación masiva 
utilizando un gran número de computadoras 
conectadas entre sí mediante una red. 
• Dividir el trabajo entre varios computadoras, 
logrando de esta forma mejorar los tiempos de 
respuesta de procesamiento.
Terminologías 
• Aceleración (Speedup).- Relaciona los 
tiempos de ejecución de algoritmos 
secuenciales vs. Paralelos 
• Eficiencia.- Relación entre la aceleración 
de una ejecución paralela y el número de 
procesadores 
• Escalabilidad.- Si al aumentar el tamaño 
del problema, el desempeño por 
procesador se mantiene.
PROBLEMA Y SOLUCIÓN
Problema actual en la ESPOL 
• Las unidades no disponen de una plataforma 
que permita el análisis extensivo de datos. 
• Esto limita el desarrollo de nuevos proyectos 
que necesitan procesar una gran cantidad de 
información en un tiempo razonable. 
• Simulación, procesamiento de imágenes, 
biotecnología, pronóstico del tiempo, modelado 
financiero, inteligencia de negocios, son algunas 
aplicaciones que requieren de gran poder de 
procesamiento.
¿Qué nos ofrece la ESPOL? 
• La ESPOL cuenta actualmente con una gran 
cantidad de recursos informáticos 
(computadoras). 
• La mayor parte realizan tareas de aplicaciones 
sencillas tales como procesadores de texto, 
hojas de cálculo, navegadores, correo, entre 
otras. 
• Algunas de estas computadoras se encuentran 
inactivas una cantidad considerable del tiempo. 
• En su mayoría se encuentran conectadas en 
red.
Solución 
• En base a esta realidad, nace la idea de 
unir estos recursos informáticos, para 
formar una “Computadora Virtual” de gran 
capacidad de procesamiento.
Objetivos 
• Generar un sistema de computación distribuida 
que use los ciclos ociosos de las computadoras 
en ESPOL. 
• Proveer las herramientas necesarias, que 
permitan explotar un sistema distribuido para su 
uso en la investigación y el desarrollo. 
• Desarrollar una aplicación que explote las 
capacidades del supercomputador y demuestre 
sus posibles usos en la investigación.
Características del sistema 
• Dividir un problema en tareas más pequeñas 
y distribuirlas entre un grupo de 
computadoras. 
• Independiente de la plataforma. 
• Tolerante a fallos. 
• Seguro. 
• Procesamiento controlado. 
• Ser adaptable en el desarrollo de diferentes 
tipos de aplicaciones distribuidas. 
• Proveer de herramientas que faciliten la 
creación de aplicaciones distribuidas.
POSIBLES ALTERNATIVAS
Hardware 
• Computadoras de alto rendimiento – más 
de 2 millones dólares, 148 megaflops. 
• Supercomputadoras – más de 100 
millones dólares, 280.600 gigaflops. 
• Clusters de alto rendimiento – económico 
y escalable, 1.2 millones dólares, 350 
gigaflops 
– Clusters dedicados y no dedicados 
(computación zombi).
Middleware 
• PVM 
– Explota la heterogeneidad natural de las 
computadoras. 
– Es portable. 
– Detalles de paralelización de forma explícita. 
– No es configurable por usuario. 
• MPI 
– Estándar definido para sistemas MPPs inicialmente. 
– Es portable. 
– Nodos de cómputo no pueden ser agregados o 
quitados de manera dinámica. 
– No es interoperable.
BOINC 
• Comparte poder computacional con 
muchas aplicaciones. 
• Distribuye tareas entre los nodos del 
cluster. 
• Arquitectura heterogénea. 
• Seguro, tolerante a fallos, escalable. 
• Configurable para usuarios. 
• Código abierto.
Selección de las alternativas más apropiadas 
• Cluster de alto rendimiento 
– Económico, usa computadoras disponibles. 
– No es dedicado. 
– Fácil de construir. 
• Middleware BOINC 
– Alta escalabilidad. 
– Independiente de la plataforma. 
– Administra más de una aplicación distribuida. 
– Permite una fácil configuración de nodos.
DISEÑO
Diseño Lógico 
CLIENTE 
APLICACIÓN 
DISTRIBUIDA 
1 1 
TRABAJO 
A REALIZAR 
RESULTADO 
1 
1 
APLICACIÓN 
DISTRIBUIDA 
SERVIDOR 
APLICACIÓN 
DISTRIBUIDA 
TRABAJO A REALIZAR 
1 2 3 
RESULTADOS OBTENIDOS 
1
Diseño Lógico 
• Servidor 
– Divide el problema en unidades de trabajo (más pequeñas). 
– Distribuye estas unidades entre un grupo de computadores. 
– Administra el procesamiento. 
– Analiza los resultados. 
• Cliente 
– Descarga aplicaciones distribuidas y unidades de trabajo. 
– Procesa las unidades de trabajo mediante la aplicación 
distribuida. 
– Muestra detalles del procesamiento. 
– Envía los resultados al servidor.
Diseño físico 
• El servidor se 
conecta a la red del 
CTI, posee una IP 
pública y un dominio 
registrado. 
• Clientes se conectan 
al servidor a través 
de la red del CTI, del 
backbone de la 
ESPOL o Internet.
Diseño del servidor 
• Base de datos. 
• Servidor de tareas. 
• Servidor de datos. 
• Servidor Web. 
• Utilidades y 
programas. 
• Componentes propios 
de una aplicación. 
SERVIDOR 
SERVIDOR DE 
TAREAS 
ADMINISTRADOR 
SERVIDOR 
WEB 
SERVIDOR DE 
DATOS 
Base de Datos 
COMPONENTES DE UNA APLICACIÓN 
USUARIO 
UTILIDADES Y PROGRAMAS
Base de datos 
• Almacena información relevante del 
sistema tales como clientes (nodos), 
unidades de trabajo, resultados, 
aplicaciones, entre otros.
Servidor de tareas 
• Interactúa de manera directa con el cliente (primera comunicación). 
• Asigna trabajo al cliente. 
• Intercambia mensajes con el servidor de tareas, a través del 
protocolo HTTP, usando archivos XML como mensajes. 
– Una descripción de trabajo que debe ser procesado. 
– La ubicación del servidor de datos, en donde se almacenan los archivos de entrada y salida 
del procesamiento. 
SERVIDOR 
USUARIO 
Base de Datos 
SERVIDOR DE 
TAREAS 
CLIENTE 
XML 
PROTOCOLO HTTP
Servidor de datos 
• Almacena 
tanto los 
archivos 
entrada y 
archivos de 
salida de la 
aplicación 
distribuida. 
SERVIDOR 
USUARIO 
SERVIDOR DE DATOS 
CLIENTE 
ARCHIVOS DE ENTRADA 
ARCHIVOS DE SALIDA 
APLICACIÓN 
PARA EL 
ENVIO DE 
RESULTADOS 
ARCHIVOS DE ENTRADA Y SALIDA PARA UNA 
APLICACIÓN ESPECÍFICA 
PROTOCOLO HTTP 
RESPUESTA 
XML 
01101 
01011 
01110 
ejecutables 
.lib 
.dll 
librerías imágenes 
resultados 
HTTP GET 
EJECUTABLES Y ARCHIVOS 
PETICIÓN DE ENVÍO 
PROTOCOLO 
PREDEFINIDO 
unidades de 
trabajo
Componentes de una aplicación 
• Son aquellos programas que ejecutan 
acciones de una aplicación distribuida en 
particular. 
– Generar trabajo de cómputo. 
– Verificar y validar los resultados de cómputo. 
– Asimilar. 
– Verificar.
Utilidades y programas 
• Componentes propios del sistema que nos 
ayudan a administrar el sistema en su totalidad. 
• Suministrar controles para inicializar, detener, 
reiniciar y verificar el estatus del servidor. 
• Suministrar aplicaciones para facilitar la 
incorporación de aplicaciones distribuidas al 
sistema y archivos relacionados a ésta. 
• Crear trabajo para ser procesado. 
• Borrar los archivos que no son necesarios para 
prevenir errores por insuficiencia de espacio en 
el disco.
Interacción entre los componentes 
SERVIDOR 
SERVIDOR DE DATOS 
ARCHIVOS DE ENTRADA Y SALIDA PARA UNA APLICACIÓN ESPECÍFICA 
ARCHIVOS DE ENTRADA 
ARCHIVOS DE SALIDA 
01101 
01011 
01110 
ejecutables 
.lib .dll 
librerías imágenes 
resultados 
UTILIDADES Y PROGRAMAS 
COMPONENTES DE UNA APLICACIÓN 
GENERADOR DE TRABAJO 
DE CÓMPUTO 
REPOSITORIO DE TRABAJO COMPUTACIONAL 
CREADOR DE 
UNIDADES DE TRABAJO 
VALIDADOR 
Unidades de 
trabajo 
PROBLEMA A SER 
RESUELTO 
PROBLEMA DE 
GRAN DESAFÍO 
Divide el problema 
en varias tareas 
más pequeñas 
LECTURA DE TRABAJO COMPUTACIONAL 
APLICACIÓN DISTRIBUIDA 
01101 
01011 
01110 
ejecutables 
.lib .dll 
librerías 
imágenes 
ENVÍO DE UNIDADES DE TRABAJO 
ACTUALIZACIÓN DE LA TABLA DE UNIDADES DE 
TRABAJO Y RESULTADOS 
ASIMILADOR 
LLAMADAS A PROCESOS 
DE UNA APLICACIÓN 
Ejecuta llamadas a 
procesos propios 
de una aplicación 
Base de Datos 
CONTROLES DE 
ADMINISTRACIÓN 
<start>, <restart>, 
<stop>, <status> 
Finalización de 
procesamiento de 
una unidad de 
trabajo 
Validación de 
resultados 
ELIMINACIÓN DE 
ARCHIVOS 
Elimina archivos 
no necesarios 
Genera unidades 
a partir del 
repositorio de 
trabajos 
UTILIDADES 
LLAMADAS A PROCESOS 
Agregar 
aplicaciones junto 
con sus archivos, 
entre otras. 
VERIFICAR SI SE HA 
ENCONTRADO LA 
SOLUCIÓN
Servidor Web 
• Interfase Web para el administrador. 
• interfase Web para los usuarios 
SERVIDOR 
USUARIO 
SERVIDOR WEB 
INTERFACE WEB 
PARA LOS 
USUARIOS 
Base de Datos INTERFACE WEB 
PARA 
EL ADMINISTRADOR 
ADMINISTRADOR
Diseño del cliente 
• Encargado, entre otras cosas, de procesar 
las unidades de trabajo, y retornar al 
servidor los resultados computacionales 
obtenidos. 
SISTEMA CLIENTE 
USUARIO 
INTERFAZ GRÁFICA 
APLICACIÓN DISTRIBUIDA 
NÚCLEO DEL CLIENTE
Núcleo del cliente 
• Encargado de la comunicación con el servidor y llevar el 
control sobre el procesamiento que se está ejecutando 
en la estación cliente. 
• Obtiene datos específicos de la estación de trabajo para 
ser enviados al servidor. 
– Obtener las características generales. 
– Rendimiento del CPU. 
– Recursos disponibles. 
• Inicia la aplicación distribuida para procesar trabajo, o la 
reinicia si fue suspendida. 
• Suspende la aplicación distribuida. 
• Inicia la transferencia de archivos. 
• Elimina archivos si es necesario.
Núcleo del cliente 
CLIENTE 
NÚCLEO 
DEL 
CLIENTE 
SERVIDOR 
SERVIDOR DE TAREAS 
SERVIDOR DE DATOS 
RESPUESTA 
ARCHIVOS DE 
ENTRADA 
ARCHIVOS DE 
SALIDA 
PETICIÓN 
HTTP GET 
TRANSFERENCIA 
PETICIÓN DE 
TRANSFERENCIA 
RESPUESTA 
APLICACIÓN DISTRIBUIDA 
ARCHIVOS DE 
SALIDA 
ARCHIVOS DE 
ENTRADA 
TRANSFERENCIA 
• Pide trabajo 
para procesar. 
• Descarga las 
unidades de 
trabajo. 
• Envía los 
resultados. 
• Notifica el 
procesamiento. 
• Pide más 
trabajo
Aplicación distribuida 
• Encargada de 
procesar las 
unidades de trabajo 
provenientes del 
servidor de tareas. 
• Utiliza los archivos 
de entrada. 
• Genera archivos de 
salida. 
SISTEMA CLIENTE 
Directorio de ejecución Directorio de aplicaciones 
APLICACIÓN DISTRIBUIDA 
ARCHIVOS DE 
SALIDA 
ARCHIVOS DE 
ENTRADA 
ESTADO DEL 
PROCESAMIENTO 
APLICACIÓN 
DISTRIBUIDA 
ARCHIVOS DE 
ENTRADA 
NÚCLEO DEL CLIENTE 
INTERFAZ GRÁFICA 
ESTADO DEL 
PROCESAMIENTO 
LLAMADAS 
REITERADAS
Aplicación distribuida 
• Módulo de 
procesamiento. 
Procesa las unidades 
de trabajo y retornar un 
resultado 
computacional. 
• Módulo de 
presentación gráfica. 
Muestra información 
gráfica relevante al 
procesamiento. 
SISTEMA CLIENTE 
APLICACIÓN DSITRIBUIDA 
MODULO DE PROCESAMIENTO 
ARCHIVOS DE 
SALIDA 
ARCHIVOS DE 
ENTRADA 
APLICACIÓN DISTRIBUIDA 
MODULO DE PRESENTACIÓN GRÁFICA 
PROCESAMIENTO DE DATOS 
LIBRERÍAS GRÁFICAS 
estado
Interfaz gráfica 
• Encargada de hacer reiteradas llamadas 
al núcleo cliente para comenzar su 
ejecución, y llevar control sobre las 
acciones que éste se encuentre 
realizando en la estación de trabajo. 
• Instalada en el cliente.
IMPLEMENTACIÓN
Servidor 
Procesador Intel Pentium 4 2.80GHz Socket 478 Bus 
800 MHz 
Placa base Intel D875 PBZLK P4 RAID 800 MHz, 
LAN Gigabit 
Memoria RAM 1024 MB DDR PC 400 KINGSTON 
Disco Duro 120 GB Serial ATA 7200 RPM 
Video NVIDIA GFORCE 5200 128 MB 
CDROM CDR 52x 
Periféricos Unidad Floppy 3 1!2” , 
Mouse óptico, 
Teclado Multimedia 
Monitor Samsung 15” 
PRECIO 1355 USD 
(a) Servidor (b) Vista interna del servidor.
Instalación y configuración del servidor 
• Sistema operativo Fedora Core 2. 
• Agente de transporte de correo Sendmail. 
• Servidor Web Apache II. 
• PHP. 
• Base de datos MySQL, PHPMySQL. 
• Python, PyXML. 
• Configuración del Firewall, permitir conexiones con el Internet a 
través de los puertos: 22 para ssh, 80 para htttp y 443 para https; 
conexiones locales con los puertos 3306 para MySQL y 21 para 
sendmail. 
• IP pública 200.10.150.5 y dominio supercomp.cti.espol.edu.ec. 
• Configurado para que salga la Internet a través de la red del CTI.
Instalación y configuración de BOINC 
• Versión 3.04. 
• Archivos fuentes 
compilados y luego 
instalados en el 
servidor. 
• Se modificaron los 
archivos util.inc y 
countries.inc de 
la carpeta html. 
• Conectado a la red 
del CTI.
Instalación y configuración de los clientes 
• Sistema cliente BOINC 
versión 3.05. 
• El cliente fue instalado en 
cada una de las cinco 
computadoras cliente de 
prueba, tres máquinas de 
ellas pertenecientes al Centro 
de Tecnologías de 
Información (CTI) y dos 
máquinas particulares 
conectadas al Internet. 
• Registro de clientes al sistema 
distribuido. 
• Configuración de clientes para 
procesar las unidades de 
trabajo usando los ciclos 
ociosos. 
RED DEL CTI 
SERVIDOR 
SWITCH Principal CTI 
CAPA 3 
SWITCH 3Com 
Gigabit Ethernet 
BACKBONE DE LA ESPOL 
200.10.150.5 
Internet 
Portátil 
Rea 
Sagitario 
Computadora de 
escritorio 
Titán
IMPLEMENTACIÓN DE 
UNA APLICACIÓN 
DISTRIBUIDA
Objetivos de la implementación 
• Probar el funcionamiento del sistema. 
• Evaluar el rendimiento y escalabilidad de 
nuestro sistema distribuido. 
Esta aplicación distribuida, además de ser paralelizable, 
debía buscar la solución a un problema 
de gran desafío computacional, el cual una computadora 
común no lo pueda realizar o le tome demasiado tiempo. 
Descifrado (desencriptación) de claves RSA
Descifrado de claves RSA 
• Obtener una clave pública a través de una clave 
privada. 
• Basado en la dificultad de factorizar un valor 
extremadamente grande (64, 128 dígitos, por 
ejemplo), generado por la multiplicación de dos 
números primos grandes. 
• Según la Criba de Eratóstenes, los factores de 
un número n, para un número n = p x q 
• tenemos que o bien p< o bien q < 
n 
n n
Solución 
• El objetivo general consiste en dividir raíz 
de n en rangos mucho más pequeños y 
manejables en términos de 
procesamiento, los cuales serán 
asignados a los clientes. 
• A cada cliente se le asignará un rango de 
búsqueda diferente. 
• El cliente realizará divisiones sucesivas 
sólo dentro de su rango asignado. 
n
Generador de archivos de entrada 
• Denominado rsasplitter. 
• Divide raíz de n en rangos y genera los archivos de 
entrada para la aplicación. 
• Estos archivos de entrada serán convertidos en 
unidades de trabajo. 
n: Representa el valor n de la clave pública, un numero de N dígitos. 
ninicial: Rango desde donde se comienza a hacer las divisiones 
sucesivas. 
nfinal: Rango hasta donde se realizan las divisiones sucesivas. 
n 
ninicial 
nfinal
Aplicación distribuida 
• Denominada rsadecrypt. 
• Lee un archivo de entrada. 
• Busca un factor primo en el rango especificado en el archivo de 
entrada, usando el método de divisiones sucesivas (fuerza bruta). 
• Se detiene si encontró el factor primo o si termino de buscar dentro 
del rango. 
• Genera un resultado computacional. 
nfinal: Hasta que numero llegó el cliente a procesar. 
estado: El estado del resultado, 1 si logró encontrar la clave privada, 
0 si no encontró. 
nfinal 
estado
Aplicación distribuida – Parte gráfica 
• Muestra 
datos 
relevantes 
del 
procesamient 
o que le 
cliente esta 
realizando. 
• Mostrado 
como 
protector de 
pantalla
Interacción entre los componentes 
CLIENTE 
rsadecrypt 
rsadecrypt 
Rango_1 Out_1 
TRABAJO 
A REALIZAR 
RESULTADO 
Rango_1 rsadecript 
SERVIDOR 
SERVIDOR DE DATOS 
rsadecrypt 
TRABAJO A REALIZAR 
Rango_1 Rango_2 Rango_n 
... 
ADMINISTRADOR 
Rango_1 Rango_2 ….. Rango_n 
Número n dividido en rangos más 
pequeños 
Clave pública (n,e) 
RESULTADOS 
Out_1 
Búsqueda de un resultado 
cuyo estado sea igual a 1 
Out_1 
rsasplitter 
Protector de pantalla 
Clave buscada 
Rango 
Porcentaje completado 
Logo ESPOL
PRUEBAS Y 
RESULTADOS
Pruebas de funcionamiento 
• Aplicación distribuida para descifrado de 
claves RSA, para encontrar los factores 
primos a partir del valor N de la clave 
pública. 
• Se crearon los archivos de entrada para la 
aplicación distribuida -- rsasplitter
Datos para N = 12 dígitos 
• Valor de N = 700933509247. 
• Factor primo encontrado= 760531. 
• Unidades de Trabajo creadas = 5. 
Rango #1: Rango #2: Rango #3: 
Desde: 1 
Hasta: 167443 
Desde: 167444 
Hasta: 334886 
Desde: 334887 
Hasta: 502329 
Rango #4: Rango #5: 
Desde: 502330 
Hasta: 669772 
Desde: 669773 
Hasta: 837217
Datos para N = 14 dígitos 
• Valor de N = 37095613506571. 
• Factor primo encontrado = 5393053. 
• Unidades de Trabajo creadas = 5. 
Rango #1: Rango #2: Rango #3: 
Desde: 1 
Hasta: 1218123 
Desde: 1218124 
Hasta: 2436246 
Desde: 2436247 
Hasta: 3654369 
Rango #4: Rango #5: 
Desde: 3654370 
Hasta: 4872492 
Desde: 4872493 
Hasta: 6090616
Pruebas de funcionamiento 
• Se crean las plantillas 
tanto para las unidades 
de trabajo, como para 
los resultados. 
• Se observa como cada 
cliente se comunicó con 
el servidor de tareas, 
descargó las unidades 
de trabajo e inició el 
procesamiento.
Resultados 
• Se utilizó como parámetro el tiempo (en 
minutos) necesario para la obtención del 
factor primo del número N. 
• Se incrementó de 1 a 5 el número de 
computadoras clientes para la distribución 
del procesamiento.
Resultados para N = 12 dígitos 
70 
38 
4 
19 
22 
80 
70 
60 
50 
40 
30 
20 
10 
0 
1 2 3 4 5 
Computadoras 
Tiempo(min) 
Número de 
Computadoras 
Num/seg 
Tiempo en 
minutos 
1 181 70 
2 333 38 
3 576 22 
4 667 19 
5 3168 4
Resultados para N = 14 dígitos 
Número de 
Computadoras 
Num/seg 
Tiempo en 
minutos 
1 345 260 
2 642 140 
3 1123 80 
4 1284 70 
5 4730 19 
260 
140 
70 
19 
80 
300 
250 
200 
150 
100 
50 
0 
1 2 3 4 5 
Computadoras 
Tiempo(min)
Resultados 
• Los resultados reflejan la alta escalabilidad 
del sistema de procesamiento distribuido. 
• Al incrementar el número de computadoras, 
se disminuye el tiempo en obtener el 
resultado. 
• Tomar en consideración, que el número de 
unidades a ser creadas debe ser mayor o 
igual al número de clientes en el sistema.
No distribuido 
Computadora 
N=12 N=14 
Num/seg T (min) Num/seg T (min) 
1 186 68 360 249 
2 186 68 393 258 
3 218 64 413 230 
4 232 60 457 222 
5 101 138 201 505 
Promedio 192 80 374 292 
La ejecución se realizó en 5 distintas computadoras 
independientes
Aceleración y Eficiencia 
Aceleración 
(Speedup) 
# Computadoras N=12 N=14 
1 0.78 0.75 
2 1.44 1.41 
3 2.48 2.46 
4 2.88 2.81 
5 13.65 10.35 
ACELERACIÓN (SPEEDUP) 
15 
10 
5 
0 
1 2 3 4 5 
Computadoras 
Tiempo 
SpeedUp N=12 
SpeedUp N=14 
EFICIENCIA 
300% 
250% 
200% 
150% 
100% 
50% 
0% 
1 2 3 4 5 
Eficiencia N=12 Computadoras 
Eficiencia N=14
DEMOSTRACIÓN
CONCLUSIONES Y 
RECOMENDACIONES
Conclusiones 
• Es una alternativa efectiva dentro de la 
ESPOL, con costos de instalación y 
operación bajos, y resultados bastante 
aceptables. 
• Puede superar en poder de procesamiento a 
sistemas de súper cómputo convencionales. 
• Es altamente escalable. 
• Protector de pantalla con muchos gráficos, 
hace que disminuya su capacidad de 
procesamiento.
Conclusiones 
• La aceleración también depende del 
tiempo de comunicación con las 
estaciones. 
• Se pueden aprovechar de manera efectiva 
los ciclos ociosos de las computadoras, 
logrando contribuir en la búsqueda de 
soluciones a grandes problemas de 
procesamiento.
Recomendaciones 
• Promocionar a nivel interno y externo el 
servicio de computación distribuida 
desarrollado. 
• Brindar cursos o talleres de la 
computación distribuida a los 
investigadores y profesores de la ESPOL. 
• Promover a la comunidad científica de la 
ESPOL e investigadores externos, el 
desarrollo de aplicaciones distribuidas
Recomendaciones 
• Incorporar dentro de la materia “Sistemas 
Distribuidos” el concepto de Computación 
Voluntaria y desarrollar proyectos 
utilizando la plataforma BOINC. 
• Proponer la creación a futuro de un centro 
de alto rendimiento computacional.
PREGUNTAS
GRACIAS

Más contenido relacionado

Destacado

Como hacer una célula eucariota con plastilina.
Como hacer una célula eucariota con plastilina.Como hacer una célula eucariota con plastilina.
Como hacer una célula eucariota con plastilina.ivanruiz00
 
Presentación: Islas Artificiales "The World"
Presentación: Islas Artificiales "The World"Presentación: Islas Artificiales "The World"
Presentación: Islas Artificiales "The World"Cesar Mani
 
Presentation english
Presentation englishPresentation english
Presentation englishDayana Perez
 
Test sobre RÍos Estavillo
Test sobre RÍos EstavilloTest sobre RÍos Estavillo
Test sobre RÍos EstavilloJULISSATHC
 
Curso Habilidades Comunicativas para profeisonales y empresa
Curso Habilidades Comunicativas para profeisonales y empresaCurso Habilidades Comunicativas para profeisonales y empresa
Curso Habilidades Comunicativas para profeisonales y empresaTeatrea
 

Destacado (8)

Cambiando a traves de la IAPT lopez h
Cambiando a traves de la IAPT   lopez hCambiando a traves de la IAPT   lopez h
Cambiando a traves de la IAPT lopez h
 
Como hacer una célula eucariota con plastilina.
Como hacer una célula eucariota con plastilina.Como hacer una célula eucariota con plastilina.
Como hacer una célula eucariota con plastilina.
 
Presentación: Islas Artificiales "The World"
Presentación: Islas Artificiales "The World"Presentación: Islas Artificiales "The World"
Presentación: Islas Artificiales "The World"
 
Trabajo Unad Herramientas Digitales
Trabajo Unad Herramientas Digitales Trabajo Unad Herramientas Digitales
Trabajo Unad Herramientas Digitales
 
Presentation english
Presentation englishPresentation english
Presentation english
 
Libro: Grandes líderes
Libro: Grandes líderesLibro: Grandes líderes
Libro: Grandes líderes
 
Test sobre RÍos Estavillo
Test sobre RÍos EstavilloTest sobre RÍos Estavillo
Test sobre RÍos Estavillo
 
Curso Habilidades Comunicativas para profeisonales y empresa
Curso Habilidades Comunicativas para profeisonales y empresaCurso Habilidades Comunicativas para profeisonales y empresa
Curso Habilidades Comunicativas para profeisonales y empresa
 

Similar a 7984

COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.pptCOMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.pptJUANPABLOCHVEZNAVA
 
Computación distribuida y su aplicación tecnológic
Computación distribuida y su aplicación tecnológicComputación distribuida y su aplicación tecnológic
Computación distribuida y su aplicación tecnológicsimeonhuamanchao
 
Computación distribuida y su aplicación tecnológic
Computación distribuida y su aplicación tecnológicComputación distribuida y su aplicación tecnológic
Computación distribuida y su aplicación tecnológicsimeonhuamanchao
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosLuis Yallerco
 
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosAD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosFranklin Parrales Bravo
 
Oracle, Informix
Oracle, InformixOracle, Informix
Oracle, Informixallison tl
 
API Agregadas y Computo Masivo
API Agregadas y Computo MasivoAPI Agregadas y Computo Masivo
API Agregadas y Computo MasivoAndrea Guevara
 
Portafolio DOS.pdf
Portafolio DOS.pdfPortafolio DOS.pdf
Portafolio DOS.pdfDayaOchoa2
 
Sistemas computadores
Sistemas computadoresSistemas computadores
Sistemas computadoresEdson Arvizu
 
Sistemas computadores
Sistemas computadoresSistemas computadores
Sistemas computadoresEdson Arvizu
 
Sistemas computadores
Sistemas computadoresSistemas computadores
Sistemas computadoresBeto Guevara
 

Similar a 7984 (20)

COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.pptCOMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
 
7984
7984 7984
7984
 
Computación distribuida y su aplicación tecnológic
Computación distribuida y su aplicación tecnológicComputación distribuida y su aplicación tecnológic
Computación distribuida y su aplicación tecnológic
 
Computación distribuida y su aplicación tecnológic
Computación distribuida y su aplicación tecnológicComputación distribuida y su aplicación tecnológic
Computación distribuida y su aplicación tecnológic
 
7984 (1)
7984 (1)7984 (1)
7984 (1)
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Memoria
MemoriaMemoria
Memoria
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
 
spiceworks
spiceworksspiceworks
spiceworks
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosAD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
 
Oracle, Informix
Oracle, InformixOracle, Informix
Oracle, Informix
 
API Agregadas y Computo Masivo
API Agregadas y Computo MasivoAPI Agregadas y Computo Masivo
API Agregadas y Computo Masivo
 
Portafolio DOS.pdf
Portafolio DOS.pdfPortafolio DOS.pdf
Portafolio DOS.pdf
 
Administrador de sistemas
Administrador de sistemasAdministrador de sistemas
Administrador de sistemas
 
Sistemas computadores
Sistemas computadoresSistemas computadores
Sistemas computadores
 
Sistemas computadores
Sistemas computadoresSistemas computadores
Sistemas computadores
 
Sistemas computadores
Sistemas computadoresSistemas computadores
Sistemas computadores
 

Último

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 

Último (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 

7984

  • 1. “COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA PARA INCREMENTAR LA EFICIENCIA DEL USO DE RECURSOS INFORMÁTICOS EN RED DE LA ESPOL” Luis Vargas V. Gonzalo Luzardo M.
  • 2. Agenda • Antecedentes. • Problema y solución. • Posibles alternativas. • Diseño. • Implementación. • Pruebas y resultados. • Demostración. • Conclusiones y recomendaciones.
  • 4. Antecedentes • Existen proyectos de investigación que deben analizar gran cantidad de datos; renderización de imágenes, simulación de fenómenos naturales, redes neuronales, son algunos ejemplos. • Necesitan computadoras de gran capacidad de procesamiento.
  • 5. Antecedentes • LA IBM BLUE GENE/L , utilizada para aplicaciones de hidrodinámica, química cuántica, dinámica molecular, astronomía e investigación espacial, y modelado climático. Su construcción tuvo un costo aproximado de 150 millones de dólares.
  • 6. Antecedentes • Existen otras alternativas que permiten unir el poder de procesamiento de un conjunto de computadoras disponibles en una red. • Este nuevo paradigma se llama Computación Distribuida.
  • 7. Computación Distribuida • La computación distribuida, es un nuevo modelo para resolver problemas de computación masiva utilizando un gran número de computadoras conectadas entre sí mediante una red. • Dividir el trabajo entre varios computadoras, logrando de esta forma mejorar los tiempos de respuesta de procesamiento.
  • 8. Terminologías • Aceleración (Speedup).- Relaciona los tiempos de ejecución de algoritmos secuenciales vs. Paralelos • Eficiencia.- Relación entre la aceleración de una ejecución paralela y el número de procesadores • Escalabilidad.- Si al aumentar el tamaño del problema, el desempeño por procesador se mantiene.
  • 10. Problema actual en la ESPOL • Las unidades no disponen de una plataforma que permita el análisis extensivo de datos. • Esto limita el desarrollo de nuevos proyectos que necesitan procesar una gran cantidad de información en un tiempo razonable. • Simulación, procesamiento de imágenes, biotecnología, pronóstico del tiempo, modelado financiero, inteligencia de negocios, son algunas aplicaciones que requieren de gran poder de procesamiento.
  • 11. ¿Qué nos ofrece la ESPOL? • La ESPOL cuenta actualmente con una gran cantidad de recursos informáticos (computadoras). • La mayor parte realizan tareas de aplicaciones sencillas tales como procesadores de texto, hojas de cálculo, navegadores, correo, entre otras. • Algunas de estas computadoras se encuentran inactivas una cantidad considerable del tiempo. • En su mayoría se encuentran conectadas en red.
  • 12. Solución • En base a esta realidad, nace la idea de unir estos recursos informáticos, para formar una “Computadora Virtual” de gran capacidad de procesamiento.
  • 13. Objetivos • Generar un sistema de computación distribuida que use los ciclos ociosos de las computadoras en ESPOL. • Proveer las herramientas necesarias, que permitan explotar un sistema distribuido para su uso en la investigación y el desarrollo. • Desarrollar una aplicación que explote las capacidades del supercomputador y demuestre sus posibles usos en la investigación.
  • 14. Características del sistema • Dividir un problema en tareas más pequeñas y distribuirlas entre un grupo de computadoras. • Independiente de la plataforma. • Tolerante a fallos. • Seguro. • Procesamiento controlado. • Ser adaptable en el desarrollo de diferentes tipos de aplicaciones distribuidas. • Proveer de herramientas que faciliten la creación de aplicaciones distribuidas.
  • 16. Hardware • Computadoras de alto rendimiento – más de 2 millones dólares, 148 megaflops. • Supercomputadoras – más de 100 millones dólares, 280.600 gigaflops. • Clusters de alto rendimiento – económico y escalable, 1.2 millones dólares, 350 gigaflops – Clusters dedicados y no dedicados (computación zombi).
  • 17. Middleware • PVM – Explota la heterogeneidad natural de las computadoras. – Es portable. – Detalles de paralelización de forma explícita. – No es configurable por usuario. • MPI – Estándar definido para sistemas MPPs inicialmente. – Es portable. – Nodos de cómputo no pueden ser agregados o quitados de manera dinámica. – No es interoperable.
  • 18. BOINC • Comparte poder computacional con muchas aplicaciones. • Distribuye tareas entre los nodos del cluster. • Arquitectura heterogénea. • Seguro, tolerante a fallos, escalable. • Configurable para usuarios. • Código abierto.
  • 19. Selección de las alternativas más apropiadas • Cluster de alto rendimiento – Económico, usa computadoras disponibles. – No es dedicado. – Fácil de construir. • Middleware BOINC – Alta escalabilidad. – Independiente de la plataforma. – Administra más de una aplicación distribuida. – Permite una fácil configuración de nodos.
  • 21. Diseño Lógico CLIENTE APLICACIÓN DISTRIBUIDA 1 1 TRABAJO A REALIZAR RESULTADO 1 1 APLICACIÓN DISTRIBUIDA SERVIDOR APLICACIÓN DISTRIBUIDA TRABAJO A REALIZAR 1 2 3 RESULTADOS OBTENIDOS 1
  • 22. Diseño Lógico • Servidor – Divide el problema en unidades de trabajo (más pequeñas). – Distribuye estas unidades entre un grupo de computadores. – Administra el procesamiento. – Analiza los resultados. • Cliente – Descarga aplicaciones distribuidas y unidades de trabajo. – Procesa las unidades de trabajo mediante la aplicación distribuida. – Muestra detalles del procesamiento. – Envía los resultados al servidor.
  • 23. Diseño físico • El servidor se conecta a la red del CTI, posee una IP pública y un dominio registrado. • Clientes se conectan al servidor a través de la red del CTI, del backbone de la ESPOL o Internet.
  • 24. Diseño del servidor • Base de datos. • Servidor de tareas. • Servidor de datos. • Servidor Web. • Utilidades y programas. • Componentes propios de una aplicación. SERVIDOR SERVIDOR DE TAREAS ADMINISTRADOR SERVIDOR WEB SERVIDOR DE DATOS Base de Datos COMPONENTES DE UNA APLICACIÓN USUARIO UTILIDADES Y PROGRAMAS
  • 25. Base de datos • Almacena información relevante del sistema tales como clientes (nodos), unidades de trabajo, resultados, aplicaciones, entre otros.
  • 26. Servidor de tareas • Interactúa de manera directa con el cliente (primera comunicación). • Asigna trabajo al cliente. • Intercambia mensajes con el servidor de tareas, a través del protocolo HTTP, usando archivos XML como mensajes. – Una descripción de trabajo que debe ser procesado. – La ubicación del servidor de datos, en donde se almacenan los archivos de entrada y salida del procesamiento. SERVIDOR USUARIO Base de Datos SERVIDOR DE TAREAS CLIENTE XML PROTOCOLO HTTP
  • 27. Servidor de datos • Almacena tanto los archivos entrada y archivos de salida de la aplicación distribuida. SERVIDOR USUARIO SERVIDOR DE DATOS CLIENTE ARCHIVOS DE ENTRADA ARCHIVOS DE SALIDA APLICACIÓN PARA EL ENVIO DE RESULTADOS ARCHIVOS DE ENTRADA Y SALIDA PARA UNA APLICACIÓN ESPECÍFICA PROTOCOLO HTTP RESPUESTA XML 01101 01011 01110 ejecutables .lib .dll librerías imágenes resultados HTTP GET EJECUTABLES Y ARCHIVOS PETICIÓN DE ENVÍO PROTOCOLO PREDEFINIDO unidades de trabajo
  • 28. Componentes de una aplicación • Son aquellos programas que ejecutan acciones de una aplicación distribuida en particular. – Generar trabajo de cómputo. – Verificar y validar los resultados de cómputo. – Asimilar. – Verificar.
  • 29. Utilidades y programas • Componentes propios del sistema que nos ayudan a administrar el sistema en su totalidad. • Suministrar controles para inicializar, detener, reiniciar y verificar el estatus del servidor. • Suministrar aplicaciones para facilitar la incorporación de aplicaciones distribuidas al sistema y archivos relacionados a ésta. • Crear trabajo para ser procesado. • Borrar los archivos que no son necesarios para prevenir errores por insuficiencia de espacio en el disco.
  • 30. Interacción entre los componentes SERVIDOR SERVIDOR DE DATOS ARCHIVOS DE ENTRADA Y SALIDA PARA UNA APLICACIÓN ESPECÍFICA ARCHIVOS DE ENTRADA ARCHIVOS DE SALIDA 01101 01011 01110 ejecutables .lib .dll librerías imágenes resultados UTILIDADES Y PROGRAMAS COMPONENTES DE UNA APLICACIÓN GENERADOR DE TRABAJO DE CÓMPUTO REPOSITORIO DE TRABAJO COMPUTACIONAL CREADOR DE UNIDADES DE TRABAJO VALIDADOR Unidades de trabajo PROBLEMA A SER RESUELTO PROBLEMA DE GRAN DESAFÍO Divide el problema en varias tareas más pequeñas LECTURA DE TRABAJO COMPUTACIONAL APLICACIÓN DISTRIBUIDA 01101 01011 01110 ejecutables .lib .dll librerías imágenes ENVÍO DE UNIDADES DE TRABAJO ACTUALIZACIÓN DE LA TABLA DE UNIDADES DE TRABAJO Y RESULTADOS ASIMILADOR LLAMADAS A PROCESOS DE UNA APLICACIÓN Ejecuta llamadas a procesos propios de una aplicación Base de Datos CONTROLES DE ADMINISTRACIÓN <start>, <restart>, <stop>, <status> Finalización de procesamiento de una unidad de trabajo Validación de resultados ELIMINACIÓN DE ARCHIVOS Elimina archivos no necesarios Genera unidades a partir del repositorio de trabajos UTILIDADES LLAMADAS A PROCESOS Agregar aplicaciones junto con sus archivos, entre otras. VERIFICAR SI SE HA ENCONTRADO LA SOLUCIÓN
  • 31. Servidor Web • Interfase Web para el administrador. • interfase Web para los usuarios SERVIDOR USUARIO SERVIDOR WEB INTERFACE WEB PARA LOS USUARIOS Base de Datos INTERFACE WEB PARA EL ADMINISTRADOR ADMINISTRADOR
  • 32. Diseño del cliente • Encargado, entre otras cosas, de procesar las unidades de trabajo, y retornar al servidor los resultados computacionales obtenidos. SISTEMA CLIENTE USUARIO INTERFAZ GRÁFICA APLICACIÓN DISTRIBUIDA NÚCLEO DEL CLIENTE
  • 33. Núcleo del cliente • Encargado de la comunicación con el servidor y llevar el control sobre el procesamiento que se está ejecutando en la estación cliente. • Obtiene datos específicos de la estación de trabajo para ser enviados al servidor. – Obtener las características generales. – Rendimiento del CPU. – Recursos disponibles. • Inicia la aplicación distribuida para procesar trabajo, o la reinicia si fue suspendida. • Suspende la aplicación distribuida. • Inicia la transferencia de archivos. • Elimina archivos si es necesario.
  • 34. Núcleo del cliente CLIENTE NÚCLEO DEL CLIENTE SERVIDOR SERVIDOR DE TAREAS SERVIDOR DE DATOS RESPUESTA ARCHIVOS DE ENTRADA ARCHIVOS DE SALIDA PETICIÓN HTTP GET TRANSFERENCIA PETICIÓN DE TRANSFERENCIA RESPUESTA APLICACIÓN DISTRIBUIDA ARCHIVOS DE SALIDA ARCHIVOS DE ENTRADA TRANSFERENCIA • Pide trabajo para procesar. • Descarga las unidades de trabajo. • Envía los resultados. • Notifica el procesamiento. • Pide más trabajo
  • 35. Aplicación distribuida • Encargada de procesar las unidades de trabajo provenientes del servidor de tareas. • Utiliza los archivos de entrada. • Genera archivos de salida. SISTEMA CLIENTE Directorio de ejecución Directorio de aplicaciones APLICACIÓN DISTRIBUIDA ARCHIVOS DE SALIDA ARCHIVOS DE ENTRADA ESTADO DEL PROCESAMIENTO APLICACIÓN DISTRIBUIDA ARCHIVOS DE ENTRADA NÚCLEO DEL CLIENTE INTERFAZ GRÁFICA ESTADO DEL PROCESAMIENTO LLAMADAS REITERADAS
  • 36. Aplicación distribuida • Módulo de procesamiento. Procesa las unidades de trabajo y retornar un resultado computacional. • Módulo de presentación gráfica. Muestra información gráfica relevante al procesamiento. SISTEMA CLIENTE APLICACIÓN DSITRIBUIDA MODULO DE PROCESAMIENTO ARCHIVOS DE SALIDA ARCHIVOS DE ENTRADA APLICACIÓN DISTRIBUIDA MODULO DE PRESENTACIÓN GRÁFICA PROCESAMIENTO DE DATOS LIBRERÍAS GRÁFICAS estado
  • 37. Interfaz gráfica • Encargada de hacer reiteradas llamadas al núcleo cliente para comenzar su ejecución, y llevar control sobre las acciones que éste se encuentre realizando en la estación de trabajo. • Instalada en el cliente.
  • 39. Servidor Procesador Intel Pentium 4 2.80GHz Socket 478 Bus 800 MHz Placa base Intel D875 PBZLK P4 RAID 800 MHz, LAN Gigabit Memoria RAM 1024 MB DDR PC 400 KINGSTON Disco Duro 120 GB Serial ATA 7200 RPM Video NVIDIA GFORCE 5200 128 MB CDROM CDR 52x Periféricos Unidad Floppy 3 1!2” , Mouse óptico, Teclado Multimedia Monitor Samsung 15” PRECIO 1355 USD (a) Servidor (b) Vista interna del servidor.
  • 40. Instalación y configuración del servidor • Sistema operativo Fedora Core 2. • Agente de transporte de correo Sendmail. • Servidor Web Apache II. • PHP. • Base de datos MySQL, PHPMySQL. • Python, PyXML. • Configuración del Firewall, permitir conexiones con el Internet a través de los puertos: 22 para ssh, 80 para htttp y 443 para https; conexiones locales con los puertos 3306 para MySQL y 21 para sendmail. • IP pública 200.10.150.5 y dominio supercomp.cti.espol.edu.ec. • Configurado para que salga la Internet a través de la red del CTI.
  • 41. Instalación y configuración de BOINC • Versión 3.04. • Archivos fuentes compilados y luego instalados en el servidor. • Se modificaron los archivos util.inc y countries.inc de la carpeta html. • Conectado a la red del CTI.
  • 42. Instalación y configuración de los clientes • Sistema cliente BOINC versión 3.05. • El cliente fue instalado en cada una de las cinco computadoras cliente de prueba, tres máquinas de ellas pertenecientes al Centro de Tecnologías de Información (CTI) y dos máquinas particulares conectadas al Internet. • Registro de clientes al sistema distribuido. • Configuración de clientes para procesar las unidades de trabajo usando los ciclos ociosos. RED DEL CTI SERVIDOR SWITCH Principal CTI CAPA 3 SWITCH 3Com Gigabit Ethernet BACKBONE DE LA ESPOL 200.10.150.5 Internet Portátil Rea Sagitario Computadora de escritorio Titán
  • 43. IMPLEMENTACIÓN DE UNA APLICACIÓN DISTRIBUIDA
  • 44. Objetivos de la implementación • Probar el funcionamiento del sistema. • Evaluar el rendimiento y escalabilidad de nuestro sistema distribuido. Esta aplicación distribuida, además de ser paralelizable, debía buscar la solución a un problema de gran desafío computacional, el cual una computadora común no lo pueda realizar o le tome demasiado tiempo. Descifrado (desencriptación) de claves RSA
  • 45. Descifrado de claves RSA • Obtener una clave pública a través de una clave privada. • Basado en la dificultad de factorizar un valor extremadamente grande (64, 128 dígitos, por ejemplo), generado por la multiplicación de dos números primos grandes. • Según la Criba de Eratóstenes, los factores de un número n, para un número n = p x q • tenemos que o bien p< o bien q < n n n
  • 46. Solución • El objetivo general consiste en dividir raíz de n en rangos mucho más pequeños y manejables en términos de procesamiento, los cuales serán asignados a los clientes. • A cada cliente se le asignará un rango de búsqueda diferente. • El cliente realizará divisiones sucesivas sólo dentro de su rango asignado. n
  • 47. Generador de archivos de entrada • Denominado rsasplitter. • Divide raíz de n en rangos y genera los archivos de entrada para la aplicación. • Estos archivos de entrada serán convertidos en unidades de trabajo. n: Representa el valor n de la clave pública, un numero de N dígitos. ninicial: Rango desde donde se comienza a hacer las divisiones sucesivas. nfinal: Rango hasta donde se realizan las divisiones sucesivas. n ninicial nfinal
  • 48. Aplicación distribuida • Denominada rsadecrypt. • Lee un archivo de entrada. • Busca un factor primo en el rango especificado en el archivo de entrada, usando el método de divisiones sucesivas (fuerza bruta). • Se detiene si encontró el factor primo o si termino de buscar dentro del rango. • Genera un resultado computacional. nfinal: Hasta que numero llegó el cliente a procesar. estado: El estado del resultado, 1 si logró encontrar la clave privada, 0 si no encontró. nfinal estado
  • 49. Aplicación distribuida – Parte gráfica • Muestra datos relevantes del procesamient o que le cliente esta realizando. • Mostrado como protector de pantalla
  • 50. Interacción entre los componentes CLIENTE rsadecrypt rsadecrypt Rango_1 Out_1 TRABAJO A REALIZAR RESULTADO Rango_1 rsadecript SERVIDOR SERVIDOR DE DATOS rsadecrypt TRABAJO A REALIZAR Rango_1 Rango_2 Rango_n ... ADMINISTRADOR Rango_1 Rango_2 ….. Rango_n Número n dividido en rangos más pequeños Clave pública (n,e) RESULTADOS Out_1 Búsqueda de un resultado cuyo estado sea igual a 1 Out_1 rsasplitter Protector de pantalla Clave buscada Rango Porcentaje completado Logo ESPOL
  • 52. Pruebas de funcionamiento • Aplicación distribuida para descifrado de claves RSA, para encontrar los factores primos a partir del valor N de la clave pública. • Se crearon los archivos de entrada para la aplicación distribuida -- rsasplitter
  • 53. Datos para N = 12 dígitos • Valor de N = 700933509247. • Factor primo encontrado= 760531. • Unidades de Trabajo creadas = 5. Rango #1: Rango #2: Rango #3: Desde: 1 Hasta: 167443 Desde: 167444 Hasta: 334886 Desde: 334887 Hasta: 502329 Rango #4: Rango #5: Desde: 502330 Hasta: 669772 Desde: 669773 Hasta: 837217
  • 54. Datos para N = 14 dígitos • Valor de N = 37095613506571. • Factor primo encontrado = 5393053. • Unidades de Trabajo creadas = 5. Rango #1: Rango #2: Rango #3: Desde: 1 Hasta: 1218123 Desde: 1218124 Hasta: 2436246 Desde: 2436247 Hasta: 3654369 Rango #4: Rango #5: Desde: 3654370 Hasta: 4872492 Desde: 4872493 Hasta: 6090616
  • 55. Pruebas de funcionamiento • Se crean las plantillas tanto para las unidades de trabajo, como para los resultados. • Se observa como cada cliente se comunicó con el servidor de tareas, descargó las unidades de trabajo e inició el procesamiento.
  • 56. Resultados • Se utilizó como parámetro el tiempo (en minutos) necesario para la obtención del factor primo del número N. • Se incrementó de 1 a 5 el número de computadoras clientes para la distribución del procesamiento.
  • 57. Resultados para N = 12 dígitos 70 38 4 19 22 80 70 60 50 40 30 20 10 0 1 2 3 4 5 Computadoras Tiempo(min) Número de Computadoras Num/seg Tiempo en minutos 1 181 70 2 333 38 3 576 22 4 667 19 5 3168 4
  • 58. Resultados para N = 14 dígitos Número de Computadoras Num/seg Tiempo en minutos 1 345 260 2 642 140 3 1123 80 4 1284 70 5 4730 19 260 140 70 19 80 300 250 200 150 100 50 0 1 2 3 4 5 Computadoras Tiempo(min)
  • 59. Resultados • Los resultados reflejan la alta escalabilidad del sistema de procesamiento distribuido. • Al incrementar el número de computadoras, se disminuye el tiempo en obtener el resultado. • Tomar en consideración, que el número de unidades a ser creadas debe ser mayor o igual al número de clientes en el sistema.
  • 60. No distribuido Computadora N=12 N=14 Num/seg T (min) Num/seg T (min) 1 186 68 360 249 2 186 68 393 258 3 218 64 413 230 4 232 60 457 222 5 101 138 201 505 Promedio 192 80 374 292 La ejecución se realizó en 5 distintas computadoras independientes
  • 61. Aceleración y Eficiencia Aceleración (Speedup) # Computadoras N=12 N=14 1 0.78 0.75 2 1.44 1.41 3 2.48 2.46 4 2.88 2.81 5 13.65 10.35 ACELERACIÓN (SPEEDUP) 15 10 5 0 1 2 3 4 5 Computadoras Tiempo SpeedUp N=12 SpeedUp N=14 EFICIENCIA 300% 250% 200% 150% 100% 50% 0% 1 2 3 4 5 Eficiencia N=12 Computadoras Eficiencia N=14
  • 64. Conclusiones • Es una alternativa efectiva dentro de la ESPOL, con costos de instalación y operación bajos, y resultados bastante aceptables. • Puede superar en poder de procesamiento a sistemas de súper cómputo convencionales. • Es altamente escalable. • Protector de pantalla con muchos gráficos, hace que disminuya su capacidad de procesamiento.
  • 65. Conclusiones • La aceleración también depende del tiempo de comunicación con las estaciones. • Se pueden aprovechar de manera efectiva los ciclos ociosos de las computadoras, logrando contribuir en la búsqueda de soluciones a grandes problemas de procesamiento.
  • 66. Recomendaciones • Promocionar a nivel interno y externo el servicio de computación distribuida desarrollado. • Brindar cursos o talleres de la computación distribuida a los investigadores y profesores de la ESPOL. • Promover a la comunidad científica de la ESPOL e investigadores externos, el desarrollo de aplicaciones distribuidas
  • 67. Recomendaciones • Incorporar dentro de la materia “Sistemas Distribuidos” el concepto de Computación Voluntaria y desarrollar proyectos utilizando la plataforma BOINC. • Proponer la creación a futuro de un centro de alto rendimiento computacional.