Patrón pipeline aplicado a arquitecturas heterogéneas big.LITTLE

En este trabajo, proponemos una solución para permitir la ejecución de aplicaciones de tipo streaming, que constan de una serie de etapas, sobre arquitecturas heterogéneas con un multicore y una GPU integrada. Para ello, presentamos una API que permite especificar el nivel de paralelismo explotado en el multicore, la asignación de las etapas del pipeline a los procesadores (CPU y GPU ), y el número de threads. Usando una aplicación real de tipo streaming como caso de estudio, evaluamos el impacto que tienen los parámetros anteriores sobre el rendimiento y la eficiencia energética de un procesador heterogéneo (Exynos 5 Octa) que se caracteriza por tener 3 tipos de procesadores: Una GPU, un quad-core ARM Cortex A15 y un quad-core ARM Cortex A7. Además, exploramos algunas optimizaciones de memoria y encontramos que el resultado de las mismas depende del tipo de la granularidad del trabajo, y que además ayudan a reducir el consumo de enerǵıa. Keywords— Patrón pipeline, Chips heterogéneos, GPU integrada en chip, Eficiencia energética.

[1]  Paul A. Viola,et al.  Fast Multi-view Face Detection , 2003 .

[2]  Silvio Savarese,et al.  MEVBench: A mobile computer vision benchmarking suite , 2011, 2011 IEEE International Symposium on Workload Characterization (IISWC).

[3]  Robert Grimm,et al.  Dynamic expressivity with static optimization for streaming languages , 2013, DEBS '13.

[4]  Rafael Asenjo,et al.  Reducing overheads of dynamic scheduling on heterogeneous chips , 2015, ArXiv.

[5]  Hyesoon Kim,et al.  Qilin: Exploiting parallelism on heterogeneous multiprocessors with adaptive mapping , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[6]  Thomas S. Huang,et al.  A data driven method for feature transformation , 2012, 2012 IEEE Conference on Computer Vision and Pattern Recognition.

[7]  Cédric Augonnet,et al.  StarPU: a unified platform for task scheduling on heterogeneous multicore architectures , 2011, Concurr. Comput. Pract. Exp..

[8]  Rafael Asenjo,et al.  Mapping Streaming Applications on Commodity Multi-CPU and GPU On-Chip Processors , 2016, IEEE Transactions on Parallel and Distributed Systems.

[9]  Kai Lu,et al.  Adaptive Optimization for Petascale Heterogeneous CPU/GPU Computing , 2010, 2010 IEEE International Conference on Cluster Computing.

[10]  Rafael Asenjo,et al.  Productive interface to map streaming applications on heterogeneous processors , 2015 .

[11]  James Reinders,et al.  Intel threading building blocks - outfitting C++ for multi-core processor parallelism , 2007 .

[12]  Eduard Ayguadé,et al.  Self-Adaptive OmpSs Tasks in Heterogeneous Environments , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.