Skip to content
BY 4.0 license Open Access Published by De Gruyter Open Access March 29, 2023

Dynamic system allocation and application of cloud computing virtual resources based on system architecture

  • Chunhua Lin EMAIL logo , Longzi Li and Yuanyi Chen
From the journal Open Computer Science

Abstract

Cloud computing is a system development method based on dynamic sharing, which allows a large number of systems to be combined to provide services. The purpose of this work is to study the design and implementation of a dynamic virtual resource allocation system in cloud computing, whose architecture allows load balancing between virtual resource pools and reduces resource wastage. Using the cluster network topology, the resource usage of the dynamic system cluster can be monitored in real time, and the total cluster load can be automatically determined based on the monitoring data. The experiment is divided into two parts. Performance testing and scenario testing. Performance tests examine execution time, processor, and memory performance. In the scenario test, JMeter is used to simulate the occurrence of a large number of concurrent application access requests, the loss rate, and processing time of these requests on the cloud platform, and load balancing tests are performed. The test results show that the system running time is about 22–27 ms, the CPU utilization is about 90–95%, and the RAM is about 3.5 ms. The results show that cloud technology can improve resource scheduling of large tasks and optimize resource load balance.

1 Introduction

As the demand for data storage resources continues to increase, it is not only necessary to invest in new storage and computing resources, but also to integrate existing storage and computing resources. Cloud computing integrates resources such as infrastructure, development platforms, and applications, and provides it to cloud users in the form of services as needed to achieve dynamic, high-speed, and efficient task allocation technology. It can respond to large-scale business needs and sudden large-scale needs.

Due to the increase in user activity in online social networks, online social network services have also gained a large amount of data access, and the system pressure on service providers is also rapidly increasing. In many cases, the resource load of a large cluster will change, and the system administrator cannot accurately determine the current resource load of the cluster in a short period of time. Therefore, by using the system virtualization technology, the purpose of effectively integrating resources, improving the utilization rate of computing center resources, reducing energy consumption, and reducing operating costs can be achieved.

The ultimate development goal of cloud accounting is to provide convenient and low-cost cloud computing services for all enterprises and individuals. Sandhu discussed the definition, classification, and characteristics of big data, as well as various cloud services, and made a comparative analysis of various cloud-based big data frameworks [1]. Shyam and Manvi believe that with the increasing demand for dynamic execution of user applications in the cloud, resource prediction technology is becoming more and more important as the basis for online capacity information security and data center project development. Developing accurate resource demand forecasting methods has wide-range applications to ensure that virtualized resources are not over or underutilized. They proposed a Bayesian model to simulate a CE data center in a dynamic scheme by using network simulators and workload tracking from Amazon EC2 and Google [2]. While their research can accommodate a variety of workload patterns, the demands on the server are very high. According to Sun and Wang, the scheduling and management of virtual machines (VMs) is at the heart of systems running on cloud platforms. At present, there is no effective virtual machine motion (VMotion) scheduling strategy to ensure the Quality of Service (QoS) of VMs and prevent the “snowball shock” of the deck occupancy rate of the entire resource pool. According to the behavior analysis of VM accessing resources, they proposed a VMotion scheduling strategy. According to the monitoring data of the VM, the resource behavior characteristic curve, total CPU, available disk I/O, and net I/O utilization of the VM for 1 day can be obtained. By processing the curve using filtering and segmentation algorithms, they can determine how far the VM can move. They added a pre-activity step in VMotion to predict the CPU, disk, and network I/O of the host through the overlap of VM curves, avoiding VM motion without affecting its QoS, thereby improving the QoS of the entire cloud platform, especially in the field of wind power, when the resource occupancy rate is again at a premium. Source behavior may also be helpful in testing the safety of VM exceptions [3]. Although their research has a low resource occupancy rate, it lacks feasibility. According to Feng et al., the supply of useful raw materials and QoS guarantees are the main cloud challenges. They believe that solving such problems can reduce the overuse of resources, improve user satisfaction by providing services during peak hours, and reduce provider implementation costs and user service costs. Their research work focuses on accurate estimation of capacity requirements, creation, and scheduling of static or dynamic VMs. But creating and destroying VMs that can be used to handle more requests takes a lot of time. They developed a new adaptive quality-aware configuration system to ensure optimal use of network resources. Requests of comparable size used by VMs are recycled, thus greatly reducing the creation cycle of the machine and serving higher level user queries. In their proposed model, QoS is constrained by the underlying structure of higher-level resources and guaranteed by servicing all assignments that do not meet the requirements specified in the SLA. They use queues to separate tasks and assign different tasks to different queues based on priority [4]. Their research method, while reducing costs, lacks many necessary features.

The innovation of this article is that the host is divided into multiple clusters, each cluster mixing its own mixer responsible for mixing real-time tasks and dynamically mixing resources. In addition, cloud computing can push information among multiple people, so that tasks and basic resources can be coordinated with each other. Through the study of the system architecture, practical suggestions for the dynamic allocation of cloud computing virtual resources are put forward, which have important theoretical and practical significance.

2 Cloud computing and virtual resource allocation technology

2.1 Cloud computing technology

Cloud computing is a computing method based on the Internet, which refers to decomposing huge data computing processing programs into countless small programs through the network “cloud,” and then processing and analyzing these small programs through a system composed of multiple servers. The result is returned to the user. Users can access on demand simply and quickly. For users, cloud computing is the most transparent. When the users send task requests on demand, the cloud data center will respond and process accordingly in the shortest time [5].

2.1.1 Features

  1. With multiple data copies and fault tolerance like interchangeable computing nodes, users do not have to worry about virus intrusion and data loss [6].

  2. Can be used anytime and anywhere. Cloud computing is not application specific. With the overall support of the “cloud” cluster, under the premise of the Internet, various application devices can access “cloud” resources.

  3. In the process of multiple shared cloud computing using single storage and data, resources are stored on the application side, and the stored data can be accessed anywhere as long as the network is used to access the cluster [7].

  4. Endless possibilities. If there is network access, cloud computing will provide infinite possibilities. One has almost free access to unlimited storage space and almost unlimited computing power.

  5. Cost-effective. Putting resources into virtual resource pools for unified management optimizes physical resources to a certain extent, and users can choose relatively cheap PCs to form clouds.

2.1.2 Classification

According to the various cloud infrastructure deployment methods of cloud computing, cloud computing systems can be divided into the following types.

  1. Public cloud: Cloud service providers will build cloud infrastructure and provide cloud services to the public or large enterprises through open networks.

  2. Private cloud: Cloud infrastructure can be used by individual organizations or individuals to build or lease cloud services.

  3. Hybrid cloud: One or more personal cloud-based hybrid usage standards. The cloud models that make up a hybrid cloud remain independent.

According to the type of service, bottom-up cloud computing can be divided into three types: cloud infrastructure, cloud platform as a service, and cloud software as a service [8].

  1. Infrastructure as a Service (IaaS): Users obtain cloud services, including physical servers, virtual servers, memory, Internet broadband, and additional basic computing resources. Customers do not need to manage and maintain cloud infrastructure and can execute all software including operating systems and other applications.

  2. Platform as a Service (PaaS): According to the inherent rules of the platform, manufacturers will use the provided development tools or languages to develop their own applications. Or buy the app directly from the vendor [9]. PaaS provides a platform for developers to build applications and services on the global Internet, and it provides an on-demand development environment for developing, testing, and managing software applications.

  3. Cloud software as a service (SaaS): Providers will provide users with ready-to-use applications based on cloud infrastructure. Users obtain application programs from various clients through interfaces such as web browsers. Users do not need to manage and maintain cloud infrastructure [10].

The relationship between the three cloud computing service models is shown in Figure 1. Each service model can be executed independently or in conjunction with cloud infrastructure.

Figure 1 
                     Relationship between cloud computing service models.
Figure 1

Relationship between cloud computing service models.

In a technical point of view, it is not a simple inheritance relationship. SaaS can be based on PaaS or directly deployed on top of IaaS. PaaS can be built on top of IaaS or directly on physical resources.

2.1.3 Key technologies

  1. Virtualization technology

    Virtualization technology refers to virtual-based computing components that are not available in practice. It simplifies the software refactoring process and supports a wide range of operating systems [11]. CPU virtualization technology can simulate multiple CPUs in parallel on a single CPU, so that one platform can run multiple operating systems at the same time, and applications can run in independent spaces without affecting each other, thereby significantly improving the work efficiency of the computer.

  2. Decentralized data storage technology

    A cloud computing system consists of multiple servers. To provide services to a wide range of customers, cloud-based computer systems are used for data storage to decentralize storage. In order to ensure the reliability of data, redundant storage through task decomposition and clustering are mainly used. Decentralized data storage technology can make the network more secure, efficient, cheap, and permanent.

  3. Mass data management technology

    Processing and analysis require large amounts of data. Large amounts of data require long-term storage. Therefore, cloud environments require management technologies that can effectively manage large amounts of data [12].

  4. Programmatically

    Based on the distributed computing model of cloud computing, the internal cloud technology adopts the Map/Reduce programming model. Map/Reduce is a decentralized parallel planning mode and task allocation model, which is mainly suitable for parallel computing, parallel task allocation and processing datasets [13]. Distributed computing breaks down an application into many small parts and distributes them to multiple computers for processing. This can save the overall computing time and greatly improve the computing efficiency.

2.2 Virtualization technology

In general, a virtualized environment may include virtual appliances, virtual networks, virtual communities, and virtual computing environments. Virtualization technology is the foundation of cloud computing environment. Cloud integration management includes user identification, query, and use of various information resources and services in virtual storage [14]. The system can be accessed directly from middleware software and software. The software no longer requires complex setups based on metal handling machines. The virtual network abstracts the basic structure of the network, enabling it to organize and utilize information effectively in the form of a comprehensive network. The development of the network is an important means of cooperation. Through the joint development community on the Internet, various levels of service software can be realized. The software itself is constantly evolving and is designed for ordinary people. Virtual computing environment provides end users with an integrated, fast method, and interface, and corresponding cloud application resources [15].

2.3 Cloud computing virtual resource allocation

Virtual resources are based on computers and networks, and comprehensively use virtual reality technology, simulation technology, geographic information system technology, remote sensing technology, visualization, and other technical means to simulate the temporal and spatial changes in the resource research objects. The introduction of virtual resources in cloud computing can be divided into two aspects: utilization level and facility level. Either way, the focus is on specific applications and infrastructures [16]. Scaling at the task level means that the system distributes the tasks of the application to resources within the executing virtual cluster (programs that require more computing resources, etc.). At the facility level, development includes basic system resources and allocating infrastructure to users, such as host servers in cloud data centers.

VM resources involve multiple aspects: CPU, memory, network, and disk. The relationship between these resources should be considered when planning VMs. In the allocation of cloud computing resources, the allocation of virtual resources follows a specific strategy: (1) Packing. Allocate the fewest servers for resource requests of tasks, maximize the available capacity of servers in the service cluster, reduce the number of shards, and reduce energy consumption. (2) Split. Split task requests so that they are distributed across as many physical servers as possible. This can reduce the impact of host failures and improve the application performance of tasks [17]. (3) Load distribution. Distribute tasks from the least loaded physical servers to improve overall application performance. (4) High availability balance. Start with the most available server, allocate resources to suit the requirements and costs of the server, and adjust the availability level to use the server more efficiently [18]. (5) Affinity balance. For the most guaranteed application performance, you will configure workloads that are closest to swap resources, such as storage devices [19]. (6) Balance of server model. In order to maximize the utilization of higher performance and more expensive resources, task resources will be allocated according to the type of server model [20].

The cloud resource management platform is a platform for centralized management and unified configuration of basic IT resources such as data center computing resources, storage resources, network resources, and application support resources. The main technologies of cloud resource scheduling mainly include the following aspects:

  1. Optimization objective: In order to estimate massive scheduling policies, the scheduling center needs to define various objective functions, such as minimum cost, maximum resource utilization, maximum benefit, and maximum satisfaction of user needs [21].

  2. Scheduling algorithm: It can achieve the optimization goal according to the objective function, and save its own resources to the greatest extent in a very short time. Scheduling algorithms are usually NP problems, computationally intensive, and not general. In the industry, each application uses a different optimal scheduling algorithm.

  3. Scheduling system architecture: At present, the scheduling system architecture of the cloud environment is mainly distributed in multiple levels, which are closely related to the infrastructure of the data center [22].

  4. Analysis of business characteristics of statistical center: Learning business service characteristics helps to optimize the scheduling algorithm [23].

2.4 Virtual resource allocation algorithm

If there is a physical server P that maintains resource D, then the d-dimensional resource utilization of the physical server is 1 d D , and then the state vector can be expressed as follows: S ( p ) = ( γ 1 , γ 2 , , γ D ) .

Average resource efficiency refers to the average rate or mathematical expectation of the d-dimensional resource utilization of a physical server, denoted by the symbol γ ¯ p [24]. If the state vector of the physical server P is S ( p ) = ( γ 1 , γ 2 , , γ D ) , the calculation formula is as follows:

(1) γ ¯ p = 1 D 1 D γ d .

The change value of resource utilization rate can reflect the balance of resource utilization rate by objectively evaluating the change range of each resource utilization rate. By definition, the variation value of resource utilization is equal to the mean variance of the resource state vector of the physical server P, represented by the symbol ξ p [25,26]. The calculation is as follows:

(2) ξ p = d = 1 D ( γ d 1 D d = 1 D γ d ) 2 .

In terms of density, the resource utilization of a physical controller is the current usage of servers as a percentage of the total size of the facility. It is measured as follows:

(3) γ d = C m d C j d C m d .

For a given state vector point S ( γ 1 , γ 2 , γ D ) , the domain function is F ( S ) defined as follows:

(4) F ( S ) = ID, if γ ¯ p [ γ m , 1 ] ξ p [ 0 , ξ 1 ] , AD, if γ ¯ p (0, γ m ) ξ p [ ξ 1 , ξ 2 ] , FD, else .

The order of requested resources for virtual server V is A v = ( A 1 , A 2 , , A D ) . After the virtual server V is deployed to the physical server P, the state vector of P changes. A state vector is defined as the latent state vector shown as S p v = ( γ 1 ' , γ 2 ' , , γ D ' ) . The formula for calculating resource usage γ d ' is as follows:

(5) γ d ' = C m d C p d + A d C m d = C m d γ d + A d C m d .

Whether it is appropriate to deploy the VM V in the physical server P can be judged according to the context vector. That is, the adaptability of the physical server can be judged according to the domain of the potential vector in the vector space. If multiple physical servers selected in the same subdomain have the same priority, the best physical server will be selected [27,28]. The value of the potential state vector at a certain moment is called the state of the system at that moment. The value of the potential state vector at time t = 0 is called the initial state or initial state of the system.

The data center has M subtask declarations, and each service is assigned a J number. The time span required by the data center to complete the task is expressed as: time cost

(6) Time cos t = j = 1 n max i = 0 j ( t wa + t tr + e t j i .

Based on the utilization of the above three sub-indicators, the utilization formula of VM resource nodes is as follows:

(7) V o c j = k 1 i = 1 m ( a l j i C i ) V c j + k 2 i = 1 m ( a l j i M i ) V m j + k 3 i = 1 m ( a l j i N i ) V n j × 100 % .

In a cloud computing environment, users acquire resources through metering and billing. Therefore, the goal of virtual resource scheduling in cloud computing environment should not only consider the performance of the application, but also the utilization of resources, the performance of the application, and the energy consumption of the cloud data center [29].

3 Cloud computing virtual resource allocation experiment

3.1 Experiment content and parameter settings

Test content for test and scenario test segments. Here the service test can verify the efficiency and stability of the system, and the scenario test can verify the function of the system and the accuracy of the scheduling algorithm. The performance test mainly includes three parts: runtime test, CPU test execution, and memory test. The scenario test mainly tests two scenarios: load balancing, energy-saving integration, and hybrid scenarios [30,31].

The experimental parameter settings and VM parameter configuration are shown in Tables 1 and 2. The experiments consider three resources, namely, CPU, RAM, and internet connection flexibility. Physical machine CPU has a storage of 30,000 MIPS, memory of 5,120 MB, and network speed of 2,000 MB/s [32].

Table 1

Experimental parameter settings

Population size Number of subgroups Number of iterations Number of physical machines Number of VMs Resource threshold
3,000 6 150 200–400 200–400 0.96
Table 2

VM parameter settings

CPU (MIPS) Memory (MB) Network bandwidth (MB/s)
200–3,000 1,000–1,500 200–500

3.2 Experimental environment

Cluster-available channels are shared by all users with automatic channel selection. It is a multipurpose, high-performance wireless scheduling communication system for resource sharing, cost sharing, and channel equipment and service sharing. The cluster network topology is shown in Figure 2. In a real cloud environment, a cluster usually consists of multiple racks. Switches are used to connect each physical server in the same rack, and routers are used to interconnect servers in different racks. To bring the results closer to practical application, the 11 PCSs were divided into two groups, and the two switches were connected to the routers [33].

Figure 2 
                  Cluster network topology.
Figure 2

Cluster network topology.

3.3 Experimental process

3.3.1 Performance test

The data were tested from three aspects: running time, running CPU, and running memory. According to the size of the virtual cluster, the experimental data were divided into 18 groups, each group of data was tested 100 times, and the average value was taken.

3.3.2 Field test

Using JMeter simulation, a large number of concurrent application access requests and cloud service platforms can handle the loss rate and response time of these requests for load balancing testing. Using a 45 M project as a test case, the time required to publish the entire application was completed within 10 s.

3.4 Experimental results

The system runtime is about 22–27 ms, and the number of cold-spot physical machines usually accounts for about 1/4 to 1/5 of all physical machines. The CPU utilization test results show that most of the data are around 90–95%. Memory utilization remains low during system operation. On average, it takes up about 3.5 MB of memory.

The total runtime is about 22–27 ms, and the number of cold-spot physical machines is about one-third of all physical machines. Most numbers are around 90–95% based on the results of the CPU usage test. When the system is running, the average memory usage is around 3.5 MB, which is kept at a low level.

4 Analysis of virtual resource allocation results

4.1 Analysis of experimental results

4.1.1 Total operating time

The running time of the system in the energy-saving integration scenario and the load balancing scenario is shown in Figures 3 and 4. As the cluster size becomes larger, the processing time of each indicator increases, but at the current scale, the time increase is not large. Even at the maximum scale shown in the figure, the total runtime of the system is only around 22–27 ms, so the execution time shown by the energy saving integration algorithm is still low. The load balancing algorithm takes longer to execute than other algorithms. The reason is that the balancing algorithm requires an iterative process to find the optimal placement strategy. This process consumes the most time.

Figure 3 
                     Runtime changes in energy saving integration scenarios.
Figure 3

Runtime changes in energy saving integration scenarios.

Figure 4 
                     Runtime changes in a load balancing scenario.
Figure 4

Runtime changes in a load balancing scenario.

4.1.2 Running the CPU

The CPU utilization when the system is running is shown in Table 3. As can be seen from the data in the table, most of the values are above 90%. The average frequency of the No. 1 VM is 92.3%, the average frequency of No. 2 is 94.64%, the average frequency of No. 3 is 96.7%, the average frequency of No. 4 is 95.08%, and the average frequency of No. 5 is 95.68%. That is, when entering the working phase from the initialization phase, multiple physical servers are started to deploy VMs. Most VM requests received since then have been deployed on existing physical servers in working condition. As time goes by, more and more business flows are received from VM requests, the physical resources used cannot be released in time, and more and more new physical servers are created, and the CPU utilization increases with the number of tasks. It keeps increasing and has maintained a high utilization rate of over 90%.

Table 3

CPU ratio used by the system

Frequency VM test label
No. 1 No. 2 No. 3 No. 4 No. 5
1 92.3% 96.4% 98.1% 92.6% 93.3%
2 91.5% 97.1% 96.4% 91.5% 97.2%
3 89.8% 92.0% 97.5% 96.7% 96.0%
4 92.6% 93.5% 95.4% 97.2% 95.3%
5 95.3% 94.2% 96.1% 97.4% 96.6%

4.1.3 Load balancing

The results of the load balancing test are shown in Table 4. As can be seen from the results, when the number of concurrent applications for the application access test is 10, 50, 100, and 500, the actual response time is lower than expected, which indicates that the system is working well and can handle some load. If the number of concurrent operations in the application performance test is 50 or 500 and the actual response time is higher than expected, this may be related to the current network environment. Generally speaking, the system has the function of load balancing. Virtualization is the process of representing logical groups or subsets of computer resources. By abstracting resources, users can access processes in a better way than the original configuration. Virtual resources are not limited by the specific implementation, geographic location, or basic physical configuration of existing resources. Virtualization resources include hardware resources (CPU, memory, hard disk, network resources, etc.) and software resources (operating system, file systems, database systems, applications, etc.).

Table 4

Test results

Performance test project Concurrency Expected response time in seconds Actual value
Application access test 10 0.45 0.389
50 0.85 0.768
100 1.35 1.212
500 5.55 3.501
Application run test 10 0.45 0.433
50 0.85 0.887
100 1.35 1.235
500 5.55 7.012

4.2 Analysis of virtual resource utilization

First-Fit algorithm is a continuous physical memory allocation algorithm. It concatenates free memory blocks according to their addresses from small to large. The specific implementation uses a doubly linked list. The resource utilization of the First-Fit algorithm and the MS series algorithm is shown in Figure 5. Both First-Fit and MS-SF algorithms are suitable for static service models, while MS-DF and MS-V algorithms are suitable for dynamic models. It can be seen from the figure that when the number of VM requests is small, the resource utilization of the two algorithms is equivalent. When the number of VM requests increases, the resource utilization of the MS-SF algorithm is higher. This is because these two algorithms are actually greedy algorithms. When the VM request size is small, the decision difference is not large, but when the VM request size becomes large, First-Fit cannot guarantee the most robust algorithm solution. The MS-SF algorithm can ensure that the optimal configuration pair is found to optimize the target when the algorithm solution deviates from the optimal solution. Therefore, as the scale of VM requests increases, the resource utilization of MS-SF will be higher. Given the same request, MS-V algorithm can provide higher resource utilization than MS-DF, because more physical machine types lead to more scheduling options, resulting in less scheduling fragmentation and higher resources utilization. Compared with the static model algorithm, the resource utilization rate of the two is lower, because the mobility of the VM is large, and the physical resources are not always occupied by the VM, so the resource utilization rate under the dynamic model will be relatively low.

Figure 5 
                  Comparison of resource utilization between First-Fit algorithm and MS series algorithm.
Figure 5

Comparison of resource utilization between First-Fit algorithm and MS series algorithm.

When scheduling virtual resources, it is necessary to ensure that the sum of various resources of the VM on the physical host does not exceed the total resources provided by the physical machine, so that various resources have different utilization rates. In this combination, disk is a relatively surplus resource because disk utilization has been relatively low. Therefore, memory utilization is selected as a parameter for evaluating resource utilization, and only physical machine occupancy is counted. By comparison, it can be found that in the case of fewer VM requests, the physical machine resource utilization of the First-Fit and MS-SF algorithms are equivalent. The MS-SF algorithm is a “segmentation” or “clustering” algorithm that groups examples into categories that contain similar features. It identifies relationships in a dataset and generates a series of classifications based on those relationships.

4.3 Analysis of virtual resource allocation strategy

As a resource management scheduler, the physical server PM6 is responsible for selecting appropriate physical resources according to user requirements and providing them to the cloud controller PM1. PM1 is responsible for sending a resource allocation message to the selected physical server, calling the physical resource to deploy the virtual server required by the user, and the selected physical server feeds back the current available resource status of resource monitoring to the resource scheduling manager PM6 device through physical resources, so as to do the next resource scheduling. The resource scheduling manager PM6 receives the virtual server request traffic flow in a certain time slot. A service flow consists of multiple virtual server request queues. Requests may come from different users. The type and number of request queues that make up the traffic vary. Then, the resource scheduling manager analyzes the resources of the service queue and obtains the resource requirements of the virtual server. The 60-slot resource scheduling is performed using the FF policy and the AM-R policy, that is, when the FF policy and the AM-R policy are used respectively, 60 VMs respond to requests for service flows. When the AM-R strategy is adopted, the resource fragmentation generated by the physical server is much less than that of the FF strategy, and the number of resource fragments has been relatively stable. This shows that in the process of deploying virtual servers, the usage status of physical servers is relatively stable. The resource sharding curve of the FF strategy increases linearly with time, and the number of resource shards is much larger than that of the AM-R strategy. This shows that the usage status of the physical machine under the scheduling policy has been changing and may be new. When a physical server is turned on, a large number of resource fragments are generated. For the same virtual server request service flow, the AM-R strategy uses significantly less number of physical servers than the FF strategy. At the same time, we can find that the number of physical servers used by both the strategies increases with the number of traffic flows processed.

In the early stage of virtual server deployment, the physical server utilization of the two strategies fluctuated greatly, and then tended to be stable. However, the physical server utilization of the FF strategy is higher than that of the AM-R algorithm, indicating that the AM-R strategy uses fewer physical servers when the physical resources are sufficient. The reason why the physical server utilization of the FF strategy tends to be stable is that the physical resources in the cluster under the current strategy are saturated and can no longer accept new VM requests. From the physical server utilization curve of the AM-R strategy, it can be seen that in the initial stage of virtual server deployment, that is, when the cloud platform transitions from the initialization stage to the working stage, multiple physical servers will be turned on to deploy virtual server machines. After that, most of the VM requests received were deployed on physical servers in existing working state. If the deployment conditions are not met, a new physical server will be started, so the utilization curve of the physical server is relatively stable. With the passage of time, more and more VM request traffic is received, the used physical resources cannot be released in time, and more and more new physical servers are created. Therefore, the curve is still showing an overall upward trend and will eventually align with the FF strategy’s physical server utilization curve.

5 Summary

With the increasing demand for application services, the scale of virtualized clusters is also expanding. This work analyzes and studies the problem of dynamic resource scheduling in detail, conducts a comprehensive analysis of cloud computing, describes the key technologies used in each layer in the three-tier architecture of cloud computing, and then compares various service strategies to select the optimal strategy. The system can deal with various business scenarios such as load balancing, initial configuration, energy saving and emission reduction, and hot spot cancellation. It can also be effectively used as a scheduling module for cloud computing systems.

The system divides the hosts into clusters, each with its own scheduler. The scheduler is responsible for real-time task scheduling and dynamic resource allocation. In addition, through the push and pull of information between multiple cooperative schedulers, the scalability of the cloud service system is improved by jointly scheduling tasks and basic resources. After a specific task is completed, the VM schedules a new task to prevent errors caused by random factors in the scheduling scheme and ensures the stability and accuracy of the scheduling scheme.

Cloud computing resources can be used to expand computing centers, and dynamic data can be used to expand computing centers. Virtualization technology and virtualization resource management technology play an important role in cloud computing platform. Therefore, it is of great significance to study the effective virtual resource management optimization methods for improving resource utilization, reducing system energy consumption, and reducing the operating cost of cloud computing data centers.

  1. Funding information: This work was supported by The Science and Technology Research Project of Jiangxi Education Department in China (Project No. GJJ213202).

  2. Author contributions: Chunhua Lin: conceptualization, methodology, writing; Longzi Li: software, writing; and Yuanyi Chen: validation, writing.

  3. Conflict of interest: The authors declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

  4. Data availability statement: The data that support the findings of this study are available from the corresponding author upon reasonable request.

References

[1] A. K. Sandhu, “Big data with cloud computing: Discussions and challenges,” Big Data Min. Anal., vol. 5, no. 1, pp. 32–40, 2022.10.26599/BDMA.2021.9020016Search in Google Scholar

[2] G. K. Shyam and S. S. Manvi, “Virtual resource prediction in cloud environments: A Bayesian Approach,” J. Netw. Comput. Appl., vol. 65, no. April, pp. 144–154, 2016.10.1016/j.jnca.2016.03.002Search in Google Scholar

[3] A. Sun, T. Ji, and J. Wang, “Cloud platform scheduling strategy based on virtual machine resource behavior analysis,” Int. J. High. Perform. Comput. Netw., vol. 9, no. 1/2, p. 61, 2016.10.1504/IJHPCN.2016.074659Search in Google Scholar

[4] Y. Feng, W. Zhi Jian, and H. Qian, “A new QoS-Aware mechanism for virtual machine resource provisioning in the cloud,” J. Algorithms Comput. Technol., vol. 10, no. 3, pp. 169–175, 2016.10.1177/1748301816649077Search in Google Scholar

[5] A. Orugonda and V. K. Kumar, “Distributed cloud data center for energy organization scheduling virtual machine resources,” Int. J. Comput. Eng., vol. 6, no. 7, pp. 809–813, 2018.10.26438/ijcse/v6i7.809813Search in Google Scholar

[6] Y. Hu, “A power control framework in a new virtual resource environment,” Int. J. Netw. Virtual Organ., vol. 16, no. 3, p. 253, 2016.10.1504/IJNVO.2016.079179Search in Google Scholar

[7] F. Nzanywayingoma and Y. Yang, “Task scheduling and virtual resource optimization in cloud computing environment based on Hadoop YARN,” Int. J. Cloud Comput., vol. 7, no. 2, pp. 83–102, 2018.10.1504/IJCC.2018.093741Search in Google Scholar

[8] W. Zhu, Y. Zhuang, and L. Zhang, “Three-dimensional virtual resource scheduling method for cloud computing energy saving,” Gener. Comput. Syst., vol. 69, no. April, pp. 66–74, 2017.10.1016/j.future.2016.10.034Search in Google Scholar

[9] M. Richart, J. Baliosian, J. Serrat, and J. L. Gorricho, “Resource slicing in virtual wireless networks: A review,” IEEE Trans. Netw. Serv. Manag., vol. 13, no. 3, pp. 1–15, 2016.10.1109/TNSM.2016.2597295Search in Google Scholar

[10] L. Chen, F. R. Yu, H. Ji, G. Liu, and V. C. M. Leung, “Distributed virtual resource allocation in small cell networks with full-duplex self-backhaul and virtualization,” IEEE Trans. Veh. Technol., vol. 65, no. 7, pp. 5410–5423, 2016.10.1109/TVT.2015.2469149Search in Google Scholar

[11] F. Z. Youssef and T. Taleb, “Fine-grained resource-aware virtual network function management for 5G operator cloud,” IEEE Netw, vol. 30, no. 2, pp. 110–115, 2016.10.1109/MNET.2016.7437032Search in Google Scholar

[12] Y. T. Cheung, M. P. Wang, H. C. Li, A. Kwong, V. Lai, S. S. Chan, et al. “Random access and virtual resource allocation in software-defined cellular networks for machine-to-machine communication,” IEEE Trans. Veh. Technol., vol. 66, no. 7, pp. 6399–6414, 2017.10.1109/TVT.2016.2633525Search in Google Scholar

[13] R. Mijumbi, S. Hasija, S. Davy, A. Davy, B. Jennings, and R. Boutaba, “Topology-aware prediction of virtual network function resource requirements,” IEEE Trans. Netw. Serv. Manag., vol. 14, no. 1, pp. 106–120, 2017.10.1109/TNSM.2017.2666781Search in Google Scholar

[14] Z. Tan, F. R. Yu, X. Li, H. Ji, and V. C. M. Leung, “Virtual resource allocation for heterogeneous services in a full-duplex SCN with mobile edge computing and caching,” IEEE Trans. Veh. Technol., vol. 67, no. 2, pp. 1794–1808, 2018.10.1109/TVT.2017.2764002Search in Google Scholar

[15] L. Tang, X. Yang, X. Wu, T. Cui, and Q. Chen, “Self-backhaul virtual resource allocation for virtualized wireless networks based on queue stability,” IEEE Access, vol. 99, p. 1, 2018.10.1109/ACCESS.2018.2797088Search in Google Scholar

[16] Z. Wang, E. Sun, M. Li, J. Li and Y. Zhang, “Optimal virtual resource allocation during random access process for machine-to-machine communication in software-defined cellular networks,” Ad Hoc Sens Wirel Ne., vol. 40, no. 1–2, pp. 97–118, 2018.Search in Google Scholar

[17] D. Kontoudis and P. Fouliras, “A statistical method for virtual server resource management,” Concurr. Comput. Pract. Exp., vol. 30, no. 4, p. e4335, 2018.Search in Google Scholar

[18] H. Li, W. Li, S. Zhang, H. Wang, Y. Pan, and J. Wang, “Multi-resource-constrained virtual machine packaging based on page sharing reduces network traffic in cloud migration,” Gener. Comput. Syst., vol. 96, no. July, pp. 462–471, 2019.10.1016/j.future.2019.02.043Search in Google Scholar

[19] M. K. Gupta and T. Amgoth, “Resource-aware virtual machine placement algorithm for IaaS cloud,” J. Supercomput., vol. 74, no. 1, pp. 122–140, 2018.10.1007/s11227-017-2112-9Search in Google Scholar

[20] M. K. Gupta, A. Jain, and T. Amgoth, “Power and resource aware virtual machine placement for IaaS Clouds,” Sustain. Comput. Inform. Syst., vol. 19, no. September, pp. 52–60, 2018.10.1016/j.suscom.2018.07.001Search in Google Scholar

[21] D. Kontoudis and P. Fouliras, “A statistical method for virtual server resource management,” Concurr. Comput., vol. 30, no. 4, pp. e4335.1–e4335.18, 2018.10.1002/cpe.4335Search in Google Scholar

[22] S. P. Pravin and K. T. Rao, “Example of dynamically ranking virtual machines using resource depth analysis,” Int. J. Pure Appl. Math., vol. 119, no. 14, pp. 1255–1258, 2018.Search in Google Scholar

[23] S. Lavagna, D. W. Paul, and N. M. S. Kumar, “Resource matching and virtual grouping of cloud resources based on security agents - an integrated approach,” Int. J. Pure Appl. Math., vol. 119, no. 12, pp. 1083–1095, 2018.Search in Google Scholar

[24] J. Zhang, N. Xie, W. Li, K. Yue and X. Zhang, “A real multi-demand auction mechanism for cloud computing virtual resource allocation,” Thought Xinxi Xuebao/J. Electron. Inf., vol. 40, no. 1, pp. 25–34, 2018.Search in Google Scholar

[25] N. Mahendran and T. Mekala, “Improving energy efficiency of virtual resource allocation in cloud data centers,” Indian. J. Sci. Technol., vol. 11, no. 19, pp. 1–8, 2018.10.17485/ijst/2018/v11i19/123227Search in Google Scholar

[26] Y. Cheng, L. Yang, and H. Zhu, “Virtual resource allocation in virtualized small cell networks with physical layer network coding assisted self-backhaul,” Ksii Trans. Internet Inf. Syst., vol. 11, no. 8, pp. 3841–3861, 2017.10.3837/tiis.2017.08.005Search in Google Scholar

[27] D. Tschannen, “Developing a virtual crew resource management training program to improve communication,” J. Contin. Educ. Nurs., vol. 48, no. 11, pp. 525–532, 2017.10.3928/00220124-20171017-11Search in Google Scholar PubMed

[28] X. Wei, Y. Jin, H. Li, X. Wang and S. Hu, “Green computing virtual resource integration based on virtual cluster live migration,” J. Commun., vol. 11, no. 2, pp. 192–202, 2016.10.12720/jcm.11.2.192-202Search in Google Scholar

[29] X. S. Zhenchun, “Cloud computing virtual machine resource load balancing scheduling based on cat group optimization algorithm,” J. Jilin Univ., vol. 54, no. 5, pp. 1117–1122, 2016.Search in Google Scholar

[30] A. Cabrera, A. Acosta, and F. Almeida, “A heuristic technique to improve energy efficiency with dynamic load balancing,” J. Supercomput., vol. 75, no. 3, pp. 1610–1624, 2019.10.1007/s11227-018-2718-6Search in Google Scholar

[31] S. Ray and Peeters, “System-on-chip platform security assurance: Architecture and validation,” Proc. IEEE, vol. 106, no. 1, pp. 21–37, 2018.10.1109/JPROC.2017.2714641Search in Google Scholar

[32] L. Deng, Y. He, and Y. Zhang, “Device-to-Device load balancing for cellular networks,” IEEE Trans. Commun., vol. 67, no. 4, pp. 3040–3054, 2019.10.1109/TCOMM.2018.2890225Search in Google Scholar

[33] Y. Kwon and M. Rhu. “A case for memory-centric HPC system architecture for training deep neural networks,” IEEE Computer Archit. Lett., 2018, vol. 17, no. 2, pp. 134–138.10.1109/LCA.2018.2823302Search in Google Scholar

Received: 2022-06-16
Revised: 2022-09-28
Accepted: 2022-10-09
Published Online: 2023-03-29

© 2023 the author(s), published by De Gruyter

This work is licensed under the Creative Commons Attribution 4.0 International License.

Downloaded on 2.3.2024 from https://www.degruyter.com/document/doi/10.1515/comp-2022-0259/html
Scroll to top button