  Serverless edge computing adopts an event-based paradigm that provides
back-end services on an as-used basis, resulting in efficient resource
utilization. To improve the end-to-end latency and revenue, service providers
need to optimize the number and placement of serverless containers while
considering the system cost incurred by the provisioning. The particular reason
for this circumstance is that frequently creating and destroying containers not
only increases the system cost but also degrades the time responsiveness due to
the cold-start process. Function caching is a common approach to mitigate the
coldstart issue. However, function caching requires extra hardware resources
and hence incurs extra system costs. Furthermore, the dynamic and bursty nature
of serverless invocations remains an under-explored area. Hence, it is vitally
important for service providers to conduct a context-aware request distribution
and container caching policy for serverless edge computing. In this paper, we
study the request distribution and container caching problem in serverless edge
computing. We prove the proposed problem is NP-hard and hence difficult to find
a global optimal solution. We jointly consider the distributed and resource
constrained nature of edge computing and propose an optimized request
distribution algorithm that adapts to the dynamics of serverless invocations
with a theoretical performance guarantee. Also, we propose a context-aware
probabilistic caching policy that incorporates a number of characteristics of
serverless invocations. Via simulation and implementation results, we
demonstrate the superiority of the proposed algorithm by outperforming existing
caching policies in terms of the overall system cost and cold-start frequency
by up to 62.1% and 69.1%, respectively.
