Cargando Eventos

Título: Análisis del comportamiento de aplicaciones paralelas y
distribuidas por medio de técnicas de emulación de redes

Director: Esteban Mocskos

Jurados:
– Markus Rampp (Max Planck Computing and Data Facility, Germany)
– José Ignacio Alvarez-Hamelin (CONICET/Facultad de Ingenería, Universidad de Buenos Aires)
– Cristian Mateos Diaz (CONICET/Universidad Nacional del Centro de la Provincia De Buenos Aires, Argentina)

Resumen:

Una gran cantidad de aplicaciones paralelas se encuentran programadas utilizando Message Passing Interface (MPI), que funciona como un standard de facto en el mundo de la computación de alto rendimiento.
Por otro lado, los paradigmas de Fog y Edge Computing emergieron como una solución a las limitaciones del modelo de Cloud Computing para servir a un gran cantidad de dispositivos eficientemente.
Estos últimos cuentan con un poder de cómputo inutilizado que puede ser explotado para ejecutar aplicaciones paralelas.
Nos focalizamos en la siguiente pregunta: ¿Pueden las aplicaciones basadas en MPI aprovechar el incremento en los recursos disponibles distribuidamente por medio del paradigma de Fog/Edge Computing?
En este trabajo presentamos SherlockFog, una herramienta para experimentar con aplicaciones paralelas en configuraciones de red arbitrarias. Proponemos una metodología para estudiar si es factible ejecutar aplicaciones paralelas en entornos Fog/Edge.
Estudiamos la indicidencia del empeoramiento de las condiciones de red en diversos benchmarks de la versión paralela MPI de los NAS Parallel Benchmarks en topologías de red fog.
Adicionalmente, proponemos una extensión a SherlockFog que hace uso de la herramienta Intel Pin para inyectar intrucciones de manera paramétrica en el código a ser estudiado, imitando procesadores con diferente poder de cómputo.
Analizamos el impacto de nodos más lentos en dos benchmarks y mostramos que la incidencia de un único nodo más lento es significativa, pero incorporar nodos adicionales más lentos no acentúa dicha degradación.
El efecto de la latencia también es analizado, pero su impacto depende del patrón de comunicación del código evaluado.
Finalmente, mostramos que nuestra metodología también es aplicable al estudio de otros tipos de sistemas distribuidos.
Utilizando uno de los clientes oficiales de la criptomoneda Ethereum, reemplazamos el algoritmo de minado con un modelo simulado construido en base a las características estadísticas del proceso real, e instrumentamos el cliente para capturar eventos de red de interés. Propusimos escenarios de red de diversos tamaños en los cuales estudiamos la incidencia del tiempo de target en la presencia de forks en la red. Mostramos que, incluso utilizando una plataforma experimental de hardware convencional, es posible utilizar nuestra herramienta para estudiar la dinámica de sistemas basados en blockchain de hasta cientos de nodos.