  Fog computing, which distributes computing resources to multiple locations
between the Internet of Things (IoT) devices and the cloud, is attracting
considerable attention from academia and industry. Yet, despite the excitement
about the potential of fog computing, few comprehensive quantitative
characteristics of the properties of fog computing architectures have been
conducted. In this paper we examine the properties of task completion latencies
in fog computing. First, we present the results of our empirical
benchmarking-based study of task completion latencies. The study covered a
range of settings, and uniquely considered both traditional and serverless fog
computing execution points. It demonstrated the range of execution point
characteristics in different locations and the relative stability of latency
characteristics for a given location. It also highlighted properties of
serverless execution that are not incorporated in existing fog computing
algorithms. Second, we present a framework we developed for co-optimizing task
completion quality and latency, which was inspired by the insights of our
empirical study. We describe fog computing task assignment problems we
formulated under this framework, and present the algorithms we developed for
solving them.
