Wireless Powered Mobile Edge Computing: Dynamic Resource Allocation and Throughput Maximization

Wireless powered mobile edge computing (WP-MEC) has been widely studied as a promising technology to liberate wireless terminals from the computation-intensive and energy-consuming tasks. This article considers a WP-MEC system consisting of multiple base stations (BSs) and mobile devices (MDs), where the MDs offload tasks to the BSs for computational resources and the BSs charge the MDs using wireless power transfer (WPT). In practice, each BS and MD are equipped with a task buffer with limited size and a battery with limited capacity. First, we develop a time slotted WP-MEC system with task and energy queuing dynamics to study long-term system performance under time-varying fading channels and stochastic task and energy arrivals. Second, we propose a dynamic throughput maximum (DTM) algorithm based on perturbed Lyapunov optimization to maximize the system throughput under task and energy queue stability constraints, by optimizing the allocation of communication, computation, and energy resources. For the DTM algorithm, we characterize a throughput-backlog trade-off of [<inline-formula><tex-math notation="LaTeX">$\mathcal {O}(1/V)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi mathvariant="script">O</mml:mi><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="shi-ieq1-3034479.gif"/></alternatives></inline-formula>, <inline-formula><tex-math notation="LaTeX">$\mathcal {O}(V)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi mathvariant="script">O</mml:mi><mml:mo>(</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="shi-ieq2-3034479.gif"/></alternatives></inline-formula>] to indicate that the system throughput goes up as the queue backlog increases, where <inline-formula><tex-math notation="LaTeX">$V$</tex-math><alternatives><mml:math><mml:mi>V</mml:mi></mml:math><inline-graphic xlink:href="shi-ieq3-3034479.gif"/></alternatives></inline-formula> is a control parameter between the system throughput and the queue backlog. However, we find that, as <inline-formula><tex-math notation="LaTeX">$V$</tex-math><alternatives><mml:math><mml:mi>V</mml:mi></mml:math><inline-graphic xlink:href="shi-ieq4-3034479.gif"/></alternatives></inline-formula> goes large, the system throughput can be pushed arbitrarily close to the optimum at the cost of linearly increasing queue backlog (i.e., <inline-formula><tex-math notation="LaTeX">$\mathcal {O}(V)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi mathvariant="script">O</mml:mi><mml:mo>(</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="shi-ieq5-3034479.gif"/></alternatives></inline-formula>). To reduce the cost, we further develop an improved dynamic throughput maximum (IDTM) algorithm, and verify that the IDTM algorithm can achieve a trade-off of [<inline-formula><tex-math notation="LaTeX">$\mathcal {O}(1/V)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi mathvariant="script">O</mml:mi><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="shi-ieq6-3034479.gif"/></alternatives></inline-formula>, <inline-formula><tex-math notation="LaTeX">$\mathcal {O}((\log (V))^2)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi mathvariant="script">O</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mo form="prefix">log</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="shi-ieq7-3034479.gif"/></alternatives></inline-formula>] between the system throughput and the queue backlog. The simulation results demonstrate that IDTM retains close system throughput to DTM with only <inline-formula><tex-math notation="LaTeX">$\mathcal {O}((\log (V))^2)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi mathvariant="script">O</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mo form="prefix">log</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="shi-ieq8-3034479.gif"/></alternatives></inline-formula> queue backlog.