Convex Optimization in Local Single-Threaded Parallel Mobile Computing

Convex Optimization in Local
Single-Threaded Parallel Mobile
Computing
Rashid Khogali
Olivia Das
Kaamran Raahemifar
Scenario
Each processor has a
memory queue that
accommodates an
arbitrary maximum
number of tasks.
 Tasks and processors are
heterogeneous.

Goal

Find the optimized decision algorithm.
 dictates which task goes to which processing stream.
 “optimize” means to minimize both time and energy
consumption.

Determine the optimized processing rate
of executing each task.
Assumptions
Heterogeneous processors and tasks
 Online
 Constrained processing rates
 Energy cost affected by remaining energy
level
 User determines unit cost of energy and
time
 Stochastic availability
 Multiple energy sources

Definitions

Task
 mk
 p μ,k
 Bk

Tk = (mk, p μ,k, Bk)
:memory requirement in bits.
:minimum recommended execution rate of the task.
: number of base instructions.
User Profile Uk = (αε,k, αt,k)
 αε,k
: energy cost sensitivity factor($/Joule)
 αt,k
: time cost sensitivity factor($/Second)
 αε,k is treated with more objectivity than αt,k.

Stream Processor Ps,j
 Ps,j
: operating frequency (base instructions/second)
 p μ,k ≦ Ps,j ≦ PMax,j
Definitions(cont.)

Task’s Energy and Power Consumption
εk = λj(pk)3tk
tk = Bk / pk





 εk
εk
pk
tk
Bk
λj
: expected energy consumption(Joules)
: actual execution rate
: actual execution time
: task’s number of base instructions
: processor energy inefficiency coefficient
= λjBk(pk)2
Constraints
 Mm
 (Em,j – Eθ,j)
stream
: available memory
: usable battery energy of jth processing
Steps
Assume the potential aggregate cost of
introducing the task to each of the
processing streams.
 Minimize the aggregate cost function by
re-adjusting the processing rates of all
tasks in the queue.
 Choose the stream with the lowest
potential aggregate cost.

Cost Function






Cj : cost of the jth stream
ij
: # of task in queue
ε%,j : remaining power
Al,j : availability of
executing Tl in the jth stream
t θ,r,j : overhead access time
of a task Tr to be accessed
by Pj
Cost Function(Cont.)
Rearrange the cost function
 Assume Ak,j = Aj, ∀k ∈ {1,2, … , ij}


otherwise
Minimizing Cost Function
“ i ” dimensional optimization problem for
each stream.
 Adjustable parameter: pl
 Optimize Cj

Minimizing Cost Function(Cont.)
Minimizing Cost Function(Cont.)
Confirm Minima

Use Hessian matrix[1] to confirm minima.
[1] 海森矩陣:http://zh.wikipedia.org/wiki/%E6%B5%B7%E6%A3%AE%E7%9F%A9%E9%98%B5
Confirm Minima(Cont.)
Minimizing Constrained Cost Function

Don’t forget “p μ,k ≦ Ps,j ≦ PMax,j”
Single-threading Multi-buffer
Scheduling & Processing Algorithm
User specifies αε,k and αt,k for each Tk ∈ T.
 For an arriving task Tk ∈ T, evaluate and
compare the minimum potential
processing cost Cmin.
 Tk is assigned to stream j* and to be
processed at an adjusted optimum
processing rate.

Single-threading Multi-buffer Scheduling
& Processing Algorithm(Cont.)

Execute T1,j* at rate

Update processing rate whenever a task
is either introduced or deleted to Qs,j*.
Analytical Demonstration
Conclusion
The authors propose a real-time
multiprocessor scheduling
algorithm(SMSP).
 The algorithm explicitly finds a globally
optimum solution for each aggregate cost
function.

◦ Minimizes the sum of both energy and
execution time of tasks.

Assume ε%,j does not significant vary or is
more or less a constant function of pk.
◦ The assumption is valid as long as the
condition: εk << E cap,j , is satisfied.