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 2011Reactive NUCA [1] trata <strong>de</strong> forma diferenciada losdatos privados, los datos compartidos y las instrucciones,y les asigna distintos mapeos a los bancos <strong>de</strong>caché. Los datos privados se almacenan en el banco<strong>de</strong> caché local para proporcionar una mejor latencia<strong>de</strong> acceso. Los datos compartidos se distribuyen entretodos los bancos <strong>de</strong> caché para evitar réplicas ymaximizar así la capacidad efectiva <strong>de</strong> la caché. <strong>La</strong>sinstrucciones utilizan un nuevo mapeo con centro fijoque proporciona un equilibrio entre replicación ylatencia <strong>de</strong> acceso. <strong>La</strong> distinción entre tipos <strong>de</strong> datosse realiza mediante nuevos campos en la tabla <strong>de</strong>páginas y el TLB. El resultado es una importantemejora <strong>de</strong>l rendimiento con respecto a usar un únicomapeo.SWEL [2] simplifica la coherencia mediante el tratamientodiferenciado <strong>de</strong> datos, aprovechando el hecho<strong>de</strong> que los datos que realmente necesitan coherenciasuponen un porcentaje pequeño <strong>de</strong> los accesos.Los datos privados son traídos a las cachés L1 <strong>de</strong> losprocesadores. Los datos compartidos <strong>de</strong> sólo lecturapue<strong>de</strong>n tener copia en todas las cachés L1 <strong>de</strong>l chip.Estas copias son invalidadas mediante broadcast encaso <strong>de</strong> una escritura. Por último, los datos compartidos<strong>de</strong> lectura/escritura sólo mantienen una copiaen L2, evitando tener que mantener coherencia, y todoslos accesos <strong>de</strong> los procesadores provocan el envío<strong>de</strong> una petición <strong>de</strong> memoria por la red para acce<strong>de</strong>ra la L2. El resultado es que sólo se necesitan tresbits <strong>de</strong> estado por bloque en L2 y dos bits en L1para mantener el sistema coherente. El rendimientoes similar al <strong>de</strong> un directorio pero añadiendo muchamenor complejidad al diseño <strong>de</strong>l chip.<strong>La</strong> arquitectura Nahalal [3] aprovecha la gran cantidad<strong>de</strong> accesos a datos compartidos para colocarun banco <strong>de</strong> L2 central para esos datos alre<strong>de</strong>dor<strong>de</strong>l cual se colocan los procesadores. El acceso a estebanco central es muy rápido para todos. Al ladocontrario, cada procesador tiene su propio banco <strong>de</strong>L2 privada.ASR [4] aplica políticas <strong>de</strong> replicación <strong>de</strong> bloquesen caché L2 compartida adaptadas al hecho <strong>de</strong> quelos datos compartidos son muy accedidos. Así consigueaprovechar tanto la mayor capacidad efectiva<strong>de</strong> un esquema <strong>de</strong> caché compartida como la menorlatencia <strong>de</strong> acceso a las réplicas creadas para los bloquesque más beneficio producen por ser muy accedidos.III. Análisis <strong>de</strong> las necesida<strong>de</strong>s <strong>de</strong> memoria<strong>La</strong>s necesida<strong>de</strong>s <strong>de</strong> memoria <strong>de</strong> las aplicacionesestán en constante cambio. Por ello, creemos quei<strong>de</strong>ntificar criterios que permitan clasificar los datosrequeridos por las aplicaciones pue<strong>de</strong> convertirse enun elemento diferenciador a la hora <strong>de</strong> mejorar elrendimiento <strong>de</strong> las mismas. En este apartado se <strong>de</strong>scribeen primer lugar la metodología empleada en laspruebas realizadas. Tras ello, se presenta una clasificación<strong>de</strong> los bloques solicitados por el procesadora la caché L1 <strong>de</strong> datos. Finalmente, se analiza la in-TABLA IParámetros <strong>de</strong>l sistema.Procesadores 16 UltraSPARC-III+ 3 GHz. 2-vías, in-or<strong>de</strong>r.Cache L1Dividida I&D. Tamaño: 16KB.Asociatividad: 4-vías. 64 bytes/bloque.<strong>La</strong>tencia <strong>de</strong> acceso: 1 (tag) + 1 (datos) ciclos.Cache L2Tamaño: 512KB cada banco. 8MB total.Asociatividad: 16-vías. 64 bytes/bloque.<strong>La</strong>tencia <strong>de</strong> acceso: 12 ciclos.RAMTamaño: 4 GB DRAM.<strong>La</strong>tencia Memoria 156 ciclos + on-chip <strong>de</strong>lay.Tamaño <strong>de</strong> Página: 4 KB.Red interconexión Malla bidimensional 4x4. enlaces <strong>de</strong> 16 bytes.<strong>La</strong>tencia: 4 ciclos/enlace + 1 ciclo/switch +1 ciclo/router (en ausencia <strong>de</strong> contención)Tamaño Flit: 16 bytes.Tamaño paquete <strong>de</strong> control: 1 flit.Tamaño <strong>de</strong>l paquete <strong>de</strong> datos: 5 flits.TABLA IIConfiguración <strong>de</strong> los benchmarks.Workload Dominio aplicacion Tamañofft Procesamiento <strong>de</strong> señales 16K puntosradiosity Gráfica large roomvolrend Gráfica Headblackscholes Análisis financiero simsmallfluidanimate Animación simsmallswaptions Análisis financiero simsmallapache Servidor web 500 clientesjbb Servidor web 1.5 warehouses por tilefluencia <strong>de</strong> los distintos tipos <strong>de</strong> datos en el tiempo<strong>de</strong> ejecución <strong>de</strong> las aplicaciones.A. Metodología <strong>de</strong> las pruebas.Todas las pruebas han sido realizadas usando elsimulador funcional Simics [5] extendido por el simulador<strong>de</strong> temporización GEMS [6]. Para este trabajose ha utilizado una arquitectura NUCA sobreCMPs. <strong>La</strong> coherencia <strong>de</strong> caché se mantiene medianteun protocolo <strong>de</strong> directorio que sigue un esquema<strong>de</strong> estados MOESI. En la Tabla I se pue<strong>de</strong> apreciaruna <strong>de</strong>scripción más <strong>de</strong>tallada <strong>de</strong> los parámetros <strong>de</strong>lsistema.<strong>La</strong> mayoría <strong>de</strong> las aplicaciones utilizadas pertenecena las suites SPLASH-2 [7] y PARSEC [8] sugeridasen [9]. A<strong>de</strong>más, se han añadido dos aplicacionescomerciales para servidores: apache y jbb. Enla Tabla II se pue<strong>de</strong>n observar con más <strong>de</strong>talle lasaplicaciones utilizadas, su dominio <strong>de</strong> aplicación y eltamaño <strong>de</strong> la entrada.B. Clasificación <strong>de</strong> los tipos <strong>de</strong> datos.Si tenemos en cuenta los accesos a la caché L1 <strong>de</strong>datos, po<strong>de</strong>mos distinguir claramente dos tipos <strong>de</strong>bloques. Aquellos que son accedidos por un únicoprocesador para realizar lecturas y escrituras (datosprivados), y los que son accedidos por varios procesadorespara realizar lecturas y escrituras (datoscompartidos).No obstante, hemos comprobado que existen algunosdatos compartidos que tienen un comportamientopeculiar. Y es que, a partir <strong>de</strong> un instante<strong>de</strong>terminado cercano al comienzo <strong>de</strong> la ejecución <strong>de</strong>la aplicación, no vuelven a ser escritos por ningúnprocesador. Si nos fijamos, estos bloques se comportan<strong>de</strong> forma similar a los bloques <strong>de</strong>l código <strong>de</strong> la<strong>JP2011</strong>-256

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

Saved successfully!

Ooh no, something went wrong!