With the rise of the Internet of Things (IoT), fog computing has emerged to help traditional cloud computing in meeting scalability demands. Fog computing makes it possible to fulfill real-time requirements of applications by bringing more processing, storage, and control power geographically closer to edge devices. However, since fog computing is a relatively new field, there is no standard platform for research and development in a realistic environment, and this dramatically inhibits innovation and development of applications suitable for the fog. In response to these challenges, we propose the FDK: A Fog Development Kit for software-defined edge-fog systems. By providing high-level interfaces for allocating computing and networking resources, the FDK abstracts the complexities of fog computing from developers and enables rapid development of edge-fog systems. Also, the FDK supports the utilization of virtualized devices to create a highly realistic emulation environment, allowing fog application prototypes to be built with zero additional costs and enabling portability to a physical infrastructure. We evaluate the resource allocation performance of the FDK using a testbed, including eight edge devices, four fog nodes, and five OpenFlow switches. Our evaluations show that the delay of resource allocation and deallocation is less than 279ms and 256ms for 95 of edge-fog transactions, respectively. Besides, we demonstrate that resource allocations are appropriately enforced and guaranteed, even amidst extreme network congestion.
Yin @cite_10 built a novel task-scheduling algorithm and designed a resource reallocation algorithm for fog networks, specifically for real-time, smart manufacturing applications. However, unlike the previous work, a management software component is not used in their approach, and each fog node is burdened with the task of deciding whether to accept, reject, or send requests to the cloud. Resource reallocation is periodically run on a single fog node, reallocating resources among tasks in order to meet delay constraints. Their results show reduced task delays and improved resource utilization of fog nodes. Their experiments are strictly simulation-based and the resource management scheme only includes a single fog node during decision making.
@cite_10
2810048489
Fog computing has been proposed as an extension of cloud computing to provide computation, storage, and network services in network edge. For smart manufacturing, fog computing can provide a wealth of computational and storage services, such as fault detection and state analysis of devices in assembly lines, if the middle layer between the industrial cloud and the terminal device is considered. However, limited resources and low-delay services hinder the application of new virtualization technologies in the task scheduling and resource management of fog computing. Thus, we build a new task-scheduling model by considering the role of containers. Then, we construct a task-scheduling algorithm to ensure that the tasks are completed on time and the number of concurrent tasks for the fog node is optimized. Finally, we propose a reallocation mechanism to reduce task delays in accordance with the characteristics of the containers. The results showed that our proposed task-scheduling algorithm and reallocation scheme can effectively reduce task delays and improve the concurrency number of the tasks in fog nodes.