Mobile Parallel Computing Algorithms for Single-Buffered, Speed-Scalable Processors

Rashid Khogali, Olivia Das, Kaamran Raahemifar · 2013

This paper synthesizes and simulates two task-allocation algorithms that run in real time to optimally determine which processor among the multiple (single-buffered) processors in a mobile device should locally process an incoming stream of hypothetical tasks. By using speed-scaling, where each processor's speed is able to change within hardware and software processing constraints, the algorithms also explicitly determine the optimum processing rate of executing each hypothetical task. Hypothetical tasks could be heterogeneous and is each defined in an abstract, general form by considering its computation volume, processing and memory requirements. The time and energy dimensions of executing each hypothetical task is modeled in a cost function that is each associated with a processing stream. Both algorithms allow the user to specify the unit cost of energy and time for executing each hypothetical task. One algorithm extends the functionality of the other by allowing the user or the OS of the mobile device to further modify a task's unit cost of time or energy in order to achieve a linearly controlled operation point. This operation point lies somewhere in the economy-performance mode continuum of a task's execution. We focus on single buffer, single-threading where a single task is allocated to a given processor and is processed until its completion. For diverse application, we also assume that the processors/cores are heterogeneous in that they may differ in their hardware specifications with respect to maximum processing rate and energy inefficiency coefficient.

Read the paper · More papers on PaperTik