Resumen:
|
[ES] La memoria caché de último nivel (LLC) desempeña un papel clave en el rendimiento final del sistema en los procesadores multinúcleo actuales al reducir significativamente la cantidad de accesos a memoria principal. ...[+]
[ES] La memoria caché de último nivel (LLC) desempeña un papel clave en el rendimiento final del sistema en los procesadores multinúcleo actuales al reducir significativamente la cantidad de accesos a memoria principal. Sin embargo, la interferencia entre aplicaciones producida en este recurso compartido puede llevar al sistema a situaciones no deseadas, tanto de rendimiento como de equidad (fairness).
Recientemente se han presentado propuestas para procesadores comerciales que han abordado con éxito problemas como la inequidad (unfairness) o han logrado mejorar el tiempo de ejecución (turnaround time o TT). Sin embargo, estas propuestas deben enfrentarse con la problemática de mantener el rendimiento del sistema en términos de instrucciones por ciclo (IPC), lo que constituye todo un reto.
Este Trabajo Fin de Máster aborda el desafío de reducir el TT manteniendo (o incluso mejorando) el IPC, haciendo una gestión eficiente del espacio de la LLC. Las dos contribuciones principales de este trabajo son las siguientes. En primer lugar, se caracterizan las aplicaciones considerando su comportamiento en la LLC (rendimiento, reuso y ocupación) y el impacto en el rendimiento final del sistema (IPC). Este estudio i) identifica nuevos comportamientos de aplicaciones respecto a la LLC que no se han identificado en trabajos previos y que pueden tener un impacto adverso en las prestaciones finales, y ii) concluye que las aplicaciones pueden experimentar diferentes comportamientos respecto a la LLC a lo largo de su ejecución, que coinciden con las diferentes fases en las que cambia el IPC. En segundo lugar, en base a este estudio, se presenta una propuesta de particionado de caché, Critical-Phase Aware Partitioning Approach (CPA), que extiende una propuesta nuestra previa, Critical-Aware Partitioning Approach (CA). CPA considera los nuevos comportamientos de caché identificados con el fin de maximizar la ganancia de prestaciones. La ejecución del algoritmo CPA está ligada a los cambios de fase, con lo que el espacio de LLC se redistribuye solo cuando se detecta un cambio de fase en alguna de las aplicaciones en ejecución que resulta en un cambio de comportamiento.
Los resultados experimentales muestran que CPA logra obtener mejoras significativas en el TT (más de un 40 % en algunas mezclas de aplicaciones) y el promedio normalizado del tiempo de ejecución (ANTT), mientras se mantiene el IPC o incluso se mejora más de un 3 % en algunas mezclas. Además, los resultados muestran que comparado con Dunn, una propuesta de particionado de caché del estado del arte, CPA nunca pierde más de un 1.5 % en prestaciones (IPC) en las mezclas estudiadas. Dunn, en cambio, puede sufrir pérdidas de rendimiento de más de un 5 % en algunas mezclas.
[-]
[EN] The Last Level Cache (LLC) plays a key role in the final system performance of current multicore processors by significantly reducing the amount of main memory accesses. The inter-application interference at this ...[+]
[EN] The Last Level Cache (LLC) plays a key role in the final system performance of current multicore processors by significantly reducing the amount of main memory accesses. The inter-application interference at this shared resource, however, can lead the system to undesired situations regarding both performance and fairness.
Recent approaches using commercial processors have successfully addressed either fairness or turnaround time (TT). Nevertheless, these approaches must face sustaining system performance in terms of instructions per cycle (IPC), which is challenging.
This Master Thesis addresses the challenge of reducing the TT while sustaining (and even improving) the IPC by making an effective use of the LLC space. This work makes two main contributions. Firstly, applications are characterized considering the LLC behavior (cache performance, reuse and occupancy) and its impact on the system performance (IPC). This characterization i) identifies novel application behaviors regarding the LLC, not found in previous related works and that can adversely impact on the final performance, and ii) finds that applications may experience different LLC behaviors along their execution, and each behavior change matches with IPC phase changes. Secondly, based on this study, we propose the Critical-Phase Aware Partitioning Approach (CPA), which extends our previous work, the Critical-Aware Partitioning Approach (CA), to also consider the newly identified LLC behaviors in order to maximize the system performance. CPA is phase change driven, so cache space redistribution only happens when a phase change that results in a behavior change is detected in at least one of the applications concurrently running on the system.
Experimental results show that CPA achieves significant improvements in TT (more than 40% in some workloads) and in average normalized turnaround time (ANTT), while sustaining the IPC or even improving it by more than 3% in several mixes. In contrast, results show that compared to Dunn, a state-of-the-art cache partitioning approach, CPA never decreases performance (i.e. IPC) by more than 1.5% in the studied mixes. Dunn, however, decreases it by more than 5% in some mixes.
[-]
|