SlideShare a Scribd company logo
1 of 67
“COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA PARA DESARROLLADO  X :  HUAMANCHAO  GOMEZ SIMEON
Agenda Antecedentes. Problema y solución. Posibles alternativas. Diseño. Implementación.  Pruebas y resultados. Demostración. Conclusiones y recomendaciones.
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
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.
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 de datos Almacena tanto los archivos entrada y archivos de salida de la aplicación distribuida.
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 Web Interfase Web para el administrador. interfase Web para los usuarios
Diseño del cliente Encargado, entre otras cosas, de procesar las unidades de trabajo, y retornar al servidor los resultados computacionales obtenidos.
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 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.
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.
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 (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.incde 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.
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 <
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.
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.
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.
Aplicación distribuida – Parte gráfica Muestra datos relevantes del procesamiento que le cliente esta realizando. Mostrado como protector de pantalla
Interacción entre los componentes
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.
Datos para N = 14 dígitos Valor de N = 37095613506571. Factor primo encontrado = 5393053. Unidades de Trabajo creadas = 5.
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
Resultados para N = 14 dígitos
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 La ejecución se realizó en 5 distintas computadoras independientes
Aceleración y Eficiencia
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
PREGUNTAS
GRACIASANALISTA  SIEMON HUAMANCHAO GOMEZ

More Related Content

What's hot (16)

Sistemas operativos de red
Sistemas operativos  de redSistemas operativos  de red
Sistemas operativos de red
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
sistemas operativos 2
sistemas operativos 2sistemas operativos 2
sistemas operativos 2
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
844819974 x
844819974 x844819974 x
844819974 x
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
S.O
S.OS.O
S.O
 
Sistemas operativos distribuidos linux
Sistemas operativos distribuidos linuxSistemas operativos distribuidos linux
Sistemas operativos distribuidos linux
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Jacinto 1
Jacinto 1Jacinto 1
Jacinto 1
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Camilo
CamiloCamilo
Camilo
 
Tipos de sistemas distribuidos.
Tipos de sistemas distribuidos.Tipos de sistemas distribuidos.
Tipos de sistemas distribuidos.
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Notas bd distribuidas
Notas bd distribuidasNotas bd distribuidas
Notas bd distribuidas
 

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

Similar to Computación distribuida y su aplicación tecnológic (20)

7984
7984 7984
7984
 
7984
79847984
7984
 
7984
79847984
7984
 
tema1 clase 1
tema1 clase 1tema1 clase 1
tema1 clase 1
 
7984
79847984
7984
 
7984
79847984
7984
 
7984
79847984
7984
 
7984
79847984
7984
 
7984
79847984
7984
 
7984
79847984
7984
 
7984
79847984
7984
 
COMPUTACION AVANZADA
COMPUTACION AVANZADACOMPUTACION AVANZADA
COMPUTACION AVANZADA
 
7984
79847984
7984
 
COMPUTACION AVANZADA
COMPUTACION AVANZADACOMPUTACION AVANZADA
COMPUTACION AVANZADA
 
Computación Avanzada
Computación AvanzadaComputación Avanzada
Computación Avanzada
 
Computacion Avanzada
Computacion AvanzadaComputacion Avanzada
Computacion Avanzada
 
7984
79847984
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.ppt
 
Yaribeth tendencia
Yaribeth tendenciaYaribeth tendencia
Yaribeth tendencia
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 

More from simeonhuamanchao

More from simeonhuamanchao (10)

Tema servlets
Tema servletsTema servlets
Tema servlets
 
Modelado de datos
Modelado de datosModelado de datos
Modelado de datos
 
Modelado de datos
Modelado de datosModelado de datos
Modelado de datos
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
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
 
Desarrollo de los computadores
Desarrollo de los computadoresDesarrollo de los computadores
Desarrollo de los computadores
 
Sistema.inventario@hotmail.com
Sistema.inventario@hotmail.comSistema.inventario@hotmail.com
Sistema.inventario@hotmail.com
 

Recently uploaded

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxsisimosolorzano
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSYadi Campos
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 

Recently uploaded (20)

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 

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

  • 1. “COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA PARA DESARROLLADO X : HUAMANCHAO GOMEZ SIMEON
  • 2. Agenda Antecedentes. Problema y solución. Posibles alternativas. Diseño. Implementación. Pruebas y resultados. Demostración. Conclusiones y recomendaciones.
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 9. 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.
  • 10. ¿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.
  • 11. 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.
  • 12. 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.
  • 13. 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.
  • 15. 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).
  • 16. 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.
  • 17. 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.
  • 18. 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 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.
  • 22. 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.
  • 23. Diseño del servidor Base de datos. Servidor de tareas. Servidor de datos. Servidor Web. Utilidades y programas. Componentes propios de una aplicación.
  • 24. Base de datos Almacena información relevante del sistema tales como clientes (nodos), unidades de trabajo, resultados, aplicaciones, entre otros.
  • 25. 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.
  • 26. Servidor de datos Almacena tanto los archivos entrada y archivos de salida de la aplicación distribuida.
  • 27. 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.
  • 28. 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.
  • 29. Interacción entre los componentes
  • 30. Servidor Web Interfase Web para el administrador. interfase Web para los usuarios
  • 31. Diseño del cliente Encargado, entre otras cosas, de procesar las unidades de trabajo, y retornar al servidor los resultados computacionales obtenidos.
  • 32. 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.
  • 33. Núcleo del cliente Pide trabajo para procesar. Descarga las unidades de trabajo. Envía los resultados. Notifica el procesamiento. Pide más trabajo
  • 34. Aplicación distribuida Encargada de procesar las unidades de trabajo provenientes del servidor de tareas. Utiliza los archivos de entrada. Genera archivos de salida.
  • 35. 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.
  • 36. 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.
  • 38. Servidor (a) Servidor (b) Vista interna del servidor.
  • 39. 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.
  • 40. 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.incde la carpeta html. Conectado a la red del CTI.
  • 41. 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.
  • 42. IMPLEMENTACIÓN DE UNA APLICACIÓN DISTRIBUIDA
  • 43. 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
  • 44. 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 <
  • 45. 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.
  • 46. 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.
  • 47. 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.
  • 48. Aplicación distribuida – Parte gráfica Muestra datos relevantes del procesamiento que le cliente esta realizando. Mostrado como protector de pantalla
  • 49. Interacción entre los componentes
  • 51. 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
  • 52. Datos para N = 12 dígitos Valor de N = 700933509247. Factor primo encontrado= 760531. Unidades de Trabajo creadas = 5.
  • 53. Datos para N = 14 dígitos Valor de N = 37095613506571. Factor primo encontrado = 5393053. Unidades de Trabajo creadas = 5.
  • 54. 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.
  • 55. 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.
  • 56. Resultados para N = 12 dígitos
  • 57. Resultados para N = 14 dígitos
  • 58. 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.
  • 59. No distribuido La ejecución se realizó en 5 distintas computadoras independientes
  • 63. 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.
  • 64. 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.
  • 65. 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. GRACIASANALISTA SIEMON HUAMANCHAO GOMEZ