Software para arquitecturas basadas en procesadores de múltiples núcleos : detección automática de errores de concurrencia

Detalles Bibliográficos
Autor Principal: Frati, Fernando Emmanuel
Otros autores o Colaboradores: De Giusti, Armando Eduardo (Director/a), Naiouf, Ricardo Marcelo (Codirector/a), Olcoz Herrero, Katzalín (Codirector/a), Piñuel Moreno, Luis (Asesor/a científico/a)
Formato: Tesis
Lengua:español
Datos de publicación: 2015
Temas:
Acceso en línea:http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=1201
Consultar en el Cátalogo
Descripción Física:149 p. : il. + 1 CD-ROM

MARC

LEADER 00000nam a2200000 a 4500
003 AR-LpUFIB
005 20250423183204.0
008 230201s2015 ag a om 000 0 spa d
024 8 |a DIF-M7081  |b 7266  |z DIF006464 
040 |a AR-LpUFIB  |b spa  |c AR-LpUFIB 
100 1 |a Frati, Fernando Emmanuel  |9 45379 
245 1 0 |a Software para arquitecturas basadas en procesadores de múltiples núcleos :  |b detección automática de errores de concurrencia 
260 |c 2015 
300 |a 149 p. :  |b il. +  |e 1 CD-ROM 
502 |a  Tesis (Doctorado en Ciencias Informáticas) - Universidad Nacional de La Plata. Facultad de Informática, 2015. 
505 0 |a  1. Introducción -- 1.1. Fundamentación -- 1.2. Objetivos y metodología -- 1.3. Contribuciones -- 1.4. Organización de la tesis -- 2. Marco teórico: errores de programación -- 2.1. Introducción -- 2.2. Depuración de programas secuenciales -- 2.3. Programas concurrentes -- 2.4. Errores de concurrencia -- 2.4.1. Condiciones de carrera -- 2.4.2. Deadlock -- 2.4.3. Violación de orden -- 2.4.4. Violación de atomicidad simple -- 2.4.5. Violación de atomicidad multivariable -- 2.4.6. ¿Qué tan frecuentes son estos errores -- 2.5. Resumen -- 3. Caso de estudio: detección de violaciones de atomicidad -- 3.1. Introducción -- 3.2. Antecedentes -- 3.3. Método de análisis de interleavings -- 3.4. Implementación de AVIO -- 3.5. Resultados experimentales del capítulo -- 3.5.1. Plataforma de experimentación -- 3.5.2. Benchmarks -- 3.5.3. Capacidad de Detección de Errores -- 3.5.4. Análisis de Rendimiento -- 3.6. Resumen -- 4. Definición del problema -- 4.1. Introducción -- 4.2. Ejecución de programas concurrentes -- 4.2.1. Soporte hardware -- 4.2.2. Soporte software -- 4.2.3. Modelo de ejecución -- 4.3. Implementación de algoritmos de detección -- 4.3.1. Instrumentación -- 4.3.2. Extensiones hardware -- 4.4. Oportunidades de optimización -- 4.4.1. Overhead causado por la instrumentación -- 4.4.2. Hipótesis -- 4.5. Resumen -- 5. Eventos de hardware -- 5.1. Introducción -- 5.2. Contadores hardware -- 5.2.1. Soporte hardware -- 5.2.2. Soporte software -- 5.3. Uso de los contadores -- 5.4. Identificar el evento que se desea detectar -- 5.4.1. Protocolo de coherencia cache -- 5.5. Microbenchmarks representativos de eventos -- 5.6. Resultados experimentales del capítulo -- 5.6.1. Validación del evento candidato -- 5.6.2. Indicador de accesos inseguros -- 5.6.3. Patrones de accesos a datos compartidos -- 5.6.4. Frecuencia y distribución de interleavings no serializables -- 5.7. Resumen -- 6. Instrumentación dinámica guiada por eventos -- 6.1. Introducción -- 6.2. Muestreo de eventos -- 6.3. Modelo Simple -- 6.4. Modelo para aplicaciones paralelas -- 6.4.1. Gestor de Interrupciones (GI) -- 6.4.2. Programa Objeto de Estudio (POE) -- 6.5. Modelo de Instrumentación Dinámica Guiado por Eventos -- 6.5.1. Activado de la rutina de análisis -- 6.5.2. Desactivado de la rutina de análisis -- 6.5.3. Aspectos de diseño -- 6.6. Resumen -- 7. Experimentación y resultados obtenidos -- 7.1. Introducción -- 7.2. AVIO Consciente de Compartición -- 7.2.1. Detalles de implementación -- 7.3. Configuración experimental -- 7.3.1. Elección de un intervalo de muestreo óptimo -- 7.4. Rendimiento -- 7.5. Capacidad de detección -- 7.5.1. Prueba de detección en los kernels -- 7.5.2. Prueba de detección en aplicaciones reales -- 7.5.3. Comparación de bugs informados entre AVIO y AVIO-SA -- 7.6. Discusión -- 7.6.1. Interleavings detectados como criterio de comparación -- 7.6.2. Comparación basada en re-ejecución -- 7.7. Resumen -- 8. Conclusiones y Líneas de Trabajo Futuras -- 8.1. Líneas futuras -- Apéndices -- A. Detección de condiciones de carrera -- A.1. Happens before -- A.2. Lockset -- B. Benchmaks -- B.1. Introducción -- B.1.1. Benchmarks para evaluar capacidad de detección -- B.1.2. Benchmarks para desempeño -- C. SPLASH-2: distribución de eventos -- C.1. Introducción -- D. SPLASH-2: distribución de interleavings -- D.1. Introducción -- E. Apache -- E.1. Introducción -- E.2. Compilación e instalación -- E.3. Configuración -- E.4. Ejecución 
650 4 |a ARQUITECTURA DE SOFTWARE  |9 43181 
650 4 |a PROGRAMACIÓN CONCURRENTE  |9 43705 
650 4 |a ARQUITECTURAS MULTICORE  |9 47152 
650 4 |a SISTEMAS CONCURRENTES  |9 42887 
700 1 |a De Giusti, Armando Eduardo ,  |e Director/a  |9 43366 
700 1 |a Naiouf, Ricardo Marcelo ,  |e Codirector/a  |9 43376 
700 1 |a Olcoz Herrero, Katzalín ,  |e Codirector/a  |9 45381 
700 1 |a Piñuel Moreno, Luis ,  |e Asesor/a científico/a  |9 45382 
856 4 0 |u  http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=1201 
942 |c TE 
952 |0 0  |1 0  |4 0  |6 TES_1529  |7 1  |9 81499  |a DIF  |b DIF  |d 2025-03-11  |i DIF-04457  |l 0  |o TES 15/29   |p DIF-04457  |r 2025-03-11 17:04:32  |w 2025-03-11  |x  CD 812   |y TE 
952 |0 0  |1 0  |4 0  |7 3  |8 BD  |9 81500  |a DIF  |b DIF  |d 2025-03-11  |l 0  |r 2025-03-11 17:04:32  |u http://sedici.unlp.edu.ar/handle/10915/44643  |w 2025-03-11  |y TE 
952 |0 0  |1 0  |4 0  |7 3  |8 BD  |9 81501  |a DIF  |b DIF  |d 2025-03-11  |l 0  |r 2025-03-11 17:04:32  |u http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=1201  |w 2025-03-11  |y TE 
999 |c 56243  |d 56243