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 2011TABLA IPorcentaje <strong>de</strong> bloques con un solo pMRU para cada aplicación <strong>de</strong> SPEC2000 en una cache <strong>de</strong> L2 <strong>de</strong> 1MB-16vías.ammp applu apsi art bzip2 crafty eon equake facerec fma3d galgel gap gcc100% 93% 35% 95% 35% 15% – 80% 85% – 15% 65% 75%gzip lucas mcf mesa mgrid parser perlbmk sixtrack swim twolf vortex vpr wupwise56% 61% 89% 65% 21% 40% – 29% 68% 34% 32% 59% 92%el algoritmo Bubble <strong>de</strong> manera in<strong>de</strong>pendiente. Estapolítica se conoce como DC-Bubble. Cuando se requiereespacio, se elige un grupo al azar, reduciendo<strong>de</strong> este modo la complejidad frente a LRU y el efecto<strong>de</strong> cache thrashing.III. MotivaciónCuando se utiliza el algoritmo LRU, un bloqueque no se referencia <strong>de</strong>scien<strong>de</strong> paso a paso por lapila hasta que se aloja en la posición LRU. Duranteeste <strong>de</strong>scenso, la referencia a este bloque hace quevuelva a ocupar la posición MRU. Para caches con ungran número <strong>de</strong> vías, la probabilidad <strong>de</strong> retorno a laposición MRU no se distribuye <strong>de</strong> manera uniformeen las posiciones <strong>de</strong> la pila. <strong>La</strong> Figura 1 muestra losresultados para una cache <strong>de</strong> L2 <strong>de</strong> 1MB-16vías. Eltérmino pos2 hace referencia a la posición siguientea la MRU en la pila, pos3 a la posición siguientea pos2, etcétera. Debido a restricciones <strong>de</strong> espacio,pos5-7 hace referencia a las posiciones comprendidasentre la quinta y la séptima, etcétera. Nótese que laprobabilidad <strong>de</strong> referencia en la posición MRU no seha tenido en cuenta.Aunque en algunas aplicaciones, los bloques másreferenciados son aquellos cercanos a la posición LRU(pos16 ), la mayoría <strong>de</strong> cargas presentan una probabilidadalta <strong>de</strong> retorno en bloques cercanos a laposición MRU. En general, se pue<strong>de</strong> concluir quemantener todo el or<strong>de</strong>n <strong>de</strong> la pila LRU no es importanteen caches con un gran número <strong>de</strong> vías. Sinembargo, la política LRU requiere un número significante<strong>de</strong> bits (4 por bloque en una cache <strong>de</strong> 16-vías)para mantener todo el or<strong>de</strong>n <strong>de</strong> la pila.IV. Algoritmo basado en periodos MRUEsta sección presenta en primer lugar el concepto<strong>de</strong> periodo MRU (pMRU) y <strong>de</strong>spués <strong>de</strong>talla en quéconsiste el algoritmo basado en pMRU.Los conceptos <strong>de</strong> tiempos <strong>de</strong> vida y muerte <strong>de</strong> unbloque [14] han sido muy utilizados en la investigación.El tiempo <strong>de</strong> generación <strong>de</strong>fine el tiempotranscurrido <strong>de</strong>s<strong>de</strong> que un bloque entra en la cachehasta que se reemplaza. Este tiempo se pue<strong>de</strong> dividiren los tiempos <strong>de</strong> vida y muerte <strong>de</strong> un bloque.El primero se refiere al tiempo <strong>de</strong>s<strong>de</strong> que el bloqueentra en la cache hasta la última referencia al mismo.El segundo alu<strong>de</strong> al tiempo <strong>de</strong>s<strong>de</strong> la última referenciahasta que se reemplaza.<strong>La</strong> Figura 2 ilustra el concepto <strong>de</strong> pMRU en el contexto<strong>de</strong>l tiempo <strong>de</strong> vida <strong>de</strong>l bloque A. Asumiendola política LRU, A se aloja en la posición MRU entiempo t1. El bloque permanece en esta posiciónmientras es accedido. Después, <strong>de</strong>ja esta posiciónporque el bloque B se referencia. En este momentose dice que A ha finalizado su primer pMRU. Pasadocierto tiempo, A es accedido otra vez, con lo quevuelve a la posición MRU e inicia su segundo pMRU.<strong>La</strong> marca t2 indica el final <strong>de</strong> este pMRU que coinci<strong>de</strong>con el último acceso a A. El tiempo <strong>de</strong> muerteempieza en este punto y acaba en la marca t3 cuandoel bloque A es expulsado.Con el objetivo <strong>de</strong> explorar el potencial <strong>de</strong>l conceptopMRU sobre el algoritmo LRU, se ha obtenidoel porcentaje <strong>de</strong> bloques que presentan un solopMRU cuando son reemplazados. <strong>La</strong> Tabla I muestralos resultados para el conjunto <strong>de</strong> aplicaciones <strong>de</strong>SPEC2000 [15] y una cache <strong>de</strong> L2 <strong>de</strong> 1MB-16vías. Enlíneas generales, la mayoría <strong>de</strong> aplicaciones presentanun porcentaje elevado <strong>de</strong> bloques con un pMRU. <strong>La</strong>saplicaciones que no presentan valor son aquellas enlas que todos los fallos <strong>de</strong> L2 contabilizados son forzosos(ver Sección V).El algoritmo basado en pMRU hace uso <strong>de</strong> la información<strong>de</strong> un pMRU o múltiples <strong>de</strong> cada bloque.Para ello, requiere un bit por bloque (pMRU-bit) queindica si el mismo ha experimentado un pMRU o varios.El algoritmo funciona como sigue. Cada vez queun bloque entra en la cache, el valor <strong>de</strong> su pMRU-bitasociado se actualiza a ’0’ para indicar que su primerpMRU ha empezado. El bloque es candidato a serreemplazado cuando <strong>de</strong>ja la posición MRU por vezprimera. Después, si el bloque se referencia <strong>de</strong> nuevo,Fig. 1. Probabilidad <strong>de</strong> un bloque <strong>de</strong> ser referenciado en laposición X utilizando LRU.Fig. 2. Tiempo <strong>de</strong> generación <strong>de</strong>l bloque A.<strong>JP2011</strong>-559

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

Saved successfully!

Ooh no, something went wrong!