[en] 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.

[es] 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.