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 2011100908070Tiempo <strong>de</strong>dicado a CPU y MemoriaComp_Lect_EscComp_LectPrivadosCPU% of total6050403020100FluidanimateBlackscholesSwaptionsRadiosityVolrendApacheFFTJBBMediaFig. 1. Porcentaje <strong>de</strong>l tiempo <strong>de</strong> ejecución empleado en accesos a memoria (dividido por tipos <strong>de</strong> datos) y cpu.aplicación que son tratados en la caché L1 <strong>de</strong> instrucciones,pero sólo a partir <strong>de</strong> un cierto momento.Este momento coinci<strong>de</strong> con el fin <strong>de</strong> la inicialización<strong>de</strong> las estructuras <strong>de</strong> datos <strong>de</strong> la aplicaciones, y estosdatos ya no cambian <strong>de</strong> valor durante el resto <strong>de</strong>ltiempo <strong>de</strong> ejecución <strong>de</strong> las mismas.Llamaremos a estos datos “datos compartidos <strong>de</strong>sólo lectura” <strong>de</strong> aquí en a<strong>de</strong>lante, y analizaremos sucomportamiento junto al <strong>de</strong>l resto <strong>de</strong> tipos <strong>de</strong> datos.De esta forma, los bloques manejados por lacaché L1 <strong>de</strong> datos quedan clasificados la siguientemanera:Datos privados: son accedidos solamente por unprocesador para lectura y/o escritura.Datos compartidos:• Datos compartidos <strong>de</strong> sólo lectura: son accedidospor varios procesadores para lectura trasla inicialización <strong>de</strong> las estructuras <strong>de</strong> datos.• Datos compartidos <strong>de</strong> lectura/escritura: sonaccedidos por varios procesadores para lecturay escritura.C. Estudio <strong>de</strong>l peso en el tiempo <strong>de</strong> ejecución <strong>de</strong> losdistintos tipos <strong>de</strong> datos.Pasamos ahora a estudiar qué importancia adquierenlos tipos <strong>de</strong> datos en el tiempo <strong>de</strong> ejecución <strong>de</strong>las aplicaciones, teniendo en cuenta la clasificaciónestablecida en la sección anterior. En la Figura 1 semuestra el porcentaje <strong>de</strong>l tiempo <strong>de</strong> ejecución empleadopor la CPU y por los accesos a memoria segúnel tipo <strong>de</strong> dato.Como se pue<strong>de</strong> observar en dicha figura, el tiempoempleado en accesos a memoria es <strong>de</strong> más <strong>de</strong> un 70 %<strong>de</strong> media. Si nos centramos en los distintos tipos <strong>de</strong>datos vemos como, <strong>de</strong> media, cerca <strong>de</strong> un 35 % <strong>de</strong>ltiempo es empleado en accesos a los datos privados.En torno a un 20 % <strong>de</strong>l tiempo es <strong>de</strong>dicado a los datoscompartidos <strong>de</strong> lectura/escritura y más <strong>de</strong> un 15 %<strong>de</strong> media <strong>de</strong>l tiempo <strong>de</strong> ejecución coinci<strong>de</strong> con losaccesos a los datos compartidos <strong>de</strong> sólo lectura. Vemoscomo estos últimos, datos que tras inicializarseno vuelven a ser escritos, tienen un impacto bastantesignificativo en el tiempo <strong>de</strong> ejecución <strong>de</strong> las aplicaciones.Esto es especialmente notable en aplicacionescomo blackscholes o radiosity, en las que aportan más<strong>de</strong>l 20 % <strong>de</strong>l tiempo <strong>de</strong> ejecución, y siendo totalmente<strong>de</strong>terminantes en jbb, don<strong>de</strong> prácticamente la mitad<strong>de</strong>l tiempo <strong>de</strong> ejecución se consume en accesos a bloques<strong>de</strong> este tipo.Así pues, aunque hay aplicaciones como fft o fluidanimateen las cuales representan un porcentaje pequeño<strong>de</strong>l tiempo <strong>de</strong> ejecución, alre<strong>de</strong>dor <strong>de</strong>l 5 %, pareceque los datos compartidos <strong>de</strong> sólo lectura pue<strong>de</strong>ntener un gran impacto en el tiempo <strong>de</strong> ejecución <strong>de</strong>algunas aplicaciones. En las siguientes secciones seestudiaran minuciosamente.IV. Estudiando en profundidad los datoscompartidos <strong>de</strong> sólo lecturaEn este momento, nos preguntamos si los datoscompartidos <strong>de</strong> sólo lectura podrían tener algún tratamientoespecial que ayudara a mejorar el tiempo <strong>de</strong>ejecución <strong>de</strong> las aplicaciones. Para respon<strong>de</strong>r a estapregunta se <strong>de</strong>ben conocer algunos <strong>de</strong>talles más acerca<strong>de</strong>l comportamiento <strong>de</strong> los mismos. Esta seccióntratará estas cuestiones.A. Número <strong>de</strong> bloques y número <strong>de</strong> accesos.En primer lugar analizaremos la cantidad <strong>de</strong> bloquesque son compartidos <strong>de</strong> sólo lectura y el númerototal <strong>de</strong> peticiones <strong>de</strong> memoria que generan. En la Figura2 se muestran el número <strong>de</strong> accesos y el espacioocupado por los bloques <strong>de</strong> memoria en la caché L1<strong>de</strong> datos según el tipo <strong>de</strong> dato al que pertenecen.Si nos fijamos <strong>de</strong>tenidamente en la Figura 2a po<strong>de</strong>moscomprobar que el número <strong>de</strong> bloques <strong>de</strong> sólolectura representa <strong>de</strong> media sólo un 10 % <strong>de</strong>l total <strong>de</strong>bloques accedidos durante la ejecución <strong>de</strong> las aplicaciones.Es más, excepto en volrend y jbb, el número<strong>de</strong> bloques <strong>de</strong> sólo lectura no llega ni al 5 % <strong>de</strong>l totalen ninguna aplicación. Esto es un dato tremendamenteinteresante, ya que, aunque el espacio ocupadopor los datos compartidos <strong>de</strong> sólo lectura es muypequeño, su peso en el tiempo <strong>de</strong> ejecución <strong>de</strong> lasaplicaciones es bastante <strong>de</strong>terminante, como se pudoapreciar en la Figura 1. Por ejemplo, en radiosity yblackscholes el espacio que ocupan estos bloques nollega al 3 %, y sin embargo el impacto que tienen en<strong>JP2011</strong>-257

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

Saved successfully!

Ooh no, something went wrong!