  In this paper, we present a novel mobile edge computing (MEC) model where the
MEC server has the input and output data of all computation tasks and
communicates with multiple caching-and-computing-enabled mobile devices via a
shared wireless link. Each task request can be served from local output
caching, local computing with input caching, local computing or MEC computing,
each of which incurs a unique bandwidth requirement of the multicast link.
Aiming to minimize the transmission bandwidth, we design and optimize the local
caching and computing policy at mobile devices subject to latency, caching,
energy and multicast transmission constraints. The joint policy optimization
problem is shown to be NP-hard. When the output data size is smaller than the
input data size, we reformulate the problem as minimization of a monotone
submodular function over matroid constraints and obtain the optimal solution
via a strongly polynomial algorithm of Schrijver. On the other hand, when the
output data size is larger than the input data size, by leveraging sample
approximation and concave convex procedure together with the alternating
direction method of multipliers, we propose a low-complexity high-performance
algorithm and prove it converges to a stationary point. Furthermore, we
theoretically reveal how much bandwidth gain can be achieved from computing and
caching resources at mobile devices or the multicast transmission for symmetric
case. Our results indicate that exploiting the computing and caching resources
at mobile devices as well as multicast transmission can provide significant
bandwidth savings.
