No Arabic abstract
Fog computing extends cloud computing technology to the edge of the infrastructure to let IoT applications access objects data with reduced latency, location awareness and dynamic computation. By displacing workloads from the central cloud to the edge devices, fog computing overcomes communication bottlenecks avoiding raw data transfer to the central cloud, thus paving the way for the next generation IoT-based applications. In this paper we study scheduling and placement of applications in fog computing, which is key to ensure profitability for the involved stakeholders. We consider a scenario where the emerging microservice architecture allows for the design of applications as cascades of coupled microservice modules. It results into a mixed integer non linear problem involving constraints on both application data flows and computation placement. Due to the complexity of the original problem, we resort to a simplified version, which is further solved using a greedy algorithm. This algorithm is the core placement logic of the FogAtlas platform, a fog computing platform based on existing virtualization technologies. Extensive numerical results validate the model and the scalability of the proposed solution, showing it attains performance close to the optimal solution and, in our real implementation, it scales well with respect to the number of served applications.
This paper studies edge caching in fog computing networks, where a capacity-aware edge caching framework is proposed by considering both the limited fog cache capacity and the connectivity capacity of base stations (BSs). By allowing cooperation between fog nodes and cloud data center, the average-download-time (ADT) minimization problem is formulated as a multi-class processor queuing process. We prove the convexity of the formulated problem and propose an Alternating Direction Method of Multipliers (ADMM)-based algorithm that can achieve the minimum ADT and converge much faster than existing algorithms. Simulation results demonstrate that the allocation of fog cache capacity and connectivity capacity of BSs needs to be balanced according to the network status. While the maximization of the edge-cache-hit-ratio (ECHR) by utilizing all available fog cache capacity is helpful when the BS connectivity capacity is sufficient, it is preferable to keep a lower ECHR and allocate more traffic to the cloud when the BS connectivity capacity is deficient.
The concept of fog computing is centered around providing computation resources at the edge of network, thereby reducing the latency and improving the quality of service. However, it is still desirable to investigate how and where at the edge of the network the computation capacity should be provisioned. To this end, we propose a hierarchical capacity provisioning scheme. In particular, we consider a two-tier network architecture consisting of shallow and deep cloudlets and explore the benefits of hierarchical capacity based on queueing analysis. Moreover, we explore two different network scenarios in which the network delay between the two tiers is negligible as well as the case that the deep cloudlet is located somewhere deeper in the network and thus the delay is significant. More importantly, we model the first network delay scenario with bufferless shallow cloudlets as well as the second scenario with finite-size buffer shallow cloudlets, and formulate an optimization problem for each model. We also use stochastic ordering to solve the optimization problem formulated for the first model and an upper bound based technique is proposed for the second model. The performance of the proposed scheme is evaluated via simulations in which we show the accuracy of the proposed upper bound technique as well as the queue length estimation approach for both randomly generated input and real trace data.
The increasing popularity of cloud computing has resulted in a proliferation of data centers. Effective placement of data centers improves network performance and minimizes clients perceived latency. The problem of determining the optimal placement of data centers in a large network is a classical uncapacitated $k$-median problem. Traditional works have focused on centralized algorithms, which requires knowledge of the overall network topology and information about the customers service demands. Moreover, centralized algorithms are computationally expensive and do not scale well with the size of the network. We propose a fully distributed algorithm with linear complexity to optimize the locations of data centers. The proposed algorithm utilizes an iterative two-step optimization approach. Specifically, in each iteration, it first partitions the whole network into $k$ regions through a distributed partitioning algorithm; then within each region, it determines the local approximate optimal location through a distributed message-passing algorithm. When the underlying network is a tree topology, we show that the overall cost is monotonically decreasing between successive iterations and the proposed algorithm converges in a finite number of iterations. Extensive simulations on both synthetic and real Internet topologies show that the proposed algorithm achieves performance comparable with that of centralized algorithms that require global information and have higher computational complexity.
Recently, fog computing has been introduced as a modern distributed paradigm and complement to cloud computing to provide services. Fog system extends storing and computing to the edge of the network, which can solve the problem about service computing of the delay-sensitive applications remarkably besides enabling the location awareness and mobility support. Load balancing is an important aspect of fog networks that avoids a situation with some under-loaded or overloaded fog nodes. Quality of Service (QoS) parameters such as resource utilization, throughput, cost, response time, performance, and energy consumption can be improved with load balancing. In recent years, some researches in load balancing techniques in fog networks have been carried out, but there is no systematic review to consolidate these studies. This article reviews the load-balancing mechanisms systematically in fog computing in four classifications, including approximate, exact, fundamental, and hybrid methods (published between 2013 and August 2020). Also, this article investigates load balancing metrics with all advantages and disadvantages related to chosen load balancing mechanisms in fog networks. The evaluation techniques and tools applied for each reviewed study are explored as well. Additionally, the essential open challenges and future trends of these mechanisms are discussed.
As vehicles playing an increasingly important role in peoples daily life, requirements on safer and more comfortable driving experience have arisen. Connected vehicles (CVs) can provide enabling technologies to realize these requirements and have attracted widespread attentions from both academia and industry. These requirements ask for a well-designed computing architecture to support the Quality-of-Service (QoS) of CV applications. Computation offloading techniques, such as cloud, edge, and fog computing, can help CVs process computation-intensive and large-scale computing tasks. Additionally, different cloud/edge/fog computing architectures are suitable for supporting different types of CV applications with highly different QoS requirements, which demonstrates the importance of the computing architecture design. However, most of the existing surveys on cloud/edge/fog computing for CVs overlook the computing architecture design, where they (i) only focus on one specific computing architecture and (ii) lack discussions on benefits, research challenges, and system requirements of different architectural alternatives. In this paper, we provide a comprehensive survey on different architectural design alternatives based on cloud/edge/fog computing for CVs. The contributions of this paper are: (i) providing a comprehensive literature survey on existing proposed architectural design alternatives based on cloud/edge/fog computing for CVs, (ii) proposing a new classification of computing architectures based on cloud/edge/fog computing for CVs: computation-aided and computation-enabled architectures, (iii) presenting a holistic comparison among different cloud/edge/fog computing architectures for CVs based on functional requirements of CV systems, including advantages, disadvantages, and research challenges.