Container-based operation system (OS) level virtualization has been adopted by many edge-computing platforms. However, for an edge server, inter-container communications, and container management consume significant CPU resources. Given an application composed of interdependent tasks, the number of such operations is closely related to the dependency between the scheduled tasks. Thus, to improve the execution efficiency of an application in an edge server, task scheduling and task containerizing need to be considered together. To this end, a joint task scheduling and containerizing (JTSC) scheme is developed in this article. Experiments are first carried out to quantify the resource utilization of container operations. System models are then built to capture the features of task execution in containers in an edge server with multiple processors. With these models, joint task scheduling and containerizing is conducted as follows. First, tasks are scheduled without considering containerization, which results in initial schedules. Second, based on system models and guidelines gained from the initial schedules, several containerization algorithms are designed to map tasks to containers. Third, task execution durations are updated by adding the time for inter-container communications, and then the task schedules are updated accordingly. The JTSC scheme is evaluated through extensive simulations. The results show that it reduces inefficient container operations and enhances the execution efficiency of applications by 60 percent.
Read full abstract