30.07.2015 Views

Actas JP2011 - Universidad de La Laguna

Actas JP2011 - Universidad de La Laguna

Actas JP2011 - Universidad de La Laguna

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Actas</strong> XXII Jornadas <strong>de</strong> Paralelismo (<strong>JP2011</strong>) , <strong>La</strong> <strong>La</strong>guna, Tenerife, 7-9 septiembre 2011ques recorren la pila sin ser utilizados <strong>de</strong> nuevo ycuando se requieren ya han sido reemplazados. Porúltimo, LRU fuerza que un bloque tenga que llegarhasta la última posición para ser la víctima <strong>de</strong> reemplazo.Esto pue<strong>de</strong> afectar a las prestaciones <strong>de</strong>bido aque, como los resultados experimentales mostrarán,muchos bloques almacenados en L2 no vuelven a serutilizados <strong>de</strong> nuevo. Por ejemplo, en una cache <strong>de</strong>16 vías, un bloque que <strong>de</strong>ja la posición MRU y novuelve a ser referenciado, no será la víctima hastaque se hayan completado quince accesos a bloquesmapeados en el mismo conjunto. Esto significa queotros bloques más útiles pue<strong>de</strong>n ser elegidos comovíctima y por tanto, <strong>de</strong>gradar las prestaciones. Algunostrabajos <strong>de</strong> investigación actuales han atacadoeste problema prediciendo cuando un bloque pue<strong>de</strong>ser candidato a reemplazo antes <strong>de</strong> que llegue a laposición LRU [5] [6]. Otros trabajos manejan losreemplazos mediante la gestión <strong>de</strong> una cola para losbloques [7]. En estos casos, la víctima proviene <strong>de</strong> laprimera o última posición <strong>de</strong> la cola.<strong>La</strong> mayoría <strong>de</strong> bloques no se referencian otra vezcuando <strong>de</strong>jan la posición MRU. A<strong>de</strong>más, la probabilidad<strong>de</strong> un bloque <strong>de</strong> ser referenciado otra vez no<strong>de</strong>pen<strong>de</strong> siempre <strong>de</strong>l or<strong>de</strong>n que ocupa en la pila LRU.Esto significa que, en general, el or<strong>de</strong>n <strong>de</strong> acceso noes importante para las aplicaciones en caches con ungran número <strong>de</strong> vías porque la probabilidad no disminuyeconforme el bloque <strong>de</strong>scien<strong>de</strong> por la pila. Sinembargo, la política LRU necesita un número <strong>de</strong> bits<strong>de</strong> estado por bloque consi<strong>de</strong>rable para mantener elor<strong>de</strong>n <strong>de</strong> la pila.En este trabajo se <strong>de</strong>fine el número <strong>de</strong> periodosMRU (pMRU) <strong>de</strong> un bloque como el número <strong>de</strong> vecesque un bloque acce<strong>de</strong> a la posición MRU durante sutiempo <strong>de</strong> vida. Teniendo en cuenta que la mayoría<strong>de</strong> bloques exhiben un pMRU, este trabajo proponeel algoritmo pMRU con el objetivo <strong>de</strong> explotar estecomportamiento para mejorar las prestaciones. Losbloques que muestran un pMRU serán consi<strong>de</strong>radosen el reemplazo, seleccionando uno <strong>de</strong> ellos al azar.De esta manera, la complejidad <strong>de</strong>l algoritmo se reducerespecto a LRU y otras propuestas recientes.También se propondrán variantes <strong>de</strong> este algoritmoque exploten la recencia <strong>de</strong> información.El algoritmo pMRU propuesto mejora las prestacionesrespecto a LRU y otros algoritmos propuestosrecientemente. <strong>La</strong> mejor versión <strong>de</strong>l algoritmo entérminos <strong>de</strong> prestaciones se refiere como pMRU-b3,y consigue reducir el MPKI en un 8% y 19% comparadocon el algoritmo reciente llamado DC-Bubbley LRU, respectivamente. Para finalizar, la propuestarequiere menos bits <strong>de</strong> estado que LRU, ya que los algoritmospMRU no necesitan mantener todo el or<strong>de</strong>n<strong>de</strong> la pila. Por ejemplo, para una cache <strong>de</strong> 16-vías,la versión más sencilla <strong>de</strong>l algoritmo pMRU tan sólonecesita 2 bits <strong>de</strong> estado por bloque, mientras queLRU requiere 4. A<strong>de</strong>más, el número <strong>de</strong> bits <strong>de</strong> estadoque se <strong>de</strong>ben actualizar en el peor caso <strong>de</strong> cadapolítica es 3, 4 y 30 para pMRU, DC-Bubble y LRU,respectivamente.El resto <strong>de</strong>l artículo se organiza <strong>de</strong> la siguientemanera: la Sección II muestra algunos trabajos relacionados.<strong>La</strong> Sección III discute la motivación <strong>de</strong>lpresente trabajo. <strong>La</strong> Sección IV presenta el algoritmobasado en periodos MRU. <strong>La</strong> Sección V analizalos resultados experimentales. <strong>La</strong> Sección VI discutela complejidad hardware <strong>de</strong> los algoritmos estudiadosy finalmente la Sección VII presenta las conclusionesmás relevantes.II. Trabajos relacionadosExisten gran cantidad <strong>de</strong> trabajos que han centradosus esfuerzos en las políticas <strong>de</strong> ubicación yreemplazo <strong>de</strong> los bloques para mejorar las prestaciones<strong>de</strong> la jerarquía <strong>de</strong> cache. Estos trabajos lospo<strong>de</strong>mos dividir en tres categorías: uso <strong>de</strong> informaciónsobre el comportamiento <strong>de</strong> los bloques encaches <strong>de</strong> L1, mejora <strong>de</strong> las prestaciones <strong>de</strong> la políticaLRU en caches <strong>de</strong> L2 y propuestas que utilizan estructurashardware diferentes a una pila para manejarla estrategia <strong>de</strong> reemplazo.En el primer grupo se encuentra la propuesta NTS<strong>de</strong> Tyson et al. [8] y la propuesta MAT <strong>de</strong> Johnsonet al. [9]. <strong>La</strong> primera propuesta marca un bloquecomo cacheable basándose en el comportamiento <strong>de</strong>lmismo en el pasado, mientras que la segunda clasificalos bloques como temporales o no temporales segúnel comportamiento <strong>de</strong> los mismos durante sus tiempos<strong>de</strong> vida. Rivers et al. [10] propone explotar elcomportamiento basándose en la dirección efectiva<strong>de</strong> los datos referenciados así como en el contador <strong>de</strong>programa <strong>de</strong> la instrucción <strong>de</strong> carga.Otros trabajos se centran en mejorar las prestaciones<strong>de</strong> la política LRU, principalmente en L2. Porejemplo, el pseudo-LRU trata <strong>de</strong> reducir la complejidadhardware <strong>de</strong>l LRU tradicional. Otros trabajospredicen el bloque a reemplazar en lugar <strong>de</strong>lLRU. En [5], la propuesta <strong>de</strong> Lin y Reinhardt predicecuando reemplazar un bloque antes <strong>de</strong> que llegue a laposición LRU. Esto se consigue utilizando un contadorque almacena el número <strong>de</strong> accesos al mismo conjuntodurante un intervalo <strong>de</strong> acceso a una línea <strong>de</strong>cache. Si el contador llega a superar un valor umbral(aprendido <strong>de</strong>l comportamiento previo <strong>de</strong> la línea), lalínea asociada es candidata a ser reemplazada. Otraspropuestas mejoran las prestaciones <strong>de</strong> LRU con unalgoritmo LRU modificado [11] [12] [13] o medianteuna pila pseudo-LIFO [6].El esquema Bubble, propuesto por Zhang yXue [7], es una propuesta interesante clasificada enla última categoría. Esta propuesta hace uso <strong>de</strong> unacola en lugar <strong>de</strong> una pila. Los bloques entrantes sealojan en el final <strong>de</strong> la cola, que es la localidad querepresenta la menor frecuencia <strong>de</strong> acceso. Los bloquespromocionan hacia la cabeza <strong>de</strong> la cola conformeson referenciados. <strong>La</strong> víctima se elige <strong>de</strong>l finalo la cabeza <strong>de</strong> la cola según si el acceso previo alconjunto resultó en un fallo o acierto <strong>de</strong> cache, respectivamente.Este trabajo también presenta unatécnica <strong>de</strong> divi<strong>de</strong>-y-vencerás, que divi<strong>de</strong> los conjuntosen grupos <strong>de</strong> bloques in<strong>de</strong>pendientes que aplican<strong>JP2011</strong>-558

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!