67
DESARROLLADO X : HUAMANCHAO GOMEZ SIMEON

Computación distribuida y su aplicación tecnológic

Embed Size (px)

Citation preview

Page 1: Computación distribuida y su aplicación tecnológic

DESARROLLADO X :HUAMANCHAO GOMEZ SIMEON

Page 2: Computación distribuida y su aplicación tecnológic

Antecedentes. Problema y solución. Posibles alternativas. Diseño. Implementación. Pruebas y resultados. Demostración. Conclusiones y recomendaciones.

Page 3: Computación distribuida y su aplicación tecnológic

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.

Page 4: Computación distribuida y su aplicación tecnológic

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.

Page 5: Computación distribuida y su aplicación tecnológic

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.

Page 6: Computación distribuida y su aplicación tecnológic

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.

Page 7: Computación distribuida y su aplicación tecnológic

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.

Page 8: Computación distribuida y su aplicación tecnológic
Page 9: Computación distribuida y su aplicación tecnológic

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.

Page 10: Computación distribuida y su aplicación tecnológic

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.

Page 11: Computación distribuida y su aplicación tecnológic

En base a esta realidad, nace la idea de unir estos recursos informáticos, para formar una “Computadora Virtual” de gran capacidad de procesamiento.

Page 12: Computación distribuida y su aplicación tecnológic

Generar un sistema de computación distribuida queuse los ciclos ociosos de las computadoras enESPOL.

Proveer las herramientas necesarias, que permitanexplotar un sistema distribuido para su uso en lainvestigación y el desarrollo.

Desarrollar una aplicación que explote lascapacidades del supercomputador y demuestre susposibles usos en la investigación.

Page 13: Computación distribuida y su aplicación tecnológic

Dividir un problema en tareas más pequeñas ydistribuirlas 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.

Page 14: Computación distribuida y su aplicación tecnológic
Page 15: Computación distribuida y su aplicación tecnológic

Computadoras de alto rendimiento – más de2 millones dólares, 148 megaflops.

Supercomputadoras – más de 100 millonesdólares, 280.600 gigaflops.

Clusters de alto rendimiento – económico yescalable, 1.2 millones dólares, 350 gigaflops Clusters dedicados y no dedicados (computación

zombi).

Page 16: Computación distribuida y su aplicación tecnológic

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.

Page 17: Computación distribuida y su aplicación tecnológic

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.

Page 18: Computación distribuida y su aplicación tecnológic

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.

Page 19: Computación distribuida y su aplicación tecnológic
Page 20: Computación distribuida y su aplicación tecnológic

CLIENTE

APLICACIÓN

DISTRIBUIDA

1 1

TRABAJO

A REALIZARRESULTADO

1

1

APLICACIÓN

DISTRIBUIDA

SERVIDOR

APLICACIÓN

DISTRIBUIDA

TRABAJO A REALIZAR

1 2 3

RESULTADOS OBTENIDOS

1

Page 21: Computación distribuida y su aplicación tecnológic

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.

Page 22: Computación distribuida y su aplicación tecnológic

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.

Page 23: Computación distribuida y su aplicación tecnológic

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

Page 24: Computación distribuida y su aplicación tecnológic

Almacena información relevante del sistema tales como clientes (nodos), unidades de trabajo, resultados, aplicaciones, entre otros.

Page 25: Computación distribuida y su aplicación tecnológic

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

PROTOCOLO HTTP

XML

Page 26: Computación distribuida y su aplicación tecnológic

Almacena tanto los archivos entrada y archivos de salida de la aplicación distribuida.

SERVIDOR

USUARIO

SERVIDOR DE DATOSCLIENTE

ARCHIVOS DE ENTRADA

ARCHIVOS DE SALIDA

ARCHIVOS DE ENTRADA Y SALIDA PARA UNA

APLICACIÓN ESPECÍFICA

APLICACIÓN

PARA EL

ENVIO DE

RESULTADOS

XML

PROTOCOLO HTTP

01101

01011

01110

ejecutables

.lib

.dll

librerías imágenes

resultados

HTTP GET

EJECUTABLES Y ARCHIVOS

PETICIÓN DE ENVÍO

PROTOCOLO

PREDEFINIDO

RESPUESTA

unidades de

trabajo

Page 27: Computación distribuida y su aplicación tecnológic

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.

Page 28: Computación distribuida y su aplicación tecnológic

Componentes propios del sistema que nos ayudan aadministrar el sistema en su totalidad.

Suministrar controles para inicializar, detener,reiniciar y verificar el estatus del servidor.

Suministrar aplicaciones para facilitar laincorporación de aplicaciones distribuidas alsistema 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 eldisco.

Page 29: Computación distribuida y su aplicación tecnológic

SERVIDOR

SERVIDOR DE DATOS

ARCHIVOS DE ENTRADA

ARCHIVOS DE SALIDA

ARCHIVOS DE ENTRADA Y SALIDA PARA UNA APLICACIÓN ESPECÍFICA

01101

01011

01110

ejecutables

.lib .dll

librerías imágenes

resultados

COMPONENTES DE UNA APLICACIÓN

REPOSITORIO DE TRABAJO COMPUTACIONAL

UTILIDADES Y PROGRAMAS

GENERADOR DE TRABAJO

DE CÓMPUTO

CREADOR DE

UNIDADES DE TRABAJO

VALIDADOR

Unidades de

trabajo

PROBLEMA A SER

RESUELTO

PROBLEMA DE

GRAN DESAFÍODivide el problema

en varias tareas

más pequeñas

LE

CT

UR

A D

E T

RA

BA

JO

CO

MP

UT

AC

ION

AL

APLICACIÓN DISTRIBUIDA

01101

01011

01110

ejecutables

.lib .dll

librerías

imágenes

EN

VÍO

DE

UN

IDA

DE

S D

E T

RA

BA

JO

AC

TU

AL

IZA

CIÓ

N D

E L

A T

AB

LA

DE

UN

IDA

DE

S D

E

TR

AB

AJO

Y R

ES

UL

TA

DO

S

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

LL

AM

AD

AS

A P

RO

CE

SO

S

Agregar

aplicaciones junto

con sus archivos,

entre otras.VERIFICAR SI SE HA

ENCONTRADO LA

SOLUCIÓN

Page 30: Computación distribuida y su aplicación tecnológic

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

Page 31: Computación distribuida y su aplicación tecnológic

Encargado, entre otras cosas, de procesar las unidades de trabajo, y retornar al servidor los resultados computacionales obtenidos.

SISTEMA CLIENTE

USUARIO

INTERFAZ GRÁFICA

NÚCLEO DEL CLIENTE

APLICACIÓN DISTRIBUIDA

Page 32: Computación distribuida y su aplicación tecnológic

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.

Page 33: Computación distribuida y su aplicación tecnológic

Pide trabajo para procesar.

Descarga las unidades de trabajo.

Envía los resultados.

Notifica el procesamiento.

Pide más trabajo

CLIENTE

NÚCLEO

DEL

CLIENTE

SERVIDOR

SERVIDOR DE TAREAS

SERVIDOR DE DATOS

RESPUESTA

ARCHIVOS DE

ENTRADA

ARCHIVOS DE

SALIDA

PETICIÓN

HTTP GET

RESPUESTA

PETICIÓN DE

TRANSFERENCIA

APLICACIÓN DISTRIBUIDA

ARCHIVOS DE

SALIDA

ARCHIVOS DE

ENTRADA

TRANSFERENCIA

TRANSFERENCIA

Page 34: Computación distribuida y su aplicación tecnológic

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

LL

AM

AD

AS

RE

ITE

RA

DA

S

Page 35: Computación distribuida y su aplicación tecnológic

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

APLICACIÓN DISTRIBUIDA

ARCHIVOS DE

SALIDA

ARCHIVOS DE

ENTRADA

MODULO DE PRESENTACIÓN GRÁFICA

PROCESAMIENTO DE DATOS

LIBRERÍAS GRÁFICAS

estado

Page 36: Computación distribuida y su aplicación tecnológic

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.

Page 37: Computación distribuida y su aplicación tecnológic
Page 38: Computación distribuida y su aplicación tecnológic

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.

Page 39: Computación distribuida y su aplicación tecnológic

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.

Page 40: Computación distribuida y su aplicación tecnológic

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.

Page 41: Computación distribuida y su aplicación tecnológic

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

Page 42: Computación distribuida y su aplicación tecnológic
Page 43: Computación distribuida y su aplicación tecnológic

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

Page 44: Computación distribuida y su aplicación tecnológic

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

Page 45: Computación distribuida y su aplicación tecnológic

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

Page 46: Computación distribuida y su aplicación tecnológic

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

Page 47: Computación distribuida y su aplicación tecnológic

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

Page 48: Computación distribuida y su aplicación tecnológic

Muestra datos relevantes del procesamiento que le cliente esta realizando.

Mostrado como protector de pantalla

Page 49: Computación distribuida y su aplicación tecnológic

CLIENTE

rsadecrypt

rsadecrypt

Rango_1 Out_1

TRABAJO

A REALIZARRESULTADO

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

Page 50: Computación distribuida y su aplicación tecnológic
Page 51: Computación distribuida y su aplicación tecnológic

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

Page 52: Computación distribuida y su aplicación tecnológic

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

Page 53: Computación distribuida y su aplicación tecnológic

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

Page 54: Computación distribuida y su aplicación tecnológic

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.

Page 55: Computación distribuida y su aplicación tecnológic

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.

Page 56: Computación distribuida y su aplicación tecnológic

Número de

ComputadorasNum/seg

Tiempo en

minutos

1 181 70

2 333 38

3 576 22

4 667 19

5 3168 4

70

38

4

1922

0

10

20

30

40

50

60

70

80

1 2 3 4 5

Computadoras

Tie

mp

o(m

in)

Page 57: Computación distribuida y su aplicación tecnológic

Número de

ComputadorasNum/seg

Tiempo en

minutos

1 345 260

2 642 140

3 1123 80

4 1284 70

5 4730 19

260

140

70

19

80

0

50

100

150

200

250

300

1 2 3 4 5

Computadoras

Tie

mp

o(m

in)

Page 58: Computación distribuida y su aplicación tecnológic

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.

Page 59: Computación distribuida y su aplicación tecnológic

ComputadoraN=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

Page 60: Computación distribuida y su aplicación tecnológic

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)

0

5

10

15

1 2 3 4 5

Computadoras

Tie

mp

o

SpeedUp N=12

SpeedUp N=14

EFICIENCIA

0%

50%

100%

150%

200%

250%

300%

1 2 3 4 5

ComputadorasEficiencia N=12

Eficiencia N=14

Page 61: Computación distribuida y su aplicación tecnológic
Page 62: Computación distribuida y su aplicación tecnológic
Page 63: Computación distribuida y su aplicación tecnológic

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.

Page 64: Computación distribuida y su aplicación tecnológic

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.

Page 65: Computación distribuida y su aplicación tecnológic

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

Page 66: Computación distribuida y su aplicación tecnológic
Page 67: Computación distribuida y su aplicación tecnológic