Edge Computing Implementation Based on VM

版权声明:本文为博主原创文章,转载请注明出处,查看原文章,请访问:http://blog.csdn.net/xingjiarong https://blog.csdn.net/xingjiarong/article/details/78006249

I、Virtualization and Virtual Machine

In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, storage devices, and computer network resources[1]. This virtual version of something is called virtual machine. Virtual machines are similar to real machines. If they are virtual CPUs, then they can run several processes or threads and execute complex computing programs like real CPUs. If they are virtual disks, then they can store data or files and users can read from or write on it like real disk.

Virtualization has already been widely used in cloud computing. Cloud computing manage huge computing and storage resources by virtualization and allocate resources to uses by creating virtual machines. Usually, clouds are made of several powerful servers. By virtualization, resources of these servers can make up a resources pool. When users require services, clouds create a virtual machine using part of resources of the resources pool. Processes of users are running in virtual machines. The simple architecture of cloud is described in the following picture.

Virtualization and virtual machine have many advantages:

  • Reduce Operation Cost: Virtualization could shield the complexity of hardware. Heterogeneous hardware could be abstracted as a uniform resource pool. People could only focus on the utilization of resource in the resource pool rather than concern about the low-level hardware.

  • Flexibility: A system cloud dynamically allocate resource to users. When a users require more resource, the system could allocate more CPU cores or storage space to them. When they finish their tasks, resource can be returned to the resource pools.

  • Security: Virtual machines are independent of each other. If a virtual machine is affected by virus or collapse, it will have no influence for other virtual machines.

  • Scalability: We could add or delete physical machines with no change of high-level applications.

II、Requirements of Edge Computing

However, edge computing is different with cloud computing. A implementation of edge computing should pay attention to the following aspects [2].

  • Resource Constraints: We have discussed in previous articles that edge computing nodes are composed of a series of resources insufficient devices such as smart routers, mobile phones and wearable devices. In cloud computing, a powerful physical server is divided into many virtual machines for several users. However, in edge computing, a series of nodes (physical machines) are combined to one virtual machines.

  • Heterogeneity: Edge computing nodes are made up from various types of devices which are produced by different factories and follow different production standard. To effectively deploy varied services in different IoT devices, a common resource abstraction is essential.

  • Wireless Environment: In addition to WAN, edge computing node are also interconnected by other ways such as Wi-Fi, radio access network, bluetooth. So the communication of these nodes is likely based on reduced bandwidth and highly variable channel quality. Therefore, management solutions must be designed so to reduce the control traffic, while avoiding network bottlenecks.

  • Service Management Complexity: IoT applications can be highly integrated. This requires the deployment of several computing, sensing, and actuation operations over multiple nodes. Hiding such an underlying complexity in service provisioning is an undoubted key feature to boost IoT application deployment. The capabilities of an IoT client can be, indeed, extremely low and moving the service management burden to a third party controller may result strictly necessary. However, the introduction of an external controller can introduce new challenges impacting on both delay and resource consumption.

II、Architecture for VM-Based Edge Computing

Swati Agarwal et al. proposed a kind of architecture for VM-based edge computing[3]. It can be shown as the following picture:

这里写图片描述

This model has three layers: client layer, fog layer and cloud layer. All the data centers will be arranged in fog layer and in cloud layer. Each fog layer has a number of fog data server and cloud layer has a number of cloud data center.

Each fog data server will contains fog server manager which will check the availability of the processor and have the responsibility to manage the VMs.

Initially, any client will submit their request to any fog data server, and then fog data server loads the to its fog server manager. Fog server manager will process the service at this fog server if there is free resource or send it to cloud if there is no available resource.

Fog layer has responsibility to do following jobs:

  • Resource Management: Managing resource of many IoT devices which make up fog nodes.

  • Job Scheduling: Scheduling tasks reasonably in order to get maximum profit and get minimum execution time.

  • Load Balance: Distributing tasks evenly to reduce energy consumption.



Reference:

[1] https://en.wikipedia.org/wiki/Virtualization
[2] Morabito R, Farris I, Iera A, et al. Evaluating Performance of Containerized IoT Services for Clustered Devices at the Network Edge[J]. IEEE Internet of Things Journal, 2017, PP(99):1-1.
[3] Dixit A, Yadav A K, Kumar S. An efficient architecture and algorithm for server provisioning in Cloud computing using clustering approach[C]// System Modeling & Advancement in Research Trends. IEEE, 2017:260-266.

猜你喜欢

转载自blog.csdn.net/xingjiarong/article/details/78006249
今日推荐