Publicado el 5 de Mayo del 2017
986 visualizaciones desde el 5 de Mayo del 2017
2,1 MB
82 paginas
Creado hace 11a (25/06/2012)
INSTITUTO TECNOLÓGICO DE LA PAZ
DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN
MAESTRÍA EN SISTEMAS COMPUTACIONALES
ANÁLISIS DE TRÁFICO DE DATOS EN SISTEMAS DISTRIBUIDOS
TESIS
PARA OBTENER EL GRADO DE
MAESTRO EN SISTEMAS COMPUTACIONALES
PRESENTA:
ANTONIO MEZA ARELLANO
DIRECTOR DE TESIS:
MC. JESÚS ANTONIO CASTRO
LA PAZ, BAJA CALIFORNIA SUR, MÉXICO, 18 JUNIO DE 2012
Resumen.
La implementación de la computación paralela en sistemas distribuidos basados
en clústeres, tiene como objetivo ejecutar de una manera rápida los procesos de
información masiva, para lo cual es necesario el intercambio de datos en tiempo
real, así como satisfacer los requerimientos de los usuarios.
El presente trabajo aborda el análisis de tráfico en un clúster, utilizando algoritmos
genéticos y optimización por enjambre de partículas. Para tal efecto, se efectuaron
experimentos en un clúster compuesto por 16 computadoras, usando la librería
PVM y el analizador de protocolos Wireshark.
El análisis de tráfico en redes es importante debido a que permite diagnosticar el
funcionamiento de las mismas y cuantificar el volumen de datos que requieren
transferir las aplicaciones que se ejecutan en estos ambientes distribuidos.
Abstract.
The objective of parallel computing implementation is to speedup massive data
processing execution. In order to achieve a good speedup, it becomes necessary
to exchange data in real time, and also satisfy the user requirements.
The present work deals with data traffic analysis on clusters, using genetic
algorithms and particle swarm optimization. Experiments on a 16 computers cluster
where carried out using PVM library and “Wireshark” protocol analyzer.
Data traffic analysis is of high importance since it allows to diagnose the networks
performance and to quantify the data volume required by different applications
implemented over those networks.
INDICE
1. Introducción. __________________________________________________ 1
1.2. Objetivo general. ______________________________________________ 2
1.3. Objetivos específicos. _________________________________________ 2
2. Procesamiento paralelo. _________________________________________ 3
2.1. Clasificación de los sistemas paralelos. ___________________________ 3
2.1.1. Paralelismo implícito. ____________________________________________________________ 3
2.1.2. Paralelismo explicito. ____________________________________________________________ 5
2.2. Taxonomía de Flynn. __________________________________________ 6
2.3. Sistemas de Memoria Distribuida. ________________________________ 7
2.4. Sistemas de Memoria Compartida. _______________________________ 7
2.5. Sistemas de Memoria Compartida Distribuida. _____________________ 8
2.6. Sistemas Distribuidos. _________________________________________ 8
2.6.1. Características clave de los sistemas distribuidos. _____________________________________ 9
3. Bibliotecas de computación paralela. _____________________________ 12
3.1. PVM (Parallel Virtual Machine; Máquina Virtual Paralela). ___________ 12
3.1.1. Características de PVM. _________________________________________________________ 13
3.1.2. Arquitectura PVM. _____________________________________________________________ 13
3.1.3. Funciones básicas. ______________________________________________________________ 14
3.1.4. Demonio PVM. ________________________________________________________________ 21
4. Redes de computadoras. ________________________________________ 22
4.1. Clúster. _____________________________________________________ 22
4.1.1. Componentes de un clúster. ______________________________________________________ 23
4.1.2. TCP/IP (Transmission Control Protocol/ Internet protocol; Protocolo de Control de
Transmisión/Protocolo de Internet) _____________________________________________________ 25
4.1.3. UDP (User Datagram Protocol ;Protocolo de Datagrama de Usuario) _____________________ 26
4.1.4. ARP (Address Resolution Protocol ; Protocolo de Resolución de Direcciones ) ______________ 27
4.2. Sockets. ____________________________________________________ 27
5. Analizador de protocolos Wireshark. ______________________________ 29
i
5.1. Analizador de protocolos. _____________________________________ 29
5.2. Wireshark. __________________________________________________ 29
5.2.1. Características. ________________________________________________________________ 29
5.3. GUI (Graphical User Interface; Interfaz Gráfica del Usuario) _________ 31
6. Computación Evolutiva. ________________________________________ 40
6.1. Características de los Algoritmos Paralelos. ______________________ 41
6.2 Algoritmos utilizados en las pruebas. ____________________________ 42
6.2.1. Algoritmos Genéticos. ___________________________________________________________ 42
6.2.2. Optimización por Enjambres de Partículas. __________________________________________ 44
7. Desarrollo. ___________________________________________________ 47
7.1. Adaptación de PVM. __________________________________________ 48
7.2. Procedimiento para utilizar PVM en un clúster. ____________________ 48
7.3. Software para el análisis de tráfico de datos. _____________________ 48
7.4. Algoritmos de prueba. ________________________________________ 48
7.5. Implementación de los algoritmos. ______________________________ 49
7.6. Captura de paquetes de datos. _________________________________ 49
7.7. Conversaciones. ____________________________________________ 49
8. Resultados. ___________________________________________________ 50
8.1. Algoritmo Genético Distribuido con migración controlada por el proceso
maestro (ag –dm) ________________________________________________ 50
8.2. Algoritmo Genético Distribuido con Migración en anillo (ag –dm-4.0) _ 53
8.3. Optimización por enjambre de partículas mediante vecindarios ______ 57
9. Conclusiones y recomendaciones. _______________________________ 61
10. Fuentes bibliográficas. ________________________________________ 63
11. Anexos. _____________________________________________________ 65
11.1. Anexo 1. ___________________________________________________ 65
ii
11.2. Anexo 2. ___________________________________________________ 66
11.3. Anexo 3. ___________________________________________________ 71
11.4. Anexo 4. ___________________________________________________ 72
11.5. Anexo 5. ___________________________________________________ 74
iii
1. Introducción.
La necesidad de procesar de una manera rápida grandes cantidades de
información y el intercambio de datos en tiempo real, entre otros, han impulsado el
desarrollo de la computación paralela.
La computación paralela utiliza simultáneamente elementos de procesamiento
múltiple dividiendo el problema en partes independientes, de manera que cada
elemento de procesamiento ejecute paralelamente su parte. Entre los diferentes
elementos de procesamiento se pueden incluir recursos tales como: una
computadora con múltiples procesadores,
red distribuida y hardware
especializado.
En el presente trabajo se analiza el tráfico de datos en una red distribuida y se
compara la eficiencia de tres algoritmos relacionados con la transmisión de
paquetes y el tiempo de transmisión (Genético Distribuido con Migración
Controlada por el Proceso Maestro, Genético Distribuido con Migración en Anillo y
Optimización por Enjambre de Partículas Mediante Vecindarios)
1
1.2. Objetivo general.
Analizar el tráfico de datos en un sistema distribuido por medio de un analizador
de protocolos, para así elaborar un reporte de la transmisión de paquetes que se
generan en los algoritmos.
1.3. Objetivos específicos.
Analizar el flujo de datos producido en la red mediante un muestreo,
ejecutando varios algoritmos.
Informar si se produce pérdida de datos en
la comunicación y
sincronización de la red.
Elaborar un reporte detallado con la información que el análisis del tráfico
de los datos obtenidos.
2
2. Procesamiento paralelo.
El procesamiento paralelo se define como el conjunto de procesos que pueden
comunicar y compartir elementos para resolver rápidamente problemas con alta
complejidad computacional [1]. A diferencia de la computación lineal, en lugar de
procesar las instrucciones en forma secuencial, la computación paralela puede
ejecutar instrucciones de manera concurrente.
Unas de las principales características del procesamiento en paralelo es reducir el
tiempo de ejecución que sea más eficiente, por lo anterior es utilizado para
implementar aplicaciones paralelas que hagan buen uso de los procesadores,
identificando los fragmentos de programa que pueden paralelizarse.
2.1. Clasificación de los sistemas paralelos.
Estos sistemas puedes dividirse en dos tipos:
Paralelismo implícito o de bajo nivel.
Paralelismo explícito o de alto nivel
2.1.1. Paralelismo implícito.
Las técnicas para el paralelismo de bajo nivel están enfocadas a reforzar el nivel
de concurrencia en el CPU. Esto da una apariencia de un sistema con un
procesador (Figura 2.1.)
Algunos ejemplos de estas técnicas son:
Segmentación: La ejecución de cada una de las instrucciones es dividida en
etapas, por lo cual cada instrucción puede ejecuta
Comentarios de: ANÁLISIS DE TRÁFICO DE DATOS EN SISTEMAS DISTRIBUIDOS (0)
No hay comentarios