Resumen:
|
[EN] Current multicore systems implement various hardware prefetchers since prefetching can significantly
hide the huge main memory latencies. However, memory bandwidth is a scarce resource which
becomes critical with ...[+]
[EN] Current multicore systems implement various hardware prefetchers since prefetching can significantly
hide the huge main memory latencies. However, memory bandwidth is a scarce resource which
becomes critical with the increasing core count.Therefore, prefetchers must smartly regulate their
aggressiveness to make an efficient use of this shared resource.
Recent research has proposed to throttle up/down the prefetcher aggressiveness level, considering
local and global system information gathered at the memory controller. However, in memory-hungry
mixes, keeping active the prefetchers even with the lowest aggressiveness can, in some cases,
damage the system performance and increase the energy consumption.
This Master's Thesis proposes the ADP prefetcher, which, unlike previous proposals, turns off the
prefetcher in specific cores
when no local benefits are expected or it is adversely interfering with other cores. The key component
of ADP is the activation policy which must foresee when prefetching will be beneficial without the
prefetcher being active. The proposed policies are orthogonal to the prefetcher mechanism
implemented in the microprocessor.
The proposed prefetcher improves both performance and energy with respect to a state-of-the-art
adaptive prefetcher in both memory-bandwidth hungry workloads and in workloads combining memory
hungry with CPU intensive applications. Compared to a state-of-the-art prefetcher, the proposal almost
halves the increase in main memory requests caused by prefetching while improving the performance
by 4.46% on average, and with significantly less DRAM energy consumption
[-]
[ES] Los sistemas multinúcleo actuales implementan diversos mecanismos hardware de prebúsqueda ya
que contribuyen a ocultar significativamente las enormes latencias de los accesos a memoria principal.
No obstante, el ...[+]
[ES] Los sistemas multinúcleo actuales implementan diversos mecanismos hardware de prebúsqueda ya
que contribuyen a ocultar significativamente las enormes latencias de los accesos a memoria principal.
No obstante, el ancho de banda de memoria es un recurso escaso, y se convierte en un importante
cuello de botella al incrementarse el número de núcleos. Por lo tanto, los mecanismos de prebúsqueda
deben regular inteligentemente su agresividad para hacer un uso eficiente de este recurso compartido.
Otro trabajos recientes proponen mecanismos para ajustar el nivel de agresividad del mecanismo de
prebúsqueda, teniendo en cuenta tanto información local al núcleo como información global obtenida
del controlador de memoria. Sin embargo, en cargas con un gran número de accesos a memoria,
mantener activa la prebúsqueda, incluso con los niveles de agresividad más bajos puede, en algunos
casos, perjudicar el rendimiento del sistema y aumentar el consumo de energía.
Esta Tesina de Master propone ADP, un novedoso mecanismo de prebúsqueda adaptativa que, a
diferencia de propuestas anteriores, se desactiva en los núcleos en los que no se espera que mejore
las prestaciones o en los que está interfiriendo negativamente con otros núcleos. El componente clave
de ADP es la política de activación, ya que debe de ser capaz de prever cuando la prebúsqueda va a
aportar beneficios sin que esta esté activa. Además, las políticas propuestas son ortogonales al
mecanismo de prebúsqueda implementado en el microprocesador.
El mecanismo de prebúsqueda propuesto mejora tanto el rendimiento como el consumo de energía
con respecto al estado del arte en prebúsqueda adaptativa, tanto en cargas con un alto consumo de
ancho de banda como en cargas que combinan este tipo de cargas con otras que hacen un uso
intensivo de la CPU. En comparación, nuestra propuesta reduce prácticamente a la mitad el aumento
en los accesos a memoria principal causados por la prebúsqueda. Esta mejora en el rendimiento, de
media un 4,46 \%, se consigue con una significativa reducción en el consumo de energía.
(español)
Current multicore systems implement various hardware prefetchers since prefetching can significantly
hide the huge main memory latencies. However, memory bandwidth is a scarce resource which
becomes critical with the increasing core count.Therefore, prefetchers must smartly regulate their
aggressiveness to make an efficient use of this shared resource.
[-]
|