Título:
|
Optimización y paralelización de un algoritmo para evaluar la fiabilidad "all-terminal" de una red; Optimizing and parallelization of an algorithm for assessing the all-terminal reliability of a network; Optimització i paral·lelització d'un algorisme per avaluar la fiabilitat all-terminal d'una xarxa
|
Autor/a:
|
Pascual Martínez, Maria Silvia
|
Otros autores:
|
Otero Calviño, Beatriz; Rocco S., Claudio M. |
Abstract:
|
[ANGLÈS] One of the most important parameters of any network-based system is its reliability. The allterminal reliability of a network is defined as the probability that the network can provide flow exchange among all the points which define the network. This exchange may be carried out by one or more paths which have a probability of operation. To evaluate the performance of the network, it is essential to estimate its reliability. Furthermore, this information may also be useful not only to improve existing networks, but also for designing new ones. To estimate the reliability of the network is necessary to evaluate several network realizations using a simulation process. In order to improve the estimate of the reliability is also important to increase the number of evaluated realizations, and thus increase the simulation time. In this work we improved, developed and evaluated several implementations, sequential and parallel, to enhance the performance of an application that estimates the all-terminal reliability of different networks. Firstly the sequential version of the program is optimized using different software techniques. The introduction of these software optimizations has achieved a simulation time reduction between 24.9 % and 37.5 % with the ifort compiler and about 65 % with the gfortran compiler compared to the original version of the code. With respect to the parallel implementations performed by using MPI and OpenMP, the results show that the MPI implementation improves simulation time by up to 78.5 % with ifort and up to 90 % with gfortran compared to the original version of the code. |
Abstract:
|
[CASTELLÀ] Uno de los parámetros más importantes de cualquier sistema basado en redes es su fiabilidad. La fiabilidad all-terminal de una red se define como la probabilidad de que esa red pueda realizar intercambio de flujo entre todos los puntos que definen esa red. Este intercambio de flujo puede realizarse por uno o varios caminos que tienen cierta probabilidad de funcionamiento. La evaluación de la fiabilidad permite cuantificar el desempeño de una red y puede resultar útil para mejorar el funcionamiento no solo el de una red ya existente sino también, para el diseño de nuevas redes. Sin embargo, la evaluación de la fiabilidad es un problema computacionalmente complejo. Por este motivo para su estimación es necesario evaluar, utilizando un proceso de simulación, varias realizaciones de la red. En la medida en que se requiera mejorar la estimación de la fiabilidad será necesario aumentar el número de realizaciones, y de esta forma, aumentar el tiempo de simulación. En este trabajo mejoramos un código utilizado para estimar la fiabilidad, proponemos y evaluamos diferentes implementaciones, secuenciales y paralelas, para mejorar el rendimiento de una aplicación que estima la fiabilidad all-terminal para una red dada. Primeramente, optimizamos la versión secuencial del programa utilizando diferentes técnicas software. Estas técnicas y el uso de los flags de compilación permitieron reducir los tiempos de simulación entre un 24.9 % y un 37.5 % con el compilador ifort y alrededor de un 65 % con el compilador gfortran respecto a la versión original del código. Con respecto a las implementaciones paralelas realizadas, utilizando MPI y OpenMP, los resultados muestran que para la implementación MPI mejora el tiempo de simulación hasta un 78.5 % respecto a la versión original del código con el compilador ifort y hasta un 90 % con gfortran. |
Abstract:
|
[CATALÀ] Un dels paràmetres més importants de qualsevol sistema basat en xarxes és la seva fiabilitat. La fiabilitat all-terminal d'una xarxa es defineix com la probabilitat que aquesta xarxa pugui realitzar intercanvi de flux entre tots els punts que la defineixen. Aquest intercanvi de flux pot realitzar-se per un o diversos camins que tenen certa probabilitat de funcionament. L'avaluació de la fiabilitat permet quantificar l'acompliment d'una xarxa i pot resultar útil per millorar el funcionament no solament d'una xarxa ja existent sinó també per al disseny de noves xarxes. No obstant això, l'avaluació de la fiabilitat és un problema computacionalment complex. Per aquest motiu per a la seva estimació és necessari avaluar, utilitzant un procés de simulació, diverses realitzacions de la xarxa. En la mesura en què es requereixi millorar l'estimació de la fiabilitat serà necessari augmentar el nombre de realitzacions, i d'aquesta forma, augmentar el temps de simulació. En aquest treball millorem un codi utilitzat per estimar la fiabilitat, proposem i avaluem diferents implementacions, seqüencials i paral·leles, per millorar el rendiment d'una aplicació que estima la fiabilitat all-terminal per una xarxa donada. Primerament, optimitzem la versió seqüencial del programa utilitzant diferents tècniques software. La introducció d'aquestes optimitzacions va permetre reduir els temps de simulació entre un 24.9 % i un 37.5 % amb el compilador ifort i al voltant d'un 65 % amb el compilador gfortran respecte la versió original del codi. Pel que fa a les implementacions paral·leles realitzades, utilitzant MPI i OpenMP, els resultats mostren que per a la implementació MPI millora el temps de simulació fins un 78.5 % respecte a la versió original del codi amb el compilador ifort i fins a un 90 % amb gfortran. |
Materia(s):
|
-Àrees temàtiques de la UPC::Enginyeria de la telecomunicació::Telemàtica i xarxes d'ordinadors -Computer networks--Evaluation -Reliability (Engineering) -MPI -Parallel algorithms -Client-server architecture -Reliability -Distributed processing -Parallel programming -Algoritmos paralelos -Arquitectura cliente-servidor -Fiabilidad -Programación distribuida -Programación paralela -Algorismes paral·lels -Arquitectura client-servidor (Informàtica) -Fiabilitat -Processament distribuït de dades -Programació en paral·lel (Informàtica) -Ordinadors, Xarxes d'--Avaluació -Fiabilitat (Enginyeria) |
Derechos:
|
Attribution-NonCommercial-NoDerivs 3.0 Spain
http://creativecommons.org/licenses/by-nc-nd/3.0/es/ |
Tipo de documento:
|
Trabajo/Proyecto fin de carrera |
Editor:
|
Universitat Politècnica de Catalunya
|
Compartir:
|
|