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 I: Correspon<strong>de</strong>ncia entre valores <strong>de</strong>l UF yclases <strong>de</strong> utilidad.ClaseHIGHMEDIUMLOWVERY LOWRango <strong>de</strong> UFUF ≥ upper thresholdmedium threshold ≤ UF < upper thresholdlower threshold ≤ UF < medium thresholdUF < lower thresholdra dar un mismo trato a aquellos hilos con UFs muysimilares.<strong>La</strong> asignación <strong>de</strong> hilos a las clases <strong>de</strong> utilidad serealiza en función <strong>de</strong> tres umbrales específicos <strong>de</strong> plataforma–lower, medium and upper–, que <strong>de</strong>terminanlas fronteras entre las clases. <strong>La</strong> tabla I muestra lacorrespon<strong>de</strong>ncia entre el valor <strong>de</strong>l factor <strong>de</strong> utilidad<strong>de</strong>l hilo <strong>de</strong> ejecución y su clase <strong>de</strong> utilidad. <strong>La</strong>s clasesse muestran en la tabla en or<strong>de</strong>n <strong>de</strong>scen<strong>de</strong>nte por suprioridad para ejecutarse en cores rápidos, siendo loshilos <strong>de</strong> la clase <strong>de</strong> utilidad HIGH los que gozan <strong>de</strong>mayor prioridad. Los cores rápidos se asignan a losdistintos hilos <strong>de</strong> ejecución siguiendo este or<strong>de</strong>n <strong>de</strong>prioridad. En el caso <strong>de</strong> que existan cores rápidos sinasignar a hilos <strong>de</strong> la clase HIGH, estos cores restantesse asignarán a hilos <strong>de</strong> clases <strong>de</strong> menor prioridad. Elresto <strong>de</strong> hilos se ejecutaran en cores lentos. Excepcionalmente,si el número <strong>de</strong> hilos HIGH supera alnúmero <strong>de</strong> cores rápidos, estos cores se repartirán <strong>de</strong>manera equitativa entre hilos HIGH, utilizando paraello un mecanismo round-robin basado en migracionesperiódicas <strong>de</strong> hilos propuesto en [10].CAMP reserva una clase <strong>de</strong> utilidad especial (SE-QUENTIAL BOOSTED) para los hilos <strong>de</strong> una aplicaciónparalela que ejecutan fases secuenciales <strong>de</strong> lamisma y exhiben un SF alto (clase HIGH). Estoshilos gozan temporalmente <strong>de</strong> mayor prioridad paraejecutarse en cores rápidos que el resto <strong>de</strong> hilos <strong>de</strong>clase HIGH, pertenecientes a aplicaciones monohilo.Este mecanismo ofrece mayores oportunida<strong>de</strong>s paramitigar los cuellos <strong>de</strong> botella secuenciales presentesen las aplicaciones paralelas [9].IV. Estimación <strong>de</strong> Factores <strong>de</strong> GananciaEn esta sección <strong>de</strong>tallamos el proceso <strong>de</strong> generación<strong>de</strong> un mo<strong>de</strong>lo <strong>de</strong> rendimiento que permite estimarel SF en un prototipo <strong>de</strong> sistema asimétricodiseñado en Intel <strong>La</strong>bs [6]. <strong>La</strong> sección V proporcionamás <strong>de</strong>talles acerca <strong>de</strong> esta plataforma y analizalos resultados obtenidos por el planificador CAMPen dicho prototipo.Koufaty y otros <strong>de</strong>tectaron que en este sistemaexisten dos factores que muestran una clara correlacióncon el factor <strong>de</strong> ganancia [6]. El primer factor esla intensidad en memoria que exhibe la aplicación,que pue<strong>de</strong> aproximarse mediante su tasa <strong>de</strong> fallos <strong>de</strong>cache <strong>de</strong> último nivel [9]. El segundo factor está relacionadocon las paradas producidas en el front-end<strong>de</strong>l pipeline <strong>de</strong>l procesador 2 . <strong>La</strong> figura 1 muestra lacorrelación entre el SF y estos dos factores para losbenchmarks <strong>de</strong> la suite SPEC CPU2006. Los datos2 Este factor pue<strong>de</strong> aproximarse monitorizando el número <strong>de</strong>ciclos que la cola <strong>de</strong> instrucciones está vacía.LLC misses per 1K instructionsinternal stalls per 1K cycles454035302520151050300250200150100500LLC miss rateSpeedup Factormcfastarlbmmilcsoplexgobmkbzip2leslie3dGemsFDTDgcccactusADMlibquantumsjenggromacszeusmpxalancbmksphinx3perlbenchwrfpovraynamdbwaves<strong>de</strong>alIItontoh264refgamesscalculixhmmer(a) Tasa <strong>de</strong> fallos <strong>de</strong> último nivel <strong>de</strong> cache vs. SFinternal stallsSpeedup Factormcfastarlbmmilcsoplexgobmkbzip2leslie3dGemsFDTDgcccactusADMlibquantumsjenggromacszeusmpxalancbmksphinx3perlbenchwrfpovraynamdbwaves<strong>de</strong>alIItontoh264refgamesscalculixhmmer(b) Paradas en el front-end <strong>de</strong>l pipeline vs. SFFig. 1: Correlación entre distintas métricas <strong>de</strong> rendimientoy el SF observado para los benchmarks <strong>de</strong> lasuite SPEC CPU2006 ejecutando en el prototipo <strong>de</strong>sistema asimétrico.revelan que tanto las aplicaciones intensivas en memoria(alta tasa <strong>de</strong> fallos <strong>de</strong> cache) como aquellas confrecuentes paradas en el front-end <strong>de</strong>l pipeline suelenexperimentar factores <strong>de</strong> ganancia bajos. A pesar <strong>de</strong>la relevancia <strong>de</strong> estos resultados, diseñar un mo<strong>de</strong>lobasado únicamente en esta ten<strong>de</strong>ncia daría lugara graves fallos <strong>de</strong> predicción –por ejemplo, para elbenchmark gromacs–.En la búsqueda <strong>de</strong> metodologías sistemáticas paradiseñar mo<strong>de</strong>los <strong>de</strong> estimación en escenarios complejos,como el que se estudia en este trabajo, exploramosdistintas técnicas <strong>de</strong> minería <strong>de</strong> datos usando laherramienta WEKA [13]. WEKA proporciona numerososmétodos para inferir relaciones entre un conjunto<strong>de</strong> observaciones (o atributos <strong>de</strong> entrada) y unavariable objetivo. En el problema <strong>de</strong> estimación <strong>de</strong>SFs, las observaciones se correspon<strong>de</strong>n con distintosparámetros <strong>de</strong> rendimiento y la variable objetivo esel SF. Entre los métodos explorados, <strong>de</strong>tectamos quela regresión aditiva [14] permite <strong>de</strong>rivar un mo<strong>de</strong>lo<strong>de</strong> estimación preciso para esta plataforma. A<strong>de</strong>más,los coeficientes obtenidos tras el análisis <strong>de</strong> regresión2.221.81.61.41.212.221.81.61.41.21Speedup FactorSpeedup Factor<strong>JP2011</strong>-247

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

Saved successfully!

Ooh no, something went wrong!