In this paper, we consider minimizing the system-level energy consumption through dynamic voltage scaling for embedded devices, while a) allowing concurrent access to shared objects through lock-free synchronization b) meeting (m, k))-constraint, and c) completing as many high importance tasks as possible. We present a scheduling algorithm called Lock-Free Utility accrual Algorithm (or MK-LfUA) to meet these goals. At offline stage, we set the optimal CPU speed to minimize system-level energy consumption. At run-time, the algorithm dynamically adjusts the CPU speed to compensate for slack time. Our simulation studies on the Intel PXA271 processor model illustrate MK-LfUA's superiority over past work by 15-25%.
展开▼