Sysops Notepad

[Linux] i/o 스케줄러 본문

업무/sys

[Linux] i/o 스케줄러

sysops 2019. 12. 3. 17:40

I/O Elevator 종류는?
1. noop 스케줄러
No Operation. 아무것도 하지 않는 스케줄러.
주로 지능형 RAID 컨트롤러있거나, SSD사용하거나, 반도체 디스크 등 성능 좋은 디스크를 사용할 경우 선택되어지는 스케줄러로 커널은 아무것도 하지 않는 것이 부하를 줄일 수 있다는 생각이 기저에 있다.

2. anticipatory(as) 스케줄러
발생되는 I/O 요청에서 향후 발생되는 I/O 요청의 위치를 예측하고 위치 떨어진 I/O 요청 처리를 중지하고 위치 가까운 I/O 요청을 처리하는 방식이다.
지연 시간을 줄이고 처리량을 향상하는 것.
전통적인 하드 디스크와 비슷한 구조이다.
입출력을 기다려 모아서 처리하는 성질이 있어 지연 시간은 나쁘게 될 가능성도 있다.

3. deadline 스케줄러
I/O 대기 시간의 한계점(deadline)을 마련하고, 그것이 가까워 온 것부터 먼저 처리한다.
처리량보다 지연에 최적화된 스케줄링을 한다.
읽기 및 쓰기를 모두 균형있게 처리한다.
몇몇 프로세스가 많은 수의 I/O를 발생시키는 환경에 적합하다.
데이터 베이스의 파일 시스템에 많이 사용된다.

4. cfq(Completely Fair Queuing) 스케줄러
프로세스마다 I/O 대기열을 가지고 최대한 균등하게 예약을 한다.
많은 프로세스들이 세세한 I/O를 많이 발생시킬 때 사용하면 좋다.
Fedora Core 커널 패키지의 기본이다.


원본 : https://www.mimul.com/blog/io-scheduler/

Comments