Evaluating Dynamic Scheduling of Tasks in Mobile Architectures Using ParallelME Framework

Recently we observe that mobile phones stopped being just devices for basic communication to become providers of many applications that require increasing performance for good user experience. Inside today’s mobile phones we find different processing units (PU) with high computational capacity, as multicore architectures and co-processors like GPUs. Libraries and run-time environments have been proposed to improve applications’ performance by taking advantage of different PUs in a transparent way. Among these environments we can highlight the ParallelME. Despite the importance of task scheduling strategies in these environments, ParallelME has implemented only the First Come Firs Serve (FCFS) strategy. In this paper we extended the ParallelME framework by implementing and evaluating two different dynamic scheduling strategies, Heterogeneous Earliest Finish Time (HEFT) and Performance-Aware Multiqueue Scheduler (PAMS). We evaluate these strategies considering synthetic applications, and compare the proposals with the FCFS. For some scenarios, PAMS was proved to be up to 39% more efficient than FCFS. These gains usually imply on lower energy consumption, which is very desirable when working with mobile architectures.

[1]  Henri E. Bal,et al.  Cuckoo: A Computation Offloading Framework for Smartphones , 2010, MobiCASE.

[2]  Renato Ferreira,et al.  Exploring Heterogeneous Mobile Architectures with a High-Level Programming Model , 2017, 2017 29th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD).

[3]  Esteban Walter Gonzalez Clua,et al.  Efficient dynamic scheduling of heterogeneous applications in hybrid architectures , 2014, SAC.

[4]  Amirali Baniasadi,et al.  History-aware, resource-based dynamic scheduling for heterogeneous multi-core processors , 2011, IET Comput. Digit. Tech..

[5]  Dorgival O. Guedes,et al.  ParallelME: A Parallel Mobile Engine to Explore Heterogeneity in Mobile Computing Architectures , 2016, Euro-Par.

[6]  Srinivasan Parthasarathy,et al.  D-STHARk: Evaluating Dynamic Scheduling of Tasks in Hybrid Simulated Architectures , 2016, ICCS.

[7]  Metin Nafi Gürcan,et al.  Coordinating the use of GPU and CPU for improving performance of compute intensive applications , 2009, 2009 IEEE International Conference on Cluster Computing and Workshops.

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

[9]  Nisha Agrawal,et al.  Performance analysis between aparapi (a parallel API) and JAVA by implementing sobel edge detection Algorithm , 2013, 2013 National Conference on Parallel Computing Technologies (PARCOMPTECH).

[10]  Vikas,et al.  Pyjama: OpenMP-like implementation for Java, with GUI extensions , 2013, PMAM '13.

[11]  Warren Smith,et al.  Using Run-Time Predictions to Estimate Queue Wait Times and Improve Scheduler Performance , 1999, JSSPP.

[12]  Joel H. Saltz,et al.  Efficient Execution of Microscopy Image Analysis on CPU, GPU, and MIC Equipped Cluster Systems , 2014, 2014 IEEE 26th International Symposium on Computer Architecture and High Performance Computing.

[13]  Robert D. Blumofe,et al.  Scheduling multithreaded computations by work stealing , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[14]  Francisco Almeida,et al.  Performance Analysis of Paralldroid Generated Programs , 2014, 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.