I/O 스케줄링

I/O scheduling
Linux 커널 스토리지 [1]스택의 다양한 계층 내에서 I/O 스케줄러의 위치.

입출력(I/O) 스케줄링은 컴퓨터 운영 체제에서 스토리지 볼륨에 제출할 I/O 작업의 순서를 결정하기 위해 사용하는 방법입니다.I/O 스케줄링은 디스크 스케줄링이라고도 합니다.

목적

I/O 스케줄은 일반적으로 디스크 헤드의 현재 위치에서 멀리 떨어진 요청에 대한 액세스 시간이 긴 하드 디스크 드라이브와 함께 작동해야 합니다(이 작업을 시크라고 합니다).이것이 시스템 퍼포먼스에 미치는 영향을 최소화하기 위해 대부분의 I/O스케줄러는 무작위로 착신하는 요청을 정렬하는 엘리베이터 알고리즘의 변형을 구현하여 암/헤드 이동을 최소화하면서 관련 데이터에 액세스할 수 있도록 합니다.

I/O 스케줄러는 목표에 따라 다양한 목적을 가질 수 있습니다.일반적인 목적은 다음과 같습니다.

  • 하드 디스크 검색으로 낭비되는 시간을 최소화합니다.
  • 특정 프로세스의 I/O 요청에 우선순위를 부여하려면
  • 실행 중인 각 프로세스에 Disk 대역폭 공유를 지정하려면 다음과 같이 하십시오.
  • 특정 마감일 전에 특정 요청이 발행되도록 하기 위해

부문

일반적인 스케줄링 규칙은 다음과 같습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Werner Fischer; Georg Schönberger (2015-06-01). "Linux Storage Stack Diagram". Thomas-Krenn.AG. Retrieved 2015-06-08.
  2. ^ "mClock: Handling Throughput Variability for Hypervisor IO Scheduling". VMware Inc. Retrieved 2015-07-12.
  3. ^ "Budget Fair Queueing I/O Scheduler".
  4. ^ "BFQ I/O Scheduler Queued For Linux 4.12 - Phoronix". www.phoronix.com.
  5. ^ "blk-mq: Kyber multiqueue I/O scheduler [LWN.net]". lwn.net. 14 Apr 2017. Retrieved 2019-07-19.
  6. ^ "BFQ I/O Scheduler Lands Along With New Kyber Scheduler - Phoronix". www.phoronix.com. 1 May 2017.

추가 정보

외부 링크