Infrastructure/Networking

[논문 리뷰] Scheduling 기법이란?

EddyLee 2024. 3. 24. 23:10

Insight : Scheduling이 무엇이냐? 왜 사용되고 있는가? [개념]

 

Title : Task Scheduling Algorithms in Cloud Computing: A Review [2021]

 

I. M. I. . et. al., “Task Scheduling Algorithms in Cloud Computing: A Review ”, TURCOMAT, vol. 12, no. 4, pp. 1041–1053, Apr. 2021.


 

Abstract

 클라우드 컴퓨팅은 클라이언트를 기반으로 하며 인터넷을 통해 서비스로 공유하는 것을 목표로 하는 많은 리소스를 제공합니다. 
스토리지, 애플리케이션 및 기타 서비스와 같은 클라우드 컴퓨팅 리소스를 최적으로 사용하려면 이러한 서비스를 관리하고 스케줄링해야 합니다. 스케줄링의 기본 개념은 손실 시간과 작업 부하를 최소화하고 처리량을 최대화하는 것입니다.
 따라서 스케줄링 작업은 작업 완료에 대한 정확성과 정확성을 달성하는 데 필수적입니다. 이 논문은 연구자들이 사용하는 클라우드 컴퓨팅 환경의 다양한 작업 스케줄링 알고리즘에 대한 아이디어를 제공합니다. 
마지막으로 많은 저자들이 완료 시간, 처리량, 비용과 같은 다양한 파라미터를 적용하여 시스템을 평가했습니다.

 

Introduction

클라우드 컴퓨팅은 소프트웨어, CPU, 메모리, 스토리지 및 기타 컴퓨팅 리소스를 제공하는 분산 컴퓨팅 시스템입니다. 
인터넷을 통해 사용량에 따라 비용을 지불하는 온디맨드 서비스를 제공합니다. 클라우드 컴퓨팅은 가상화 기술의 클라우드 컴퓨팅 환경을 구축하고 운영하는 데 사용됩니다(Anushree B, 2018; Manju Arora, 2020; Rashid et al., 2018).
 단일 애플리케이션 또는 물리적 리소스를 여러 클라이언트 간에 공유할 수 있으며 가상화를 통해 로드 밸런싱을 처리할 수 있습니다(Hanan M. Shukur, 2020; Rashid et al., 2019). IT 클라우드 컴퓨팅 모델은 주로 IT 리소스 할당의 용이성과 속도에 중점을 두며, 최종 사용자가 IT 인프라 및 위치 문제에서 벗어날 수 있도록 합니다(Zeebaree et al., 2015). 
이 모든 것이 종량제 방식으로 제공됩니다(Gibet Tani Hicham, 2016; 하지, 지바리 외, 2020; M. A. Sadeeq 외, 2018). 클라우드 환경은 서비스 제공업체와 인터넷 제공업체를 제공합니다. 서비스 제공업체는 서비스를 만드는 데 사용되는 소프트웨어, 네트워크, 시설에 대한 책임이 있습니다. 동시에 인터넷 제공업체는 클라우드의 고객 또는 소비자로도 불립니다(압둘아지즈 외., 2018; C. 티루말라이셀반, 2017). 
 클라우드 운영 체제(COS)는 클라우드 기술의 급속한 성장으로 인해 개인 및 기업 고객과 함께 일반적으로 사용됩니다(Zebari et al., 2011). COS는 애플리케이션 소프트웨어를 배포하는 서버의 운영 체제입니다. 사용자는 개인용 컴퓨터에서 웹 브라우저를 통해 앱을 설치 및 연결할 필요가 없습니다(Shukur, Zeebaree, Zebari, Zeebaree, 외, 2020). 클라우드 제공업체는 클라우드 스토리지 데이터 저장 및 처리, 소프트웨어 보호, 업그레이드, 소프트웨어 사용 비용 최소화, 사용자 경험을 효과적으로 향상시킬 책임이 있습니다(Alam, 2020; Salih 외., 2020; Zhen Du, 2017). 


 작업 스케줄링 알고리즘은 사용자 작업을 클라우드 리소스에 할당하여 사용률을 극대화하고, 제작 기간을 줄이고, 클라우드 인프라의 균형을 유지하여 활동에 과부하가 걸리지 않도록 합니다(Fahd Alhaidari, 2019; Iqbal, 2019; Safwat A. Hamad, 2016; Xiaozhong Geng, 2019). 스케줄링은 정적 또는 동적일 수 있습니다. 정적 스케줄링에서는 스케줄러가 리소스와 작업의 세부 사항을 식별합니다(S. Zeebaree 외., 2020). 동적 스케줄링에서는 작업과 리소스의 세부 사항이 처음부터 정의되지 않습니다(Sallow, Sadeeq 등). 스케줄러는 사용자 활동에 적합한 리소스를 선택하기 위해 동적 스케줄링 계획을 세웁니다(A. M. Senthil Kumar, 2018; Dinkan Patel 2018; Kadda Beghdad Bey, 2019). 클라우드 기술에서 중요한 요소는 리소스 공급자, 작업/서비스 일정, 클라이언트입니다. 스케줄링은 리소스가 요청에 할당되는 기간으로 정의할 수 있습니다. 스케줄링 알고리즘의 책임은 클라우드에서 작업 요청에 리소스를 할당하는 것입니다(Arghavan Keivani 2018; S. R. Zeebaree 외., 2020). 
 본 백서의 나머지 부분은 다음과 같이 구성됩니다. 섹션 2에서는 클라우드 유형과 서비스를 소개합니다. 섹션 3에서는 클라우드 스케줄링에 대해 설명합니다. 섹션 4에서는 스케줄링 알고리즘과 관련된 문헌 고찰을, 섹션 5에서는 비교 및 논의를, 섹션 6에서는 결론을 제시합니다. 

 

 

Section 3. Cloud Scheduling

클라우드 스케줄링의 개념은 작업을 다양한 가상 머신에 매핑하거나 사용자 요구 사항을 충족하는 데 사용 가능한 리소스를 사용하도록 가상 머신을 할당하는 기술을 말합니다(Sallow, Zeebaree 외.; Shukur, Zeebaree, Ahmed 외., 2020). 
클라우드 컴퓨팅에서 스케줄링 방법을 사용하는 목적은 시스템 처리량 및 부하 분산 향상, 비용 절감, 리소스 활용도 증가, 에너지 절약, 처리 시간 단축입니다(Hasan et al., 2021). 스케줄링은 CPU와 메모리 가용성을 관리하며, 좋은 스케줄링 계획은 리소스 활용도를 높입니다(D.I. George Amalarethinam, 2017; Nora Almezeini, 2018; Sharif et al., 2020).

 스케줄링은 작업과 작업 스케줄링으로 분류할 수 있습니다. 컴퓨팅 시스템에 존재하는 대부분의 작업 스케줄링 기술은 클라우드 시스템에서 사용하기에 충분히 적절합니다(Rashid et al.). 
작업 스케줄링 알고리즘을 사용하면 최상의 성능과 최대 시스템 처리량을 얻을 수 있다는 이점이 있습니다(Sulaiman et al., 2020). 작업 스케줄링은 다음과 같은 알고리즘 그룹으로 분류할 수 있습니다: 배치 모드 휴리스틱 스케줄링 알고리즘(BMHA), 온라인 모드 휴리스틱 알고리즘, 의존성 모드 휴리스틱 알고리즘(Pratisha Sarma, 2017). 
 작업 스케줄링 기법은 작업이나 활동을 완료해야 하는 순서를 찾는 데 사용됩니다. 사용자 작업을 사용 가능한 리소스에 매핑하는 데 중점을 둡니다. 효율적인 작업 스케줄링의 근간은 가상화입니다(Jghef et al., 2020). 그럼에도 불구하고 그 성능은 클라우드 환경의 성능에 영향을 미칠 수 있습니다. 비스트 스케줄링 방법은 작업의 총 완료 시간을 최소화하고, 디바이스 로드 밸런싱을 개선하며, 리소스 사용량을 개선합니다(Mohammed et al., 2021). 작업 스케줄링은 정적, 동적, 워크플로우, 클라우드 서비스, 실시간, 휴리스틱, 기회주의적 부하 분산(OLB) 스케줄링 알고리즘 그룹으로 분류할 수 있습니다(Amandeep Kaur, 2018; Yanyue Yu, 2019). 사용자가 작업을 클라우드로 전송하면 프로세서가 이를 할당해야 합니다. 이제 클라우드 소유자가 최소한의 시간과 최대의 이익을 얻도록 프로세서 작업을 어떻게 할당하는지가 문제입니다(M. M. Sadeeq 외., 2021). 작업 프로그래밍은 다른 요소를 고려한 프로세서에 작업이 할당되는 문제를 해결합니다. 그림 3은 미션의 클라우드 시스템 일정을 보여줍니다(Kalka Dubeya, 2017)

 

 

이 이후엔 연구된 스케줄링 알고리즘들을 비교/분석함.

나는 스케줄링이 무엇인지 개념만 알면 되기에, 나머지 부분은 생략하고 진행.

 

Conclusion

클라우드 컴퓨팅은 고객의 요구 사항에 따라 계산 능력, 스토리지, 소프트웨어 및 기타 여러 시설의 거대한 원천입니다. 
클라우드 환경에서 작업의 핵심 목표는 사용 가능한 리소스를 적절한 구조로 작업에 분배하는 것입니다. 프로그래밍의 주요 목적은 리소스 사용을 극대화하고 시간 소비를 줄이는 것입니다.

 이 문서에서는 여러 알고리즘을 분석했습니다. 대부분의 알고리즘에서 다양한 차원, 프로세스, 조건, 결과 및 도구를 기반으로 비교 분석이 연구되었습니다.