Resumen:
|
[EN]
Real-time systems support a high variety of applications with hard real-time (HRT) constraints or soft (i.e. non-strict) real-time (SRT) constraints. Systems observing HRT constraints must guarantee execution time ...[+]
[EN]
Real-time systems support a high variety of applications with hard real-time (HRT) constraints or soft (i.e. non-strict) real-time (SRT) constraints. Systems observing HRT constraints must guarantee execution time bounds for tasks with mandatory deadlines and usually do not require from complex processors. In contrast, applications with relaxed time constraints do not cause a system failure when missing a deadline, which just affects their quality of service. Examples of SRT applications are video encoding and decoding, which are becoming ubiquitous in our lifes. Unlike HRT applications, the computational requirements of SRT applications requires from complex microarchitectural techniques such as Simultaneous Multithreading (SMT). Unfortunately, unpredictability rises in SMT processors due to intra-core interference, which needs to be addressed in order to use SMT processors in real time systems. The goal of this work is to help make the system more predictable by means of thread to core allocation strategies, which in turn will help improve the performance. These strategies are mainly based on metrics concerning the L1 data cache bandwidth of the tasks, since it has been proved to be strongly related with the processor performance. Three strategies have been devised and evaluated. An important issue to carry out on this topic is the design of specific workloads to check the system behavior. To this end, a workload generator considering real-time parameters has been developed, which is also a key contribution of this work. In summary, this work makes two main contributions, i) we have devised and evaluated three thread-to-core allocation strategies for SRT systems and ii) we have designed and implemented an SRT workload generator. The experiments have been carried out on a system with an Intel Xeon E5645 processor. Experimental results show that the proposed L1 cache bandwidth aware Thread to Core Allocation policy allows performance enhancements.
[-]
Los sistemas de tiempo real dan cabida a una gran variedad de aplicaciones con restricciones de tiempo real "hard" (HRT) o "soft" (SRT). Los sistemas con restricciones HRT deben garantizar ciertos límites temporales para ...[+]
Los sistemas de tiempo real dan cabida a una gran variedad de aplicaciones con restricciones de tiempo real "hard" (HRT) o "soft" (SRT). Los sistemas con restricciones HRT deben garantizar ciertos límites temporales para tareas con plazos obligatorios y normalmente no requieren procesadores complejos. Por otra parte, las aplicaciones con restricciones menos estrictas no provocan fallos en el sistema al perder un plazo, únicamente afecta a la calidad de servicio. Ejemplos de estas últimas son la codificación y decodificación de vídeo. Al contrario que las aplicaciones HRT, los requisitos computacionales de las aplicaciones SRT requieren de técnicas microarquitecturales complejas tales como Simultaneous Multithreading (SMT). Sin embargo, existe cierta impredecibilidad en los procesadores SMT causada por la interferencia entre núcleos, que será necesario tratar para poder utilizar procesadores SMT en sistemas de tiempo real.
El objetivo de este trabajo es intentar hacer los sistemas más predecibles a través de técnicas de ubicación de procesos en núcleos, que además mejorarán el rendimiento. Estas estrategias están principalmente basadas en medidas del ancho de banda de la caché de datos de L1, ya que se ha demostrado que está estrechamente relacionado con el rendimiento del procesador. Se han ideado y evaluado cuatro estrategias. Un asunto importante para desarrollar este tema es el diseño de cargas de trabajo específicas para comprobar el comportamiento del sistema. Para ello se ha desarrollado un generador de cargas que considera parámetros de tiempo real, por lo que también es una contribución clave en este trabajo. En resumen, este trabajo hace dos contribuciones principales,
i) hemos diseñado y evaluado cuatro estrategias de ubicación de procesos en núcleos para sistemas SRT y ii) hemos diseñado e implementado un generador de cargas SRT.
Los experimentos se han llevado a cabo en un sistema con un Intel Xeon E5645 y los resultados experimentales muestran que la política propuesta centrada en el ancho de banda de la caché de L1 permite mejorar el rendimiento.
[-]
[CA]
Els sistemes de temps real donen suports a una gran varietat d’aplicacions amb restriccions de temps real hard (HRT) o soft (SRT). Els sistemes amb restriccions HRT hi han de garantir els límits temporals per a les ...[+]
[CA]
Els sistemes de temps real donen suports a una gran varietat d’aplicacions amb restriccions de temps real hard (HRT) o soft (SRT). Els sistemes amb restriccions HRT hi han de garantir els límits temporals per a les tasques amb terminis obligatoris i normalment no requereixen processadors complexos. D’altra banda, les aplicacions amb restriccions menys estrictes no provoquen fallades en el sistema per perdre un termini, únicament afecta la qualitat del servei. Exemple d’aquestes són la codificació i descodificació de vídeo. Al contrari que les aplicacions HRT, els requisits computacionals de les aplicacions SRT requereixen tècniques micro arquitecturals complexes, com ara Simultaneous Multithreading (SMT). No obstant això, hi ha certa impredictibilitat en els processadors SMT causada per la interferència entre els nuclis, que serà necessari tractar per a poder utilitzar processadors SMT en temps real. L’objectiu d’aquest treball és intentar fer els sistemes més predictibles a través de tècniques d’ubicació de processos en nuclis, que a més a més, milloraran el rendiment. Aquestes estratègies estan basades principalment en mesures de l’ampli de banda de la catxe de dades de L1, ja que s’ha demostrat que està molt relacionat amb el rendiment del processador. S’han dissenyat i avaluat tres estratègies. Un assumpte important a desenvolupar en aquest tema és el disseny de càrregues de treball específiques per a comprovar el comportament del sistema. Per a aquest fi, s’ha desenvolupat un generador de càrregues que considera paràmetres de temps real, per la qual cosa, també és una contribució clau en aquest treball. En resum, aquest treball fa dues contribucions principals, i) hem dissenyat i avaluat tres estratègies d’ubicació de processos en nuclis per a sistemes SRT i ii) hem dissenyat i implementat un generador de càrregues SRT. Els experiments s’han portat a terme en un sistema amb un Intel Xeon E5645 i els resultats experimentals mostren que la política proposada centrada en l’ampli de banda de la catxe de L1 permet millorar el rendiment.
[-]
|