Los puntos clave no están disponibles para este artículo en este momento.
Las aplicaciones multihilo desplegadas contienen muchas competencias porque estas aplicaciones son difíciles de escribir, probar y depurar. Peor aún, el número de competencias en aplicaciones desplegadas puede aumentar drásticamente debido al aumento del hardware multinúcleo y la inmadurez de los detectores de competencias actuales. LOOM es un sistema de solución en vivo diseñado para eludir rápidamente y de manera segura las competencias de las aplicaciones en tiempo de ejecución. LOOM proporciona un lenguaje flexible y seguro para que los desarrolladores escriban filtros de ejecución que sincronizan explícitamente el código. Luego utiliza un algoritmo de evacuación para instalar de manera segura los filtros en aplicaciones en vivo y evitar competencias. Reduce su sobrecarga de rendimiento utilizando instrumentación híbrida que combina instrumentación estática y dinámica. Evaluamos LOOM en nueve competencias reales de un conjunto diverso de seis aplicaciones, incluyendo MySQL y Apache. Nuestros resultados muestran que (1) LOOM puede corregir de manera segura todas las competencias evaluadas de manera oportuna, aumentando así la disponibilidad de la aplicación; (2) LOOM incurre en poca sobrecarga de rendimiento; (3) LOOM escala bien con el número de hilos de la aplicación; y (4) LOOM es fácil de usar.
Wu et al. (Mon,) estudiaron esta cuestión.