UNIVERSIDAD TECNOLÓGICA METROPOLITANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN E INFORMÁTICA TRACEGRAPH Y SUS NUMEROSAS UTILIDADES Arquitectura de Computadores ASIGNATURA PROFESOR ALUMNO CARRERA Arquitectura de Computadores : Marta Rojas Estay : Fabián Camacho Loyola : Ingeniería Civil en Computación: INTRODUCCIÓN Hoy en día las simulaciones de redes, ya sean alámbricas, inalámbricas, satelitales e incluso sensoriales, han crecido enormemente, en uso, utilidad, calidad, funcionalidad y en sobretodo, han crecido en su cada ves mas perfecta simulación de la realidad, considerando ya casi todos los parámetros que influyen en la implementación de una red real. Para poder interpretar los resultados de las simulaciones realizadas, se hace necesario el uso de una herramienta fiable, de fácil uso y que nos brinde una gran cantidad de opciones o funcionalidades. Es por esto que el informe a continuación, nos introduce y nos da conocer la potente herramienta TraceGraph, la cual creo que será la herramienta a utilizar en el futuro por todos los investigadores y estudiantes o cualquier persona que se interese en el tema. ¿QUE ES TRACEGRAPH? TraceGraph es una herramienta libre, para graficar y especialmente analizar las trazas generadas (*.tr) por el simulador de redes NS-2. Para el funcionamiento de Tracegraph es necesario tener instalado en nuestro sistema, ciertas librerías de Matlab, cuya instalación se explica en este informe y un convertidor de archivos .tr (generados por ns-2) a archivos tracegraph, el cual es llamado TraceConverter. La gran problemática que ha existido en el ámbito de analizar los resultados generados por las simulaciones, es que los graficadores utilizados (como Xgraph), no soportan en su estado natural los distintos tipos de trazas existentes, sin existir tampoco ningún tipo de convertidor de formato de archivos automático. Los tipos de traza que TraceGraph soporta, grafica y analiza son los siguientes: Wired. satellite. wireless (old and new trace). new trace. wired-wireless. Actualmente TraceGraph existe en su versión 2.05, pero en su pagina oficial también existe al versión compilada 2.02 (versión con la cual se realizó este informe). CARACTERÍSTICAS DE TRACEGRAPH Las características más importantes de Tracegraph 2.02 son las siguientes: Posibilidad de exportar la información a cientos de tipos de gráficos 2D. Posibilidad de exportar la información a 12 tipos de gráficos 3D. Algunos de los gráficos y análisis que se pueden realizar son: - Retrasos (delays). Variaciones (jitters). Tiempos de procesamiento. Round Trip Times (RTT). Throughput (productividad). Estadísticas. Etc. Es posible obtener información y estadísticas de la red entera y relaciones entre nodos (links). Los resultados pueden ser guardados como archivos de textos, gráficos, imágenes JPG y TIFF. Toda traza que posea 2 o 3 columnas de información puede ser graficada. Información en los ejes X,Y y Z, como mínimos, máximos, desviaciones, etc. Todo script al ser procesado es analizado automáticamente. INSTALACION DE TRACEGRAPH Quizás es la parte de TraceGraph que trae más complicaciones. Cabe mencionar que es posible instalar TraceGraph tanto en Linux, como en Windows (a continuación se detallarán ambas). Por otro lado, es posible que en la instalación, de Linux sobretodo, existan problemas de no reconocimiento de librerías Matlab, las cuales deberán ser instaladas y direccionadas en la Path de Linux antes de comenzar a utilizar TraceGraph. Para descargar TraceGraph visite en su página oficial: www.tracegraph.com/download.html Los pasos a seguir para la correcta instalación de TraceGraph son los siguientes: Instalación en Linux 1) Descargue de la página www.tracegraph.com/download.html el tracegraph , el mglinstaller (instalador de librerías matlab) y el traceconverter. No olvide seleccionar la opción Linux. 2) Descomprima instrucciones: - los archivos descargados con las siguientes tar -xvzf tracegraph202.linux.tar.gz gunzip mglinstaller.gz 3) Al descomprimir el archivo mglinstaller.gz obtendrán el archivo mglinstaller Recomendación: pegue el archivo mglinstaller en la carpeta tracegraph202 recién generada. 4) Instale las librerías matlab con el comando: ./mglinstaller Nota: recuerde tener copiado previamente el archivo mslinstaller en la carpeta tracegraph202, para que al ejecutar el comando d instalación de las librerías, lo instale en la carpeta de tracegraph202. 5) Después de tener instaladas las librerías matlab, edite la path (en la consola digite. gedit ~/.bashrc) 6) Agregue la linea: LD_LIBRARY_PATH /home/usuario/Escritorio/tracegraph202/bin/glnx86/ (usuario = su nombre de usuario ; Escritorio: si es que la carpeta tracegraph esta en el escritorio) Ejemplo de mi PATH con ns-2 2.29 (para correr mannasim) y tracegraph. # LD_LIBRARY_PATH OTCL_LIB=/home/fabian/ns-allinone-2.29/otcl-1.11 NS2_LIB=/home/fabian/ns-allinone-2.29/lib X11_LIB=/usr/X11R6/lib USR_LOCAL_LIB=/usr/local/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LI B export LD_LIBRARY_PATH=/home/fabian/Escritorio/tracegraph202/bin/glnx86/:$LD_LIBRARY_PATH # TCL_LIBRARY TCL_LIB=/home/fabian/ns-allinone-2.29/tcl8.4.11/library USR_LIB=/usr/lib export TCL_LIBRARY=$TCL_LIB:$USR_LIB # PATH XGRAPH=/home/fabian/ns-allinone-2.29/bin:/home/fabian/ns-allinone2.29/tcl8.4.11/unix:/home/fabian/ns-allinone-2.29/tk8.4.11/unix NS=/home/fabian/ns-allinone-2.29/ns-2.29/ NAM=/home/fabian/ns-allinone-2.29/nam-1.11/ PATH=$PATH:$XGRAPH:$NS:$NAM 7) Actualice la Path: en la consola ejecute el comando source ~/.bashrc Posibles problemas: ./trgraph: error while loading shared libraries: libmwsgl.so: cannot open shared object file: No such file or directory . (Verificar que esta bien escrita la ruta de acceso a las librerías matlab en la Path) ERROR: Failed to find MEX-File on path : cellfun.mexglx. Es el error que mas me ocurrió y mas dolores de cabeza trae, pero después de investigar es bien simple de solucionar. Lo que hay que hacer es: en la consola escribe: locate cellfun.mexglx . locate cellfun.mexglx Con esto conseguiremos el directorio del archivo cellfun.mexglx. Después ingrese a ese directorio y copie el archivo cellfun.mexglx y péguelo en su carpeta tracegraph202. Problema solucionado. Instalación en Windows: 1) Descargue de la página www.tracegraph.com/download.html el tracegraph , el mglinstaller (instalador de librerías matlab) y el traceconverter. No olvide seleccionar la opción Windows. 2) Descomprima el archivo tracegraph202.zip en algún directorio. 3) Ejecute el mglinstaller.exe, y cuando le pregunte por el directorio ingrese el directorio en el que descomprimió tracegraph202 4) Agregue a la Path de Windows (Botón derecho del Mouse en Mi PC/ propiedades/opciones avanzadas/ variables de entorno y seleccione Path en variables del sistema) la dirección: \lugar donde descomprimió tracegraph202\bin\win32 5) Instalación Lista. UTILIDADES DE TRACEGRAPH Hoy en día simulación de redes es una increíble utilidad para saber con exactitud el desempeño y el comportamiento de casi todos los tipos de redes (LAN, Gíreles, Satelitales, Sensoriales, etc.). Ahora bien los simuladores existentes en el mercado pueden llegar a ser muy complejos, ya sea por su uso, su sintaxis para crear simulaciones, y su interpretación de los resultados. Es por esto que se hace necesario el uso de una herramienta que nos facilite la interpretación y el entendimiento de los resultados generados por las simulaciones; TraceGraph se encarga de esto. Cabe mencionar que TraceGraph trabaja en conjunto con NS-2 (simulador de redes), por lo cual todo lo explicado a continuación tiene que ver netamente solamente con ellos. TraceGraph trabaja “leyendo” e interpretando los datos ( trazas .tr) generadas por las simulaciones de NS-2. Por lo cual podemos deducir que como NS-2 puede simular redes como LAN, WAN, Satelitales, Sensoriales (con parche mannasim), etc; es posible realizar un análisis de las trazas de todos estos tipos de redes. Por otro lado, como NS-2 genera distintos tipos de trazas (new trace, old trace, etc) Existe también un convertidor de archivos .tr especial para TraceGraph (TraceConverter, que se explicará mas adelante), el cual simplifica la sintaxis de las trazas para hacerlas entendibles por TraceGraph. Una potente y novedosa utilidad que le he encontrado a TraceGraph es que ya que es posible trabajar en conjunto con Mannasim y su ScripGeneratorTool, es posible generar una enormidad de análisis con respecto a las nuevas redes colaborativas y con las redes sensoriales WSN. Otra utilidad es que gracias a TraceGraph podemos ver y analizar las diferencias que existen, en ámbitos de calidad de servicio (qos), entre los distintos tipos de protocolos de redes. Esto gracias a la gran variedad de análisis que ofrece TraceGraph, como por ejemplo Throughput (productividad), paquetes perdidos, paquetes enviados, paquetes recibidos, etc. COMO UTILIZAR TRACEGRAPH Cabe mencionar que todo lo descrito a continuación, fue realizado en el sistema operativo Linux Ubuntu 8.04, por lo cual, las la explicación y uso que se le hará a las funcionalidades de TraceGraph son todas realizadas en Linux. Para ejecutar TraceGraph en Linux los pasos a seguir son los siguientes: 1) Abrir una consola del sistema, e ingresar a la carpeta en la cual esta tracegraph202. Ej: cd /home/fabian/Escritorio/tracegraph202/ 2) Ejecutar el siguiente comando: ./trgraph Al ejecutar TraceGraph aparecerán 3 ventanas: Ventana Principal: es la ventana en la cual podemos cargar, guardar, y modificar los parámetros de la traza, como por ejemplo, nodo a analizar tipo de paquete, etc. En una primera instancia esta ventana nos muestra un pequeño resumen de la traza que generó la simulación previa en NS2, como por ejemplo tiempo de inicio y tiempo de término. Ventana de Gráficos: en esta ventana, después de haber cargado la traza en la ventana principal, podemos seleccionar que aspecto queremos analizar y en que forma de grafico (2D, 3D o Histograma). Ventana de Información de la Red: esta ventana presenta un completo resumen acerca de todos aspectos de la simulación realizada en NS-2, como por ejemplo información de los nodos, tiempos de procesamiento de RTT, promedio de nodos intermedios en la red, etc. Principales funcionalidades del análisis de gráficos de TraceGraph Como ya he mencionado antes, existe una infinidad de gráficos los cuales podemos analizar y de ellos obtener valiosa información. Algunos de los más importantes son: - Sumas acumuladas (de paquetes, de nodos, de bytes generados, etc.). - Throughputs (de paquetes, bits, nodos; recibidos, enviados, perdidos, generados, etc.). - Relaciones entre: - Tamaño de Paquetes vs Throughput mínimo - Tamaño de Paquetes vs Throughput máximo - Tamaño de Paquetes vs Throughput promedio - Throughput vs RTT - Throughput vs Jitter - Throughput vs tiempo procesamiento - Tiempo del evento vs Retrasos - Etc. - Variaciones (Jitter) Estos son solo algunos de la gran cantidad de gráficos de análisis (2D) que es posible realizar en TraceGraph. Ahora bien, estos gráficos muestran toda esta información solo por un nodo a la vez, por lo TraceGraph nos permite analizar todo esto incluyendo todos los nodos participantes en la simulación. Esto se hace gracias a los gráficos 3D. Ejemplo Este ejemplo es para demostrar que podemos unir varias utilidades para tracegraph y que sus resultados, son perfectamente graficables por TraceGraph Estas imágenes fueron obtenidas de la simulación de una red WSN, la cual fue generada gracias al parche mannasim para ns-2 2.29, en conjunto con su útil herramienta scriptGeneratorTool, la cual nos permite modificar a nuestro gusto todos los aspectos y parámetros que influyen en la simulación de una red WSN. Nota: lo descrito anteriormente se puede realizar siguiendo los pasos que se presentan en la página: http://www.mannasim.dcc.ufmg.br/ Al cargar la traza generada por ns-2 en conjunto con mannasim en nuestro TraceGraph, la ventana principal nos muestra la siguiente información: Se puede ver que se graficará todo lo relacionado con el nodo 0, que el tiempo de simulación es de 2 segundos (perfectamente ajustable en scriptGeneratorTool de mannasim), y otros datos que respectan a la simulación en si. A continuación podemos ver el gráfico 2D de Throuhgput (productividad) de generación de paquetes vs tiempo de simulación Y uno de los puntos que mas información directa brindará a los usuarios de TraceGraph, es la ventana de información de la red. Como dijimos anteriormente, en los gráficos 3D es posible ver la información gráficamente solo por un nodo a la vez, sin embargo si se desea ver el grafico del comportamiento de todos los nodos participantes en la simulación de la red, escogemos la opción de gráfico 3D. CONCLUSIÓN Podemos concluir que TraceGraph es una herramienta maravillosa, con la cual podemos realizar un sin fin de análisis de una manera muy sencilla, ahorrándonos tiempo y dolores de cabeza. Personalmente creo que TraceGraph es la herramienta que reemplazara a graficadores como Xgraph, en ámbitos de investigación y enseñanza, por su baja facilidad de generación de todo tipo de gráficos, por lo cual este informe se enfocó primero en enseñar bien las maneras para instalar TraceGraph y las soluciones a todos los problemas posibles que puedan aparecer durante esta. Recomiendo mucho que para los estudios de simulaciones de las redes de todo tipo se utilice esta herramienta, ya que teniendo los conocimientos básicos de interpretación de gráficos y además si es posible teniendo conocimiento acerca de la teoría de las redes, el beneficio que brindará a los estudiantes es inmenso, debido a la gran facilidad de uso, y a su gran cantidad de análisis que nos brinda TraceGraph.