| Summary: | Cloud computing is an emerging technology that attract different scholars and organization to explore its capabilities and benefits. Cloud computing bring together large amount of data and resources that are geographically distributed. It relies on sharing of computing resources to achieve coherence and economic computing resource utilization. Due to this fact, resource management which is efficient and effective resource organization when needed becomes necessary in order to realize the efficiency of the resource computing usage in cloud environment. A good job allocation and resource load balancing promises a better system performance and functionalities. However, these advantages come with the price of the complexity in developing an efficient job allocation model due to the nature of unpredictable request/job arrival in the system. Therefore, this thesis focuses on developing an efficient job allocation and resource load balancing in cloud computing environment at virtual machine (VM) level to achieve the required Quality of Service (QoS), better response time and throughput. The important criteria of performance measurement such as bandwidth, Millions Instruction Per Second (MIPS) and RAM size among the cloud resource are considered. This thesis propose an RMGO algorithm that integrates three (3) scheduling techniques Min-Min, Max-Min, and Suffrage to find the minimum completion time possible for a given job of each VM. Genetic Algorithm (GA) is applied to the result as an optimizer to balance the loads by properly utilizing the resource available. CloudSim is used as a simulator to test for the applicability and performance of the RMGO technique. The experimental results proved that the RMGO outperformed the three integrated techniques (Min-Min, Max-Min, and Suffrage) by at least 50% in term of job response time and 60% for system throughput compared to First Come First Serve (FCFS) as benchmark. Hence, RMGO algorithm is suitable to be implemented for job allocation and resource load balancing for managing cloud computing resources.
|