Resource allocation model for grid computing environment

Grid computing is a collection of heterogeneous resources that is highly dynamic and unpredictable. It is typically used for solving scientific or technical problems that require a large number of computer processing cycles or access


Introduction
Grid computing involves the application of resources in a network to solve one problem at the same time. We are rather used to solving scientific or technical issues, such as high-energy physics, earth observation, and biological applications, all of which require many cycles of computer processing or access to large amounts of data. Grid computing can be considered to be a form of large-scale distributed cluster computing and a type of distributed parallel network processing [1]. The two most important issues in managing user work are resource allocation and scheduling of work based on the support required. When a user's job is submitted, the situation will be handled by a resource broker, who must find and allocate the correct resources for the job. After the resource allocation phase, jobs must be scheduled on existing resources and according to user requirements.
In general, when a user sends a job, they request several processors, memory, and provide the maximum time limit required to run the job. Then, the scheduler gives priority to work, according to Grid computing is a collection of heterogeneous resources that is highly dynamic and unpredictable. It is typically used for solving scientific or technical problems that require a large number of computer processing cycles or access to substantial amounts of data. Various resource allocation strategies have been used to make resource use more productive, with subsequent distributed environmental performance increases. The user sends a job by providing a predetermined time limit for running that job. Then, the scheduler gives priority to work according to the request and scheduling policy and places it in the waiting queue. When the resource is released, the scheduler selects the job from the waiting queue with a specific algorithm. Requests will be rejected if the required resources are not available. The user can re-submit a new request by modifying the parameter until available resources can be found. Eventually, there is a decrease in idle resources between work and resource utilization, and the waiting time will increase. An effective scheduling policy is required to improve resource use and reduce waiting times. In this paper, the FCFS-LRH method is proposed, where jobs received will be sorted by arrival time, execution time, and the number of resources needed. After the sorting process, the work will be placed in a logical view, and the job will be sent to the actual resource when it executes. The experimental results show that the proposed model can increase resource utilization by 1.34% and reduce waiting time by 20.47% when compared to existing approaches. This finding could be beneficially implemented in cloud systems resource allocation management. the scheduling requests and policies, and places it in the waiting queue. When the resource is released, the scheduler selects the job from the waiting queue with a specific algorithm. In rigid scheduling such as first come first serve (FCFS), three parameters are used to request resources, namely start time, execution time, and the number of resources used [2]. The scheduler will look for the availability of resources requested by users within the specified time interval. Requests will be rejected if the required resources are not available [3]- [5].
Inelastic reservations are used for the user request parameter as a soft constraint. The reservation system instead rejects the request but provides an alternative that can be chosen by the user. This approach gives users the flexibility to select the best choice according to the needs of quality of Service (QoS) [6]- [8]. Relax advance reservation uses overlapping timeslots due to a tendency of the application to exaggerate the reservation deadline to ensure its completion. User jobs are scheduled, even if booking violations occur because of overlapping jobs [9]- [13]. Shukla et al. [14] proposed an algorithm with the primary objective being that if there is more than one resource chosen by a job, then the job that has the least workload will be executed first to reduce the average waiting time of the job queue. The algorithm will check the availability of resources that have the least load. In this rigid scheduling, work must wait in a queue to be scheduled.
In a flexible reservation, the work user has a flexible start time and can vary within a certain time interval [15] [16]. Moaddeli et al. [17] have examined the impact of the backfilling algorithm on flexible job ordering. In his research, both aggressive and conservative backfilling are compared. The result is that aggressive backfilling is more beneficial. Gomes and Dantas [18] propose checking free slots on available resources; if free slots are available, reservations are scheduled, but if such slots are not available during reservation requests, then the next available free slots will be reserved. The impact of the backfilling algorithm in flexible reservations has been analyzed in references [19]- [22]. Backfilling was proposed to increase the utilization of the grid system. The advantage of this strategy is that it makes shift reservations early to make room for new reservations to be allocated. The disadvantage of backfilling is that the next job must wait in line until it has finished execution; hence, there is no certainty regarding when the job will complete.
Netto et al. [23] conducted a study by rescheduling the allocated work. The experimental results show that the system's utilization will be better if the user waits for up to 75% of the waiting time. Barzegar et al. [24] introducing a reservation scheduling algorithm referred to as GELSAR in the grid system. GELSAR will reschedule all new arrivals to find the best solution. New reservations will be rejected if there is no solution. The results of GELSAR outperform other genetic algorithms. Grandinetti et al. [25] have researched a local scheduler, where a group of independent jobs has been scheduled, with processing time restrictions provided by the user. It is assumed that all processing nodes are identical. Umar et al. [26] introduced first come first serve-ejecting based dynamic scheduling (FCFS-EDS). The results of the FCFS-EDS experiments compared to FCFS without reservations are better in terms of resource utilization [17][23] [24]. The advantage of FCFS-EDS is the provision of a one-time notification if a reservation is received because FCFS-EDS works in a logical manner. In another approach, information is processed whenever there is a revision made in the planning [23] [24]. In the FCFS-EDS strategy, incoming reservations will find an empty timeslot. If no timeslot is found, the job will move to the upper limit of the execution, or if the old job has used the timeslot, then that old job will be shifted so that the new job can be allocated. The impact of shifting the job to the right is a reduction in resource utilization and increased waiting time.
In this research, the main focus is to overcome the problem of resource allocation on local scheduling in grid computing. The performance matrix used is resource utilization and job waiting time. The main contributions of this paper are (1) increasing resource utilization in grid computing scheduling, and (2) reducing work waiting times with a comparison workload sent by users. Section 2 contains the methods and algorithms proposed to solve the problem of resource allocation and waiting time. Section 3 describes the results and analyses comparing FCFS-EDS with FCFS-LRH. The last section provides conclusions.

Proposed advanced reservation strategy
In this study, a proposed reservation strategy model termed first come first served left-right hole scheduling (FCFS-LRH) is shown in Fig 1. Job requests are sent based on ( , , , ). Incoming user requests will be sorted by the priority of start time of execution, time of execution, and the number of resources required. Jobs will be sorted at each timeslot before being allocated to the virtual view. Work is scheduled at the virtual computing node with a first-fit strategy. If an empty timeslot is obtained between the start time ( ) and the upper limit to begin the job execution (last start time) , the user is notified that the work has been received. If there is no empty slot between and , the job is rejected, and the user is notified. The parameter 0 is the current time. The parameter is the time of initial flexibility of work. The parameters 1 and 2 indicate that there are empty timeslots on the left and right.
shows the lower time limit for the last execution of the job. Work executed until the deadline ( ). The function of the is to provide time flexibility on the job. Jobs that are placed in a logical view are still fragmented. Recombination is achieved when a job is executed at the actual computing node [27] [28].

Performance matrix of FCFS-LRH method
The metrics considered for measuring the FCFS-LRH algorithm are resource utilization and waiting time. Average resource utilization is calculated using (1). This formula refers to the comparison of the number of j resources executed against the total amount of available resources. In the formula, s indicates the number of slots used by the resource. refers to the start time when jobs are executed on j resources, and refers to the final time that a task completed on j resources. The parameter is defined as the execution time of all jobs.
Waiting time ( ) of the reservation is calculated. Occasionally, resources are not available at the time of reservation. However, resources can be used at different times. In this case, the difference between expected ( ) and actual ( ) start times is the waiting time.

Proposed FCFS-LRH algorithm
The proposed algorithm is shown in Fig. 2. The user needs to send a reservation, with parameters qReserv ( , , , ), to order resources. New reservation requests are explained in the FCFS-LRH algorithm below, and sort jobs are based on both arrival ( ) and execution ( ) times and the number of resources required (line 1 to 3).  Line 4 is a looping to read the jobs that arrive in each timeslot and place them in a virtual view if there are empty timeslots. Line 5 calculate the value of d2, line 6 is the process of finding an empty slot with a first fit strategy starting from CN=0 to CN, and a timeslot starting from to the upper limit (d2). Insert job (Line 7) occurs if an empty slot is found. Line 8, if no empty slots are found, works on the moveJob() procedure, and line 9 is the end of the loop.

Algorithm: Resource Allocation Algorithm
The moveJob() procedure is used to move jobs if an empty timeslot is not found, until the upper limit of the start time of execution ( ). Line 11 and Line 12 are variable initialization. Line 13 to 29 are search loop that begins from the left to the timeslot, with relax=0 to (flexibility value ( -)). If an empty timeslot is found between the lower limit ( ) to the value of the finished variable, indicated by line 30 to 34 (suc == true), jobId is inserted in the timeslot with the first fit strategy, and the number of jobsID received in the sList dynamic array is saved, and the waiting time is calculated. Line 35 to 38 are used to calculate time slot utilization, where sList is a dynamic array used to hold the number of job IDs used at a certain timeslot.

Illustration of FCFS-LRH
An example will be provided to explain FCFS-LRH. If the model knows that the actual compute node =6 (c0-c5) is a physical node, then the number of virtual nodes will have the same number of 6 (v0-v5). The order of arrival of the reservation is illustrated in Table 1, where ≤ and numJob are the numbers of jobs sent by the user. For example, the parameters are given by userID=6 as in Table 1 as follows: userID6 orders 3 time slots starting from timeslot 1 to 6, and it takes 2 computing nodes for 1 independent work, which can be shifted ( =1, =6, =3, =2, =1).  Table 2 shows the userID jobs that have been sorted by , , and . Fig. 3 shows the logical view of the results of FCFS-LRH from Table 2, the x-axis shows the time slot, and the y-axis displays the virtual computing node. There are six of these nodes, which are displayed on the y-axis; 11 user reservations are allocated from timeslots 0 to 11. Consider userID6 from Table 2 and Fig. 3. The virtual node given to this user is in timeslot 3 with compute nodes v4 and v5, timeslot 4 with compute nodes v2 and v3, and timeslot 5 with compute nodes v1 and v2. Two computing nodes will do one job at a specific time slot sent by the user. For example, userID12 wants to order three timeslots starting from timeslots 2 to 8, requiring one computational node for one independent job and with the ability to shift from start time to timeslot 8 ( =2, =8, =2, numC=2, jumJob=1); in Fig. 3, userID12 begins the execution time from timeslot 4 to timeslot 6.   1  0  0  2  2  1  4  0  0  4  1  1  3  0  1  4  1  1  2  0  3  3  2  1  7  1  6  3  1  1  5  1  5  5  1  1  6  1  6  3  2  1  12  2  8  3  1 Table 2. In contrast, Fig. 4 is the result of the recombination of logical views, which are mapped to the physical view for all userIDs in Table 2, an approach that guarantees that all jobs can execute on the actual node.

Job workload
Each grid model requires a different workload composition [29]. The characteristics of the workload to be used as simulation input in this experiment are as follows [26][30]- [32].  The level of reservation requests (µ) is assumed to follow a Poisson distribution.  Reservation requests are distributed uniformly, which is defined as the execution time ( ).  Reservation requests are between 0 and 24 hours, uniformly distributed, and they are set as the earliest start time ( ).  Percentage of flexible user reservations randomly selected.  The flexibility time ( ) for reservation requests is between 1 and 12 hours and is uniformly distributed.
The flexibility time ( ) for reservation requests is between 1 and 12 hours and is evenly distributed. The percentage of resource utilization is calculated in a sliding window of 12 timeslots (1 hour), and the results of the proposed FCFS-LRH method are compared with FCFS-EDS. The utilization factor of the two strategies is measured using the input characteristics above. The total number of computational nodes is 20; the reservation demand levels are µ=2 and µ=3, and the number of jobs used is between 300 and 800.

Results and Discussion
for Java Developers, Windows 8 operating system, Intel (R) Pentium (R) CPU B940 @ 2.00 GHz, and 6.00 GB RAM configuration. The FCFS-EDS approach is used as a comparison because it has the advantage of working in a logical view environment, and a notification is provided for users only once jobs can allocate to logical views. On the other hand, FCFS-EDS has the disadvantage that tasks received or assigned to logical views are not based on the priority of the start time of execution, the time of performance, and the number of resources required. Thus, it is possible that the use of resources is not efficient, and the job may be waiting for a substantial period of time. The resource utilization matrix and job waiting time are used as a comparison of performance, and the use of resources becomes more efficient.
In this research, a work allocation model for resources is proposed to increase resource utilization and reduce the average waiting time. The order of job placement is based on the time of initial execution, the time of the smallest work execution, and the number of lowest resource requirements prioritized so that the utilization of resources will increase, and the waiting time of the work can be reduced. The parameters used in the experiment and for testing the performance are provided in Table 3. The FCFS-EDS and FCFS-LRH methods included in the flexible advance reservation dynamic scheduling, as in the sample in Table 1, will be used to make it easier to compare resource utilization and an average job waiting time. The results of job placement illustrated in Table 1 in a logical view using FCFS-EDS are shown in Fig. 5, where the x-axis shows timeslot, the y-axis shows virtual nodes, and the results of job placement in the physical view are provided in Fig. 6. Table 4 indicates that the average waiting time for FCFS-EDS is 0.83, and for FCFS-LRH, it is 0.72.  The job waiting time for FCFS-LRH is less than for FCFS-EDS because the start time of the situation can advance at an earlier timeslot; hence, the difference in waiting time (start-) is smaller. There are 3 FCFS-LRH userIDs for which the advance start time is advanced, namely userID5 advanced 1 timeslot earlier, userID9 earlier 1 timeslot, and userID11 earlier 2 timeslots. Therefore, the total number of timeslots that can use earlier is 4. In contrast, for FCFS-EDS, only 1 userID can advance its execution time more first, namely userID10 of 1 timeslot. Thus, the difference between the timeslot FCFS-LRH with FCFS-EDS that can be improved earlier when the execution is used is 3 timeslots (see Table 4), where the total waiting time (numWT) of FCFS-LRH is 21, and for FCFS-EDS it is 24. The impact of the start time is that it can be placed in an earlier slot. Then, the job waiting time can be reduced. The use of timeslot FCFS-LRH is higher than FCFS-EDS; this difference is due to the use of the timeslot earlier in its execution time (see Fig. 4 and compare with Fig. 6). The userID5 is allocated to timeslot 2, userID9 is allocated to timeslot 4, and userID11 is allocated to timeslot 6 using the FCFS-LRH method. The utilization of the FCFS-LRH timeslot is higher than FCFS-EDS starting from timeslot 2 in the resource (see Table 5); at timeslot 2, the level of FCFS-LRH usage is 100%. In comparison, FCFS-EDS timeslot utilization is 98%, until the end of the timeslot used for the execution time used by userID. Two experiments were carried out using the parameters in Table 3. First, the FCFS-LRH waiting time was compared with FCFS-EDS (backfilling, aggressive backfilling, without reservation). The second experiment compared the resource use between the FCFS-EDS and FCFS-LRH methods. The first experiment involved measuring FCFS-EDS, FCFS-LRH waiting times (backfilling and aggressive backfilling without reservation), the results of which are shown in Table 6. This table demonstrates that job waiting times for FCFS-LRH are shorter than for FCFS-EDS, backfilling, and aggressive backfilling without reservation. This finding is due to the time flexibility affecting the actual start time, which can be close to the expected time when the user submits a job. The waiting time (backfilling and aggressive backfilling without reservation) is high because the next task must wait in a queue until the job before it has finished executing. Thus, the FCFS-LRH provides a better allocation policy because time flexibility( ) is used to reduce reservation waiting time. The impact of a good allocation policy is that the waiting time value of FCFS-LRH can be reduced compared to FCFS-EDS (backfilling and aggressive backfilling without reservation) for all conditions. The waiting time value is based on the level of reservation arrivals and the number of jobs submitted by users (Table 6). For µ=2 and µ=3, the average reduction in waiting time is 20.47%, whereas the average decrease of waiting time with a level of reservation requests (µ=2) was 36.8%, and for the level of reservation requests (µ=3), waiting time reduction was 9.7% (Table 7). The results of the second experiment are shown in Table 8. It can be observed that the average value of timeslot utilization has increased by 1.34% (Table 8), whereas the average resource utilization is 1.17% for μ= 2 and 1.5% for μ=3 (Table 9). This increase in utilization was due to previous work placement starting from the left-hand side of the timeslot so that the use of the timeslot increased. Jobs will be allocated first on the left-hand side.

Conclusion
Various resource allocation strategies have been used to make resource use more productive. Hence, distributed environmental performance was found to increase. An effective scheduling policy is required to increase resource use and reduce waiting times. In this work, a reservation scheduling strategy referred to as FCFS-LRH is proposed. Jobs that come in this strategy are sorted by priority first, and then jobs will be placed on virtual nodes. Jobs allocated to such nodes will be mapped to physical nodes when they are executed. Work that has been allocated on a virtual node will be guaranteed to be executed on physical resources. Experimentally, the FCFS-LRH method was compared with FCFS-EDS, backfilling, and aggressive backfilling without reservation. FCFS-LRH performance was found to increase in terms of resource utilization, and its use can reduce job waiting times. The results of this study can only be used in local scheduling in grid computing. The next research is to apply the FCFS-LRH method on cloud systems. The algorithm developed for the job on the global scheduler.