Research methodology on Optimizing task scheduling algorithm for cloud computing
Tagged: Dissertation Writing
Introduction
Cloud computing can be described as a technological innovation that has gained popularity in businesses, industries, and other institutions. It offers numerous Information Technology resources like software, memory, storage, and CPU that can be accessed through the internet. Cloud computing is used to build and manage cloud computing environments for virtualizing technologies(Anushree B, 2018; Manju Arora,2020; Rashid et al., 2018). The IT Cloud computing model focuses primarily on the ease and speed with which IT resources can be assigned, relieving end-users from IT infrastructure and location issues (Zebaree, 2015). These services are often provided as pay as you go manner.
There are some advantages of cloud computing over traditional computer methods. It offers agility, speed, and flexibility, allowing users to scale up and down service capacity as needed. It also provides scalability, meaning users can add resources as the load increases and remove them when it decreases. The cloud system allows the storage of large quantities of data that can be accessed anywhere.
Cloud computing is also incredibly secure because users may access data stored in the cloud from any location in the world, and it also provides disaster recovery. On-premise services necessitate the initial purchase of software, hardware, licences, and so on, as well as staff costs, patches and setup costs, upgrade cycles, and fixed capacity. However, in the case of the cloud, there is no need for an upfront investment, and the ongoing costs are also relatively low. The cloud manages the necessary infrastructure, allowing staff to focus on innovation rather than infrastructure.
The five significant characteristics of cloud computing are on-demand self-service – the user can obtain the required services by signing up without waiting for long. Pooling of resources involves sharing resources among multiple consumers. Measured service entails measuring resource utilization and billing for it. Users with broad network access can access the materials using standard platforms such as laptops, mobile phones, etc. Rapid elasticity – the user can scale the resource capacity to meet rising demand (Gouda, 2014).
The software systems used for managing cloud systems are called Cloud Operating Systems (COS). The rapid growth of the cloud technology system led to the usage of COS between individuals and organizations. The users do not have to download an application from the web browser. Instead, the cloud provider is in charge of storing and handling cloud storage data, safeguarding and upgrading the software, minimizing the expenses of utilizing the software, and successfully boosting user experience (Zhen Du, 2017).
Cloud computing has three types of service: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service(SaaS).
- IaaS stands for Infrastructure as a Service, and it provides the user with a fully virtualized data centre that comprises computing, bandwidth, storage, and other services. An example of IaaS is Amazon EC2.
- PaaS stands for Platform as a Service, and it provides an environment for developing applications utilizing tools and programming languages offered by service providers. Users have control over the deployed application but not over the underlying infrastructure. An example of PaaS is the Google App search engine.
- SaaS is an acronym for Software as a Service. It provides an on-demand foundation for software accessed via a web browser. Although users can access the software remotely, they do not have control over the infrastructure or platform. Examples of SaaS include YouTube and Facebook (Wulf, 2021).
Cloud computing is also becoming increasingly popular in handling data and scheduling tasks.
The amount of data handled in cloud computing is vast and increasing daily. A proper task scheduling approach is required to manage the enormous number of tasks that arrive in the cloud at the same time. To handle the large quantity of load, better resource utilization is required. Task scheduling is the assignment of tasks to resources. Instead of employing limited resources, allocating all available resources for processing jobs is required. Better scheduling techniques can also help cloud providers increase their income. Task scheduling and resource organization are critical components of effective resource management in the cloud (Razaque, 2016). Although various task scheduling methods exist, the methodology discusses creating more efficient ones.
Choosing the correct methodology necessitates carefully understanding the research question and objective. Check out our study guide on choosing an appropriate research methodology.
Methodology
A literature review was conducted to understand the advantages and disadvantages of task scheduling using cloud computing systems.
The algorithms analysed include:
- First Come, First Served,
- Round Robin (RR),
- Short Jobs First,
- Min-Min, and
- Max-Min strategies
While the First Come, First Served has the advantages of being simple and easy to implement; it does not prioritize tasks based on deadlines and available resources. Round Robin (RR) is also easy to implement and allows fair sharing of resources for tasks. However, it does not consider resource requirements and is insufficient for tasks requiring many resources. Short Jobs First is efficient for workloads with accurate task durations. On the contrary, Short Jobs First (SJF) prolongs longer tasks if there is a continuous stream of short tasks (Aladwani, 2020).
Some algorithms were developed to address the limitation of others. The disadvantage of the Min-Min algorithm, for instance, is that huge tasks may have to wait for execution until all tasks are completed. However, the Max-Min method is used to overcome this issue and achieve greater performance than the Min-Min approach. The Max-Min algorithm prioritizes lengthier jobs, which may affect total reaction time. Another solution is the Resource Aware Scheduling Algorithm, which allows the system to apply both Min-Min and Max-Min strategies alternately to provide adequate load balance and improved response time.
The Enhanced Max-Min technique is effective when there is a particularly long job among all arrived tasks; providing it with a resource first will raise the make-span or total length of the schedule. So the answer provided by Enhanced Max-min is to select a job of average length and allocate it to the fast resource.
It was decided that the available resources be categorized as fast and slow resources. The categorization was based on the processing speed measured in the Million Instructions Per Second (MIPS) of each resource. The first set had fast resources, and the second set had slow resources. An equal number of resources was allocated to each sat. In this case, ten resources were allocated for each set. Before assigning any task, the resource that takes the least time to execute from among all accessible resources was chosen. If the chosen resource is from the first set, the longest length task was assigned; if it is from the second group, an average length task was assigned.
The suggested algorithm for task scheduling employs a hybrid of Max-Min and Enhanced Max-Min techniques. The suggested approach reduces the likelihood of allocating an enormous task to a slower resource while shortening the completion time. In short, compared to existing methods, the proposed technique helps to use resources more efficiently and produce excellent results in terms of makespan.
As far as the simulation tool was concerned, WorkflowSim was considered. WorkflowSim is a simulation framework written in Java for testing and validating the accuracy of the given algorithm. Although other tools like GridSim and CloudSim are available, they do not allow workflow-level support and clustering.
A code was written, and a workflow diagram was created that helps better understand the functioning of this algorithm. Combining the Max-Min and the Min-Min strategies helps address the limitations of each type and helps increase performance and makespan.
To know more about how a dissertation research methodology is written in different fields, check out our research methodology examples.
References
- Anushree B, A. X. V. M. (2018). Comparative Analysis of Latest Task Scheduling Techniques in Cloud Computing Environment. Proceedings of the Second International Conference on Computing Methodologies and Communication (ICCMC 2018), IEEE, 608-611.
- Manju Arora, V. K., Meenu Dave. (2020). Task Scheduling in Cloud Infrastructure using Optimization Technique Genetic Algorithm. IEEE.
- Rashid, Z. N., Zebari, S. R., Sharif, K. H., & Jacksi, K. (2018). Distributed cloud computing and distributed parallel computing: A review.Paper presented at the 2018 International Conference on Advanced Science and Engineering (ICOASE)
- Zeebaree, S., & Jacksi, K. (2015). Effects of Processes Forcing on CPU and Total Execution-Time Using Multiprocessor Shared Memory System. Int. J. Comput. Eng. Res. Trends, 2(4), 275-279.
- Gouda, K C & Patro, Anurag & Dwivedi, Dines & Bhat, Nagaraj. (2014). Virtualization Approaches in Cloud Computing. International Journal of Computer Trends and Technology. 12. 161-166. 10.14445/22312803/IJCTT-V12P132.
- Zhen Du, Z. X., Fang Dong, Dian Shen. (2017). A Novel Solution of Cloud Operating System based on X11 and Docker. Paper presented at the Fifth International Conference on Advanced Cloud and Big Data.
- Wulf, F., Lindner, T., Strahringer, S., & Westner, M. (2021). IaaS, PaaS, or SaaS? The Why of Cloud Computing Delivery Model Selection: Vignettes on the Post-Adoption of Cloud Computing. In Proceedings of the 54th Hawaii International Conference on System Sciences, 2021 (pp. 6285-6294).
- Razaque, N. R. Vennapusa, N. Soni, G. S. Janapati and K. R. Vangala, “Task scheduling in Cloud computing,” 2016 IEEE Long Island Systems, Applications and Technology Conference (LISAT), Farmingdale, NY, USA, 2016, pp. 1-5, doi: 10.1109/LISAT.2016.7494149.
- Aladwani, T. (2020). Types of Task Scheduling Algorithms in Cloud Computing Environment. IntechOpen. doi: 10.5772/intechopen.86873