Research Article

Job Scheduling with Efficient Resource Monitoring in Cloud Datacenter

Algorithm 1

Modified best fit with capacity based scheduling (MBFCBS).
Input: Incoming job in a list RQ, Resource availability list RAL, Preemption list PL.
Output: Job allocation to a host.
(1)For Each incoming job RQ    to
(2)IF type == BE request THEN     /scheduling BE request/
(3)  IF free resource is available in a host at the requested time then allocate the request.
(4)  ELSE IF find the with minimum EAT which is not assigned any AR request
(5)     Allocate the request.
(6)  ELSE put in the backfill queue.
(7)IF type == IM request THEN     /scheduling IM request/
(8)  IF free resource is available in a host at the requested time then allocate the request.
(9)  ELSE IF find the with minimum EAT which is not assigned any AR request
(10)   IF available resource capacity >= requested capacity && (EAT() == ST()) THEN
(11)       Allocate the request.
(12)    ELSE call preemption();
(13)  IF type == AR request THEN    /scheduling AR request/
(14)  Pick first host from the list.
(15)  IF available resource capacity >= requested capacity && ST() !≤ ST !≤
(16)  FT() && (ST() !≤ FT !≤ ()) THEN
(17)  Allocate the request.
(18)    ELSE call preemption();
(19) Else reject the request.
(20) Update the job list RQ
(21) End while
(22) Preemption()            /Function call for preemption/
(23) Get all BE job in the host for the time interval and check for flag status 1.
(24) For ( to number of BE jobs in a host)  /multiple BE jobs in a time slot/
(25)     IF type == IM request THEN
(26)    IF available resource capacity >= requested capacity && (EAT() == ST()) THEN
(27)    Preempt the current BE request and schedule the incoming request on
(28)     ELSE type == AR request
(29)      IF (ST == ST() && available resource capacity >= requested capacity
(30)            THEN
(31)    Preempt the current BE request and schedule the incoming request on
(32) End for.