Sincronización del tiempo con TSC a nivel del kernel - Velasquez Quiroz, Juan Carlos; Romero, Fernando Luis; Tinetti, Fernando Gustavo (2014)
1.Introducción -- 1.1.Objetivo de la tesina -- 1.2.Estructura de la tesina -- 2.Descripción de dispositivos -- 2.1.Relojes Hardware -- 2.1.1.Reloj de Tiempo Real(RTC) -- 2.1.2.Time Stamp Counter(TSC) -- 2.1.3.Temporizador de Intervalos Programables(PIT) -- 2.1.4.Temporizador del LAPIC -- 2.1.4.1.Controlador de Interrupciones Programable(PIC) -- 2.1.4.2.Controlador de Interrupciones Programable Avanzado Local (LAPIC) -- 2.1.4.3.Detalles del temporizador del LAPIC -- 2.1.5.Temporizador de eventos de alta precisión (HPET) -- 2.1.6.Temporizador de Administración de Energía ACPI (ACPI PMT) -- 2.2.Conclusión -- 3.Estado del Arte: sincronización el Tiempo en Sistemas Distribuidos -- 3.1.Relojes Lógicos -- 3.1.1.Algoritmo de Lamport -- 3.2.Relojes Físicos -- 3.2.1.Algoritmos de sincronización de relojes físicos -- 3.2.1.1.Algoritmo de Cristian -- 3.2.1.2.Algoritmo de Berkeley -- 3.2.1.3.Algoritmo de Promediación -- 3.3.Conclusión -- 4.Estado del Arte: sincronización el Tiempo en Linux -- 4.2.Sincronización en ambientes multicore -- 4.3.Inconvenientes del TSC para obtener una hora sincronizada -- 4.3.1.Problemas del uso del rdtsc en PCs semi-modernas -- 4.3.2.Solución parcial al problema del TSC en PCs semi-modernas -- 4.3.3.Solución parcial al problema del TSC en PCs modernas: TSC Invariante -- 4.3.4.Implementación en varios procesadores -- 4.4.Arquitectura Linux para el Manejo del tiempo -- 4.4.1.El kernel mide el paso del tiempo en diferentes maneras -- 4.4.1.1.Estructura de datos para el tiempo -- 4.4.1.2.Obteniendo el actual tiempo del día (Get Time of Day) -- 4.4.2.Variables principales utilizadas en la arquitectura del manejo del tiempo -- 4.4.3.Características Generales del nuevo sistema del tiempo de Linux -- 4.4.3.1.Generic Time Of Day -- 4.4.3.1.1.Administración del origen de reloj -- 4.4.3.1.2.Sincronización de reloj -- 4.4.3.1.3.Representación del Time-of-Day -- 4.4.3.2.API clockevents -- 4.4.3.2.1.Análisis del antiguo sistema del tiempo -- 4.4.3.2.2.Modificación del sistema del tiempo(incorporación de una capa de abstracción) -- 4.4.3.2.3.Detalles del subsistema clockevents -- 4.4.4.Algunas consideraciones -- 4.5.Conclusión -- 5.Análisis de las funciones principales del subsistema del manejo del tiempo -- 5.1.Registro del notificador de marcas -- 5.2.Inicialización del subsistema de manejo del tiempo -- 5.3.Manejador de una interrupción temporizada -- 5.4.Llamada a la función gettimeofday() -- 6.Modelo de sincronización entre cores -- 6.1.Inconvenientes del TSC en arquitecturas multicore -- 6.2.Modelo de sincronización en microprocesadores sin característica constant tsc -- 6.2.1.Descripción general -- 6.2.2.Modelo simple de diseño básico del reloj de software -- 6.3.Un reloj mas fiel -- 6.3.1.Núcleo general -- 6.3.2.Generalizando la solución -- 6.3.2.1.Monoprocesador-Multicore e independiente de cambios de frecuencia e idles profundos -- 6.3.2.2.Monoprocesador con manejo de idles profundos -- 6.3.2.3.Monoprocesador, manejo de idles profundos y cambios de frecuencia -- 6.3.2.4.Multicore, manejo de idles profundos -- 6.3.2.5.Multicore, manejo de idles profundos y cambios de frecuencia -- 6.3.2.6.Multicore, manejo de idles profundos y cambios de Frecuencia (Solución final) -- 7.Pruebas de funcionamiento -- 7.1.Monoprocesador-Multicore e independiente de cambios de frecuencia e idles profundos -- 7.1.1.Prueba de funcionamiento general -- 7.2.Monoprocesador con manejo de idles profundos -- 7.2.1.Pruebas de funcionamiento generales -- 7.3.Multicore, manejo de idles profundos y cambios de frecuencia. Solución Final -- 7.3.1. Prueba de reloj -- 7.3.2. Prueba de sincronización a nivel de reloj -- 7.4.Beneficios del nuevo reloj -- 7.5. Comportamiento del Nuevo Reloj -- 7.6. Uso del Nuevo Reloj -- 8.Conclusiones y trabajo futuro -- 8.1.Conclusiones -- 8.2.Trabajo futuro
Tesina (Licenciatura en Sistemas) - Universidad Nacional de La Plata. Facultad de Informática, 2014
Keywords: SINCRONIZACIÓN; SISTEMAS OPERATIVOS; SISTEMAS DISTRIBUIDOS; LINUX; ARQUITECTURAS MULTICORE; manejo del tiempo en Linux; generic time of day; clockevents; time stamp counter; sincronización entre cores; sincronización de relojes en un sistema distribuido