A user-oriented resource scheduling method for improving agile software pattern in cloud environment
来源期刊:中南大学学报(英文版)2016年第11期
论文作者:龙飞 杨昌 荣辉桂 李建方
文章页码:2906 - 2916
Key words:resource scheduling; agile software development; project resource manager (PRM); individual resource provider (IRP)-
Abstract: The crowdsourcing, as a service pattern in cloud environment, usually aims at the cross-disciplinary cooperation and creating value together with customers and becomes increasingly prevalent. Software process, as a kind of software development and management strategy, is defined as a series of activities implemented by software life cycle and provides a set of rules for various phases of the software engineering to achieve the desired objectives. With the current software development cycle getting shorter, facing more frequent needs change and fierce competition, a new resource management pattern is proposed to respond to these issues agilely by introducing the crowdsourcing service to agile software development for pushing the agility of software process. Then, a user-oriented resource scheduling method is proposed for rational use of various resources in the process and maximizing the benefits of all parties. From the experimental results, the proposed pattern and resources scheduling method reduces greatly the resource of project resource manager and increases the team resource utilization rate, which greatly improves the agility of software process and delivers software products quickly in crowdsourcing pattern.
J. Cent. South Univ. (2016) 23: 2906-2916
DOI: 10.1007/s11771-016-3354-z
LONG Fei(龙飞)1, 2, YANG Chang(杨昌)3, RONG Hui-gui(荣辉桂)3, LI Jian-fang(李建方)3
1. School of Information Management, Wuhan University, Wuhan 430072, China;
2. Department of Economics and Management, Changsha University, Changsha 410003, China;
3. College of Computer Science and Electronic Engineering, Hunan University, Changsha 410082, China
Central South University Press and Springer-Verlag Berlin Heidelberg 2016
Abstract: The crowdsourcing, as a service pattern in cloud environment, usually aims at the cross-disciplinary cooperation and creating value together with customers and becomes increasingly prevalent. Software process, as a kind of software development and management strategy, is defined as a series of activities implemented by software life cycle and provides a set of rules for various phases of the software engineering to achieve the desired objectives. With the current software development cycle getting shorter, facing more frequent needs change and fierce competition, a new resource management pattern is proposed to respond to these issues agilely by introducing the crowdsourcing service to agile software development for pushing the agility of software process. Then, a user-oriented resource scheduling method is proposed for rational use of various resources in the process and maximizing the benefits of all parties. From the experimental results, the proposed pattern and resources scheduling method reduces greatly the resource of project resource manager and increases the team resource utilization rate, which greatly improves the agility of software process and delivers software products quickly in crowdsourcing pattern.
Key words: resource scheduling; agile software development; project resource manager (PRM); individual resource provider (IRP)-
1 Introduction
Software process is defined as a series of activities implemented by software life cycle. It provides a set of rules for various phases of the software engineering to achieve the desired objectives [1]. However, the globalization, personalization and high-quality of the current software products make project team respond to the changes and deliver valued achievement agilely in the software process [2-3]. These pressing issues mainly include: the development teams should respond quickly to system changes, rapid delivery of software products, high customer satisfaction and continuous improvement and restructuring oriented business objectives and other aspects [4]. So, the contradiction between the strict procedural software production and the characteristics of software development process becomes increasingly evident. Meanwhile, the rapidly changing external market brings new challenges to the traditional software process theory [5-7].
Crowdsourcing aims at the cross-disciplinary cooperation and contains the idea of creating value together with customers [8]. It means that an organization outsources the work tasks performed by its own employees to non-specific (and often larger) public network in a free and voluntary way. Obviously, Crowdsourcing pattern, as a working model of resource scheduling, has developed into a kind of efficient operational mode of service addition, utilization and delivery based on internet [9-10]. This mechanism enables dynamic, easily extended and virtualized resources to interact with each other via internet for achieving the unified management and scheduling of vast resources.
The regular software development pattern (RSDP) allocates and schedules various resources from project resource manager (PRM) to users according to individual needs [11]. Currently, many scholars had proposed a series of resource allocation algorithms and scheduling strategies in cloud service field [12-13]. Compared with existing schemes, they can not only improve the resource utilization efficiency, security and reliability of resources interaction, but also reduce the total cost of PRM [14-15].
In Ref. [16], a linear programming strategy was proposed to deal with resource allocation problem. The scheme divides the cloud service process into two stages: 1) the user requests phase, where data centers deal with all requests from users; 2) the resource allocation phase,where PRMs provide optimal resource services to all users to maximize the system’s throughput and resource utilization. The linear programming strategy increases greatly the system throughput and resource utilization; however, it consumes considerable CPU resource and the increased response time of PRM [17-18].
Subsequently, a technique using high performance computing application (HPCA) was investigated for achieving effective energy saving and resource scheduling with a comprehensive analysis of energy cost, workload, CPU utilization and other factors [19]. Based on the HPCA strategy, users access data centers resource in different regions according to their location and management systems, which will achieve 30% reduction of power consumption and thus bring more benefits for PRMs [20-21]. However, a large number of offsite data centers need to be built, resulting in a great deal of energy consumed and a development cost of new resource increased greatly, and another drawback of HPCA strategy is unable to effectively use external resources.
According to Ref. [22], a service level agreement (SLA) algorithm was designed based on resource allocation strategy, which qualifies customer dynamic needs by matching the conformity degree between the customer requesting parameters and infrastructure layer parameters, and comparing the processing way of heterogeneous virtual machines. The SLA algorithm achieves the dynamic interaction with users and heterogeneous resources allocation in different data centers. However, more offsite data centers need to be built with a great deal of development costs of new resource and remote resources have not been used effectively.
To overcome the limitations of the centralized resource scheduling, we propose an improved crowdsourcing cloud service model to reduce team responsibility. In the proposed model, PRMs first provide leasing resource for individual applicants instead of providing its own resources directly, and then allocate and schedule individual resources dynamically according to user expectations and other constraints. The main contributions are listed as follows:
1) Different from existing software development patterns, we introduce the crowdsourcing framework to software process, and build a crowdsourcing cloud service pattern for improving the agility of software process development. This new pattern allows the project team to find more opportunities for improving software process agility and achieving the most profit;
2) According to the need of project members, we design a user-oriented resource scheduling approach and present a quadratic fitting algorithm, which simplifies the complexity of PRMs, then improves the agility of team development and maximizes the benefits of all parties; Simulations demonstrate that CCSP outperforms RSDP on the development cost, profit and efficiency.
2 CCSP model
In regular software development pattern, project manager allocates and schedules all the resources of project team according to the need of project members. In this pattern, project resources are concentrated and confined in a small team network, which exerts great pressure on resource manager and decreases efficient scheduling of resources, as shown in Fig. 1:
Fig. 1 Working model of RSDP
The structure of RSDP may be described as a center with multiple points, where the resource center denotes a PSM, multiple basic points denote multiple users, and user resources are stored in a centralized data center in cloud.
Under the premise that the data transfer process is safe and reliable in the serving process of RSDP, the users, denoted as m, first apply for a certain resource from the PRM; Then, PRM receives the requests from users and assigns the same quantity of resource pR to each of them. Ignoring the other development fee and the resource of a user stored and in the mode of the existing RSDP, the resource doesn’t split. Suppose that the development price of cloud server resource denotes pp and the price of PRM charges from user denotes up. The each user should pay for the equal fee of the mount of pR. Thus, PRM profit F(c)should be represented as the following Eq. (1), and user fee F(u) may be expressed as Eq. (2):
(1)
(2)
In condition that, each user sends a request to PRM for resource and the processing ratability of cloud servers is supposed to be 100%, the following two cases occur:
Case 1: Suppose that PRM allocates equal resource items to each user, which PRM needs to develop the resource items pR and the development cost denotes pR·m·pp. Thus, the PRM profit can be represented as Eq. (1) and the user cost can be represented as Eq. (2); Then, the idle resource items denote
and the resource utilization of IRPs is 0.
Case 2: PRM allocates resource items pR (the uncertain relation between pR and to each user). PRM at least needs the resource items pR·m. And the development cost at least reaches the amount of pR. Suppose that there exist resources items k(k<=m) satisfying the user needs in the existing RSDP, and then the PRM profit should be represented as F(c)=k·up·pR- m·pR·pp (k≤m). The total user cost is k·up·pR (k≤m) and the idle resource items is represented as expressed as m·pR-
and the resource utilization of IRPs is 0.
From above discussion, we find that the existing RSDP, characterized as a centralized allocation mechanism, assigns the equal resource for each user; thus, this mode constrains the variability and scalability of PRM process resource and results in a higher development cost as well as a lower utilization of process resource. On the other side, the user charges vary with PRM price and users have no right to participate in pricing. So, it is difficult to rent the appropriate process resource according to user capabilities and expectations. In this existing RSDP, PRMs ignore the process resource usability of IRPs and make RSDP almost be in a lower efficiency and a higher operating cost.
2.1 Foundation of model construction
We introduce the crowdsourcing cloud service to agile software process and release resource needs by crowdsourcing pattern. And then we provide software resources service for team needs and external needs by collecting the individual resource provider (IRP) from outside the project team, which thus greatly reduces the duties and pressure of project resource manager (PRM). Meanwhile, we proposed the locality-aware resource scheduling method for optimizing the resource scheduling in crowdsourcing cloud service pattern (CCSP) and improve the resource use efficiency in agile software process. Finally, we reduce the overall resource consumption and cost for the team, and promote software process agility.
In our improved model, the centralized pattern of resource allocation and scheduling has been broken for sharing PRM responsibilities. In CCSP, PRMs, only as a resource agent, provide leasing process resource for individual applicants instead of providing storage resources directly, and then allocate and schedule individual storage resources dynamically according to user expectations and IRPs constraints.
In KantoroVich-Hitchcock problem of operational research, we find the similar basis that both models’ optimization can be reduced to multi-objective linear optimization problems. Then this paper further proposes the improved approach for allocating and scheduling user storage resource, which finally maximizes the interests of all parties in CCSP.
According to the mathematical principles of Kantoro Vich-Hitchcock problems, the resources scheduling process in CCSP can be described as follows: PRM, as a resource agent, needs to distribute one kind of resource provided by m sources (A1, A2, …, Am) to n resource of IRPs (B1, B2, …, Bn). During the allocation process, users can provide the highest price uPiand regard the price of IRPs as the cost in allocation process. The balance sheet and price list of CCSP just seem as that of Cantor los-marvel cork problems, shown as in Table 1 and Table 2. Obviously, this problem may be reduced as how PRMs allocate process resource of all IRPs to maximize benefits under the premise to satisfy user expectations.
Suppose thatdenotes the number of the j-th PRM resource items assigned to user i. There are three types that the PRM allocates the IRPs’ resource to users.
The types are as followings: 1) The user sends a request directly to the IRP. 2) According to the user′s request parameters, PRM, as an agent, directly allocates resource. 3) PRM, as an agent, uses formula (3) to allocate the resource of IRPs.
Because all the IRPs’ parameter does not meet all the user request, l is on behalf of the user number of entering buffer resources with the different request type. kp (p=1, 2, 3) denotes the number of IRPs satisfying user requirements with different request type. Then, the profit of CCSP is represented as the following formula (3) (m denotes the user number, n denotes the number of IRPs):
(3)
The resource number of the i-th user request (unit: GB) denotes as ; The store price declared by user i (unit: RMB/1 GB) denotes as
; The bandwidth of the i-th user request (unit:bps)denotes as
; The reliability of the i-th user request denotes as
; The maximum capacity of the j-th IRP (unit: TB) denotes as
; The resource price of the j-th IRP (unit: RMB/ 1 GB) getting the payment from PRM denotes as
; The bandwidth of the j-th IRP for users (unit:bps) denotes as
; The reliability of the j-th IRP for users denotes as
; The PRM profit of CCSP (unit: RMB) denotes as F(c).
Table 1 Balance sheet of CCSP
Table 2 Price list of CCSP
The constraint represents as the resource allocated by algorithms satisfying the user reliability requirements. Furthermore,
denotes the total reliability when the i-th user resource is assigned to the kp resource.
The constraint represents that the total user bandwidth assigned to the j-th resource must be less than or equal to the maximum bandwidth of the j-th resource.
The constrain represents that the total user resources assigned to the j-th resource should be less than or equal to the maximum resource of the j-th resource.
The equation means that the total resources assigned to kp resource for the i-th user should equal to that of the i-th user resource.
The constraint represents that the total resource of the l user must be less than or equal that of kpIRPs’ resource.
2.2 Solving process of model
Suppose that the total cost is provided by all users, and then the objective function of benefits maximizing satisfy the user needs can be represented as
p=1, 2, 3 (4)
In order to verify the objective function validity, solvability and correctness, we can use a matrix A to denote the benefits of CCSP, just shown as follows:
MaxF(c)=B-CX
(5)
Obviously, the value of B is a constant and equals the sum of fee of these users entering the buffer resource. The resources collection that the i-th user is assigned to the j-th IRP is denoted as X. The collection of the j-th IRP price is denoted as C. Meanwhile, b denotes the collection of all the constraint conditions. So, the relation matrix can be described as
We may divide matrix A into blocks and the first m rows structure m matrices with m×n order. In the k-th matrix, only the elements in the k-th line are all valued ‘1’; the others are valued ‘0’. The last 2*n rows structure 2*n unit matrices with m order. It just showed as below:
The sub-matrices, derived from the matrix A, are diagonal matrixes with the rank of (m+2n-1). That’s to say, in CCSP, any base contains (m+2n-1) column vectors with linear independence, where the feasible solution of any base contains (m+2n-1) variables. In
fact,is one feasible solution of CCSP. In order to verify the reliability of feasible solutions satisfying user needs, we should substitute the feasible solutions into the formula
and then, we may substitute the feasible solutions with filtering into the objective function for finding optimal solutions.
2.3 Model construction
According to previous analysis, the frame model of CCSP redesigns respective functions among PRM, IRPs and users, where IRPs refer to the independent institutions with their own data centers in society and provides services for external customers. The logic model of CCSP is described in Fig. 2.
As shown in Fig. 2, users send the requests for resource according to their own expectations, such as resource uR, price up, bandwidth uB and reliability uA. And PRM assigns the resource to them according to the requests. In CCSP, PRM, as a resource agency, mainly leases IRPs resource and develops the fixed buffer resource instead of providing resource by itself. Users enter the buffer zone as the way of a queue, where once the resource of one user request reaches the overflow value of buffer resource (BR:buffer resource almost being a constant) and other users will be in a waiting state. That is the key point of our resource allocation, which would be illustrated in the following section.
Fig. 2 Logic model of CCSP for agile software development
3 User-oriented scheduling approach
In CCSP, the resource agent center manages uniformly the scattered individual storage resources with the association of cloud server, then allocates and schedules storage resource through the cloud management software. Resource agent center realizes the overall profits optimization by scheduling storage resource according to user requirements. We present a user-oriented optimal allocation strategy to optimize the overall profits of CCSP.
3.1 Scheduling strategy in CCSP
In CCSP, the main process of storage resource scheduling is like these: 1) users determine the scheduling goals of QoS (expectations) and constraints by themselves; 2) users submit resource allocation requests to the cloud service provider according to their budgets and the request urgency degree; 3) PRMs estimate preliminary service profits for accepting the task scheduling within the constraints of QoS goals. For example, if PRMs fail to finish the resource scheduling in deadline time of user request, the PRM needs to pay for the amount of compensation to users according to its actual delay time.
Under these premises of meeting the restrictions of QoS goals, the cloud service providers should fetch as many service profits as possible, while minimizing the costs. With the fixed computation overhead costs, cloud service providers expect to obtain more service profits.
For m application scheduling tasks based on n computing resources, there are nm kinds of scheduling methods. Apparently, the solving process of task scheduling strategy is an NP complete problem without the global optimal solution in the polynomial time complexity.
Therefore, according to user expectation, we design the resource allocation service pattern with first coming and first serving policy for simplifying the complex patterns of resource allocation. This work presents a user-oriented optimal scheduling algorithm (UOSA) based on linear resource scheduling policy.
3.2 User-oriented optimal scheduling algorithm
In CCSP, PRM, as a resource agent, does not offer any storage resource, but manages the data interaction between users and IRPs. UOSA is a scheduling approach that mainly involves the three entities including user requests, IRPs resource and PRMs service. In this approach, users apply process resource, IRPs provide process resource for user requests, and PRMs service responds to the resource allocation requests and schedules.
We first present the basic assumptions. In UOSA, we assume that the cloud server always connects with IRPs and there is no packet loss in the transferring process of storage resources. Setting the basic unit of storage resources and other resource request must be integer multiple of basic unit. In addition, user resource may be grouped according to reliability and other attributes and may be identified by resource ID, which makes it easier to be found when needed.
The first step of UOSA converts user request lists as input and returns an orderly queue with the reliability and other attributes. Users send a request for process resource from PRMs by passing those parameters (resource, price, bandwidth, reliability).
The second step, the core of UOSA, sets the total object function F(c) of maximizing PRM profit by grouping the storage requests by similar reliability. UOSA calculates the user expectation and matches the appropriate storage resource blocks of IRPs. At the same time, the mapping relationship between user expectations and the capabilities of IRPs will be implemented by this user-oriented optimal allocation strategy. User resources with a similar reliability are stored to IRPs with the same reliability, under the prerequisite with the range span of reliability between users and IRPs.
Suppose that the overall goal function with PRM profit maximization is expressed as F(c), and the user fee, as a sub-objective function, is denoted as the process resource utilization of IRPs is denoted P. The resource number of the i-th user storing the j-th resource of IRP is set as the decision variable and some other main constraints that user expectations of those allocation process should conform to the capability needs of IRPs (resource, price bandwidth and reliability). Suppose that l is on behalf of the user number of entering buffer resources with the different request type.
stands for the difference between the remaining process resource after allocating the i-th resource to the j-th and the remaining process resource after allocating the (i+1)-th resource to the j-th. The algorithm for UOSA core allocation is given in Algorithm 1.
Algorithm 1: UOSA
Input user request lists with specific parameters
For all the resource and parameters available
do identify their allocation resource and estimate their load
while (F(c)>0) do
For all the remaining users (l-i) and (kp-j) IRPs
do
set i;
set j;
If (and
)
Receive from user i;
Allocate to the j-th IRP;
If
If
return allocation success;
set i=i+1;
Else
set j=j+1;
Allocate to the j-th IRP;
End Else
End If
End If
bulid F(c).
End If
End for
End While
Obviously, the user-oriented optimal allocation process of CCSP is a kind of distributed allocating mechanism, which takes full use of the process resource of IRPs by introducing more users as IRPs, and improves the utilization rate of IRPs to a higher extent.
3.3 Quadratic fitting and optimal solution
In CCSP, the price of users and IRPs is the dominating factor affecting the total PRM profit. Meanwhile, the bandwidth and reliability are also the mainly constraints affecting the price of IRPs. In order to choose the more appropriate IRPs from the price of IRPs and other factors, we construct a quadratic fitting function to describe the relationship among the price(pP), reliability(pA) and bandwidth(pB) of IRPs. The algorithm of the quadratic fitting function is described as Algorithm 2.
Algorithm 2: Quadratic fitting
Input user parameters with price, reliability and bandwidth
Identify pP, pA and pBthat can be used in this job execution through the quadratic fitting function
For all the parameters available do
Step 1: Initialize the parameters:
Step 2: Defining the quadratic fitting function
Step 3: Realizing the quadratic function
While (i≤n)
If
Printf that the j is a health IRP, The resource can be allocate to users;
j++;
k++;
End If
End While
The algorithm of the quadratic fitting function is mainly based on three arguments pA, pB and pp.pA is the collection of IRP reliability; pBis the collection of IRP bandwidth;pp is the collection of IRP price. The target objects are and
According to the quadratic fitting value of we eliminate some unqualified IRPs with
0.1
Once these process resources of qualified IRPs with
are used up, we may take other IRPs into account for serving for remaining users according to the ascending order of
From the fitting algorithm, we may conclude the relationship among the price, reliability and bandwidth of these IRPs. The bandwidth usually depends on hardware devices, which is basically fixed in the development process. Therefore, the reliability of IRPs is the major factor affecting the IRP price. For obtaining the maximum profit, PRM needs to lease the process resource by sorting the reliability of users and IRPs in ascending order. So, the resources of grouped users with similar reliability should be stored into the buffer resource of IRPs with the corresponding reliability. Suppose that user resources with a lower reliability are assigned to IRPs with the higher one, then PRMs need to pay more to IRPs, and thus the gross profit of CCSP will decrease. Therefore, we need to store resources to the process resource of IRPs with the closest reliability in order to get the maximum profit. Obviously, the reliability of IRPs is a determining factor affecting the gross profit of PRM in CCSP.
So, we might divide user resources into multiple basic unit and store them into the corresponding IRPs with the very close reliability. Under the premise to qualify the reliability requirements, the profit model may be described as formula (6). The process of qualifying user reliability requirements can be described as follows:
1) Split a user resource into multiple IRPs with similar reliability, that is
(6)
2) According to the relationship between the split resources and reliability of IRPs, find out the suitable combination, that is:
(7)
3) Filter out the best combination of and
with the low price of IRPs, by substituting an appropriate allocation portfolio into the objective function F(c):
(8)
Assume that there is only one user, we can solve the goal function by using Lingo methods of Matlab; and as for multiple users, the Table method of Matlab should be adopted.
Table method gets a solution in the form of a list of user needs. Its solving process is as follows:
1) Finding out the basic feasible solution by using the minimum element method;
2) Obtaining the inspection number of all base variables. Judging that the solution is whether the optimal solution. If yes, then the calculation stops; else, turns to the next step with a potential method;
3) Improving the current feasible solutions, and use the closed loop method to adjust;
4) Repeating the procedure of steps 2) and 3) until finding out the optimal solution.
3.4 Profits analysis of CCSP
In CCSP, there are two possibilities for PRM getting the profit from users, described as the following:
Case 1: Suppose that user resources can be split and there is only the i-th user requesting for resource. In this case, the development cost is C; the user fee is the free resource of PRM is Cf and the IRP utilization is:
. There exist the following three cases:
1) When one user sends a request directly to one of IRPs, at this time, p=1, kp=1 and the PRM profit may be represented as formula (9):
F(c)=0 (9)
2) The user makes an application for resources from PRM (initial cost C), and then PRM begins to allocate and schedule the appropriate resource of IRPs. At this time, p=2. kp=1, PRM may allocate the user resource to the q-th resource of the IRP directly. Then, the PRM profit can be represented as formula (10):
(10)
3) The user makes an application for resources from PRM. The PRM divides resources into corresponding portions and allocates them into multiple resources of different IRPs, according to user parameters and conditions of IRPs. At this time, kp=k3, and then the PRM profit is represented as formula (11):
(11)
Case 2: Suppose that multiple users are in line for applying for the resource. In this case, the development cost is C; the user fee is the free resource of PRM is Cf and the IRP utilization is:
There also may have the following three cases:
1) Suppose that multiple users are in line of a queue, applying for the resource from IRPs directly. At this time, p=1, kp=k1, and then the PRM′s profit may be just the same as formula (9).
2) PRM, as an agent, may allocate the resource of IRPs directly, according to the user expectations and parameters. At this time, kp=k2and then the PRM profit is represented as formula (12):
(12)
3) PRM, as an agent, uses formula (3) to solve the minimum cost of IRPs for getting the maximum profit, at this time, kp=k3.
We can find the difference of the PRM profit, development cost, free resource, user cost and the IRP utilization, under the cases of different users in two models. In CCSP, the PRM has no own process resources, but leases IRPs resources, So, the PRM development cost is relatively low and has little free resource compared with existing model. The user fee does not change with PRM, and has a lower cost than the existing RSDP. That CSU stands for RSDP single-user;CMU is for RSDP multi-user;CSSU means CCSP single-user;CSMU stands for CCSP multi-user. The comparison results between CCSP and the existing RSDP are described in Table 3.
4 Data simulation
The proposed model and optimized methods mainly covers process resource allocation, the cost of PRM and users as well as the overall profit of CCSP and PRM. Accordingly, the designed experiment may be divided into three parts. The data simulation is taken mainly by using randomly generated parameters according to user expectations and the parameters of IRPs. The performance advantages of CCSP are demonstrated by comparing the PRM profit, the development cost of PRM, the free resource and user fee.
For verifying the validity of our proposed model and algorithms, the experimental environment is designed close to the real one, which is consistent with crowd sourcing service environments include the experimental operation platform parameters: The 3rd generation processor Intel i5, memory 8G, Win7 ultimate 64-bit system, and a complete cluster of twelve computers is deployed.
Table 3 Comparison between CCSP and RSDP
4.1 Resource growth trend and development cost of PRM
We adopt rand function to produce 10000 users and their request experimental parameters such as required resource, price, bandwidth, reliability. Assume that PRM provides enough bandwidth and reliability to qualify each user requirement, and PRM will charge from the process resource allocation.
4.1.1 Resource growth trend of PRM
In existing RSDP, the resource changes with the number of users in a linear relationship, where PRM assigns the same resource for each user, and if each user applies for 5 G, then, PRM needs to 5000G resource for all users. According to the simulation results that the development of PRM in CCSP is almost 11.8% than that of the existing RSDP, the growth trend comparison of the resource with the number of users in CCSP and the existing RSDP is described in Fig. 3.
Fig. 3 Growth trend of CCSP and RSDP
4.1.2 Development cost of PRM
In existing RSDP, the development cost of PRM changes with the resource in a linear relationship, which greatly increases the development cost. While PRM in CCSP just needs some resource costs instead of changing with the number of users, which will greatly reduce the development cost of PRM. The simulation indicates that the development cost in CCSP is almost 21.4% of that in the existing RSDP.
4.2 User fee and load balancing
4.2.1 User fee
Assuming that during the data transfer process, packet loss does not occur. When one user requests for the resource from PRM in existing RSDP, the user needs to pay for the required resource, while the user only needs to pay the expectation expense in CCSP. The simulation results show that user fee in CCSP is almost 35.2% of that in the existing RSDP. The user cost trend comparison in CCSP and the existing RSDP is showed in Fig. 4.
Fig. 4 User cost trend of CCSP and RSDP
4.2.2 Load balancing of IRPs
In CCSP, PRM allocates user resources to the resource of IRPs with no resource provided, which oftenmakes the PRM be in an idle state. One reasonable allocation of the resource IRPs will achieve the load balancing of IRPs, which improves the utilization of IRPs greatly. The simulation shows that the resource utilization rate of IRPs will increase to 65.2%, in CCSP.
4.3 Profit of CCSP and PRM
We use a random function in Matlab to produce 10000 user request parameters and expectations as shown in Fig. 5 and 200 IRPs’ parameters as shown in Fig. 6.
We use Matlab to select randomly a user (supposing the user number being 7897) and assign it into 200 servers. According to formulas (11), (12) and (13), we can calculate the profits of PRM under different requests as shown in Fig. 7.
PRM selects 1000, 3000, 5000, 7000 and 10000 users separately, and assigns them into 200 servers and groups them with the reliability requirements. Then we use Matlab to calculate the PRM profit as shown in Fig. 7, under the premise of satisfying different requests, according to formulas (1), (11) and (14). The spatial distribution graphi of resource is shown in Fig. 8.
From the above analysis, we may learn that CCSP reduces the user cost of the resource, increases the resource utilization of IRPs and improves the load balancing of resources. At the same time, CCSP reduces the development cost of PRM and provides a new profit mode for PRM. However, CCSP needs to spend more time when allocating the resources of IRPs, which is the drawback of CCSP. Next, we will study how to reduce the processing time of allocating processes in the future.
5 Conclusions
1) A new resource allocation and scheduling scheme CCSP is proposed to agile software development for pushing the agility of software process.
2) In CCSP, the resource agent center manages uniformly the scattered individual storage resources with the association of cloud server, then allocates and schedules storage resource through the cloud management software. According to user expectation, we design the resource allocation service pattern with first coming and first serving policy for simplifying the complex patterns of resource allocation. This model allows us to look unify many seemingly different algorithms, and discover some unknown allocation strategies.
Fig. 5 User request parameters and expectations
Fig. 6 Parameters of IRPs
Fig. 7 PRM profit
Fig. 8 Resource spatial distribution
3) The performance of CCSP is compared with CSM. The simulation results indicate that CCSP outperforms CSM in terms of PRM cost, user fee, load balancing and CSP profit.
References
[1] NASIM R, MUSTAFA T. Agile software development and its successful factor: A literature review [J]. International Journal of Management, IT and Engineering, 2015, 5(4): 286-292.
[2] van KELLE E, van DER WIJST P, PLAAT A. An empirical study into social success factors for agile software development [C]// Cooperative and Human Aspects of Software Engineering (CHASE), 2015 IEEE/ACM 8th International Workshop on. IEEE, 2015: 77-80.
[3] PERKUSICH M, SOARES G, ALMEIDA H. A procedure to detect problems of processes in software development projects using Bayesian networks [J]. Expert Systems with Applications, 2015, 42(1): 437-450.
[4] KAUR R, SENGUPTA J. Software process models and analysis on failure of software development projects [J]. International Journal of Scientific & Engineering Research, 2011, 2(2): 1-4.
[5] SILVA F S, SOARES F S F, PERES A L. Using CMMI together with agile software development: A systematic review [J]. Information and Software Technology, 2015, 58: 20-43.
[6] BRHEL M, METH H, MAEDCHER A. Exploring principles of user-centered agile software development: A literature review [J]. Information and Software Technology, 2015, 61(C): 163-181.
[7] ANSLOW C, MAURER F. An experience report at teaching a group based agile software development project course [C]// Proceedings of the 46th ACM Technical Symposium on Computer Science Education. ACM, 2015: 500-505.
[8] WANG H, YIN G, LI X. TRUSTIE: A software development platform for crowdsourcing [M]// Crowdsourcing. Berlin, Heidelberg: Springer, 2015: 165-190.
[9] KURIAKOSE J, PARSONS J. An enhanced requirements gathering interface for open source software development environments [C]// 2015 IEEE 23rd International Requirements Engineering Conference (RE). IEEE, 2015: 288-289.
[10] DWARAKANATH A, CHINTALA U, VIRDI G. Crowd build: A methodology for enterprise software development using crowdsourcing [C]// Proceedings of the Second International Workshop on Crowdsourcing in Software Engineering. IEEE, 2015: 8-14.
[11] CHAISIRI S, LEE B S, NIYATO D. Profit maximization model for cloud provider based on windows azure platform [C]// 2012 9th International Conference on Electrical Engineering/ Electronics, Computer, Telecommunications and Information Technology (ECTI-CON). Phetchaburi, 2012: 1-4.
[12] CAO Jun-wei, HWANG Kai, LI Ke-qin. Optimal multiserver configuration for profit maximization in cloud computing [J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 24(6): 1087-1096.
[13] GHOSH R, LONGO F, NAIK V K. Modeling and performance analysis of large scale iaas clouds [J]. Future Generation Computer Systems, 2013, 5(29): 1216-1234.
[14] MANVI S S, SHYAM G K. Resource management for infrastructure as a service (Iaas) in cloud computing: A sarvey [J]. Journal of Network and Computor Application, 2014, 41: 424-440.
[15] GHOSH R,LONGO F, NAIK V K. Modeling and performance analysis of large scale iaas clouds [J]. Future Generation Computer Systems, 2013, 5(29): 1216-1234.
[16] ABIRAMI S P, RAMANATHAN S. Linear scheduling strategy for resource allocation in cloud environment [J]. International Journal on Cloud Computing: Services and Architecture (IJCCSA), 2012, 2(1): 9-17.
[17] KIM H, KIM W, KIM Y. Experimental study to improve resource utilization and performance of cloud systems based on grid middleware [J]. Journal of Communication and Computer, 2010, 7(12): 32-43.
[18] SOTOMAYOR B, KEAHEY K, FOSTER I. Combining batch execution and leasing using virtual machines [C]// Proceedings of the 17th International Symposium on High Performance Distributed Computing. ACM, 2008: 87-96.
[19] GARG S K, YEO C S, ANANDASIVAM A, BUYYA R. Energy-efficient scheduling of HPC applications in cloud computing environments [J]. Computer Science, 2009, arXiv:0909.1146.
[20] BRADLEY D J, HARPER R E, HUNTER S W. Workload-based power management for parallel computer systems [J]. IBM Journal of Research and Development, 2003, 47(5.6): 703-718.
[21] CHEN Y, DAS A, QIN W. Managing server energy and operational costs in hosting centers [C]// ACM SIGMETRICS Performance Evaluation Review. ACM, 2005, 33(1): 303-314.
[22] WU L, GARG S K, BUYYA R. SLA-based resource allocation for software as a service provider (SaaS) in cloud computing environments [C]// Cluster, Cloud and Grid Computing (CCGrid), 2011 11th IEEE/ACM International Symposium on. IEEE, 2011: 195-204.
(Edited by YANG Hua)
Foundation item: Projects(61304184, 61672221) supported by the National Natural Science Foundation of China; Project(2016JJ6010) supported by the Hunan Provincial Natural Science Foundation of China
Received date: 2016-06-02; Accepted date: 2016-07-12
Corresponding author: LONG Fei, Associate Professor; Tel: +86-731-84261270; E-mail: lf831028@sohu.com