Ayuda
Ir al contenido

Dialnet


Resumen de Programming model and run-time optimizations for the cell/b.E

Pieter Bellens

  • El modelo de programación StarSs aboga por una forma implícita de paralelismo, caracterizada por el análisis de dependencias de datos en tiempo de ejecución. Describimos CellSs como una implementación de StarSs para el Cell Broadband Engine (Cell /B.E.), enfocándonos en el diseño escalable y distribuido de las bibliotecas y en el desarrollo de aplicaciones. En la segunda categoría, documentamos exhaustivamente el desarollo de la FFT y del integral histogram en CellSs. CellSs utiliza un bundle scheduler, localizado en la biblioteca PPE y compensa su simplicidad mediante técnicas en las SPEs que explotan la localidad temporal en tiempo de ejecución. Particularmente, smart stage-out y software caching disminuyen la necesidad de ancho de banda y al mismo tiempo aumentan potencialmente el rendimiento general de una aplicación. En general nuestra implementación de StarSs complementa técnicas livianas en el PPE mediante optimizaciones distribuidas en las SPEs, las cuales se adaptan de forma oportunista al programa y el estado del sistema. Este diseño encuentra el justo equilibrio entre calidad y eficiencia o bien reduce gastos generales. Demostramos que el bundle scheduler puede extenderse para mejorar la localidad temporal de programas en CellSs. No obstante, en un hardware actual este incremento no puede alcanzarse de forma eficiente y los gastos generales asociados al locality scheduler propuesto afectan contrariamente el makespan de una aplicación. Formas exitosas de explotar la localidad temporal y aumentar el rendimiento deben ser distribuidas y/o reducir los gastos generales en la biblioteca en el PPE. Bypassing distribuye en tiempo de ejecución la gestión de objetos a través del empleo de SPEs y transporta directamente objetos entre SPEs, sin necesidad de pasar a través de la memoria principal y sin arbitraje por parte de PPE. Esta técnica distribuye completamente el software cache o unifica el espacio LS, obteniendo así un mayor porcentaje de reutilización de objetos y una mejor localidad temporal. Cada SPE utiliza el hardware de acceso atómico del Cell/B.E. para localizar, duplicar y compartir objetos en el sistema con otros SPEs. Bypassing permite run-time liveness analysis en CellSs, lo cual reduce alternativamente la necesidad de banda ancha de los SPEs. En particular, lazy stage-out intenta mantener un objeto en el espacio LS hasta que pueda ser determinado que ya no esté vivo y la transferencia DMA asociada pueda evitarse. Just-In-Time renaming extiende el esquema de renaming original de StarSs y intenta reducir el número y tiempo de vida de los renamings, y por consiguiente, la huella de la memoria. De igual modo, el bundle scheduler se beneficia de un diseño más distribuido en el cual SPEs seleccionan tareas del consTDG, una aproximación conservadora del Task Dependence Graph (TDG). Nuestra implementación de scheduling distribuida y especulativa delega parte de la lógica a la biblioteca SPE con el fin de reducir los gastos generales de scheduling en el tiempo de ejecución en el PPE. Por consiguiente, podemos rebalancear o redistribuir los componentes de la biblioteca PPE entre los threads y así alcanzar una significativa mejoría general en el rendimiento. A pesar de que la implementación de ideas expuestas se limita a CellSs, éstas son lo suficientemente globales como para trasladarlas a otras arquitecturas o modelos de programación paralelos. Passing, JIT renaming, lazy stage-out y speculative distributed scheduling se basan en conceptos como la TDG, comunicación asincrónica, memoria local distribuida y tareas. Estos conceptos no son específicos a CellSs pero impregnan la práctica moderna.


Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus