  Mobile Edge Computing (MEC) pushes computing functionalities away from the
centralized cloud to the proximity of data sources, thereby reducing service
provision latency and saving backhaul network bandwidth. Although computation
offloading has been extensively studied in the literature, service caching is
an equally, if not more, important design topic of MEC, yet receives much less
attention. Service caching refers to caching application services and their
related data (libraries/databases) in the edge server, e.g. MEC-enabled Base
Station (BS), enabling corresponding computation tasks to be executed. Since
only a small number of services can be cached in resource-limited edge server
at the same time, which services to cache has to be judiciously decided to
maximize the system performance. In this paper, we investigate collaborative
service caching in MEC-enabled dense small cell (SC) networks. We propose an
efficient decentralized algorithm, called CSC (Collaborative Service Caching),
where a network of small cell BSs optimize service caching collaboratively to
address a number of key challenges in MEC systems, including service
heterogeneity, spatial demand coupling, and decentralized coordination. Our
algorithm is developed based on parallel Gibbs sampling by exploiting the
special structure of the considered problem using graphing coloring. The
algorithm significantly improves the time efficiency compared to conventional
Gibbs sampling, yet guarantees provable convergence and optimality. CSC is
further extended to the SC network with selfish BSs, where a coalitional game
is formulated to incentivize collaboration. A coalition formation algorithm is
developed by employing the merge-and-split rules and ensures the stability of
the SC coalitions.
