컴플리틀리 페어 스케줄러
컴플리틀리 페어 스케줄러(영어: Completely Fair Scheduler, CFS)는 리눅스 커널의 2.6.23 (2007년 10월) 릴리스에 병합된 프로세스 스케줄러이며 현재의 기본 스케줄러이다. 프로세스 실행을 위해 CPU 자원 할당을 관리하며 상호작용 성능을 극대화하면서도 전반적인 CPU 이용을 극대화하는 것을 목표로 한다.
다른 이름 | Completely Fair Scheduler |
---|---|
원저자 | Ingo Molnar |
개발자 | 리눅스 커널 개발자들 |
운영 체제 | 리눅스 커널 |
언어 | C |
종류 | 스케줄링 (컴퓨팅) |
라이선스 | GPL-2.0 |
웹사이트 | kernel |
로테이팅 스테어케이스 데드라인(Rotating Staircase Deadline)이라는 이름의 페어 스케줄링이 주를 이루는 Con Kolivas의 스케줄링은 Ingo Molnar가 컴플리틀리 페어 스케줄러(CFS)의 개발에 영향을 주었고 이는 자신의 발표에서 Kolivas의 업적을 언급하면서 초기의 O(1) 스케줄러를 대체한다.[1]
구 리눅스 2.6 커널에 쓰인 이전의 O(1) 스케줄러와 달리 CFS 스케줄러 구현은 런 큐에 기반을 두지 않는다. 대신에 레드-블랙 트리는 앞으로 있을 태스크 실행의 타임라인을 구현한다. 게다가 스케줄러는 나노초 입자 계산을 사용하며 이는 개개의 프로세스의 CPU 할당분이 할당된 원자 단위이다. 이는 이를테면 프로세스의 대화식 이용을 결정하기 위해 어떤 특정한 휴리스틱 이론이 필요하지 않다는 것을 의미한다.[2]
구 O(1) 스케줄러처럼 CFS는 슬리퍼 페어니스(sleeper fairness)라는 개념을 사용하는데, 이는 런큐의 것과 동일한 슬리핑/대기 태스크를 고려한다. 즉, 대부분의 시간을 사용자 입력이나 다른 이벤트를 대기하기 위해 소비하는 대화식 태스크들은 이들이 필요할 때 CPU의 필적할만한 할당분을 가져오게 된다는 것을 뜻한다.
각주
편집- ↑ Molnar, Ingo (2007년 4월 13일). “[patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]”. 《linux-kernel》 (메일링 리스트).
- ↑ Andrews, Jeremy (2007년 4월 18일). “Linux: The Completely Fair Scheduler”. en:KernelTrap. 2007년 4월 19일에 원본 문서에서 보존된 문서.
같이 보기
편집외부 링크
편집- Corbet, Jonathan (2007년 4월 17일). “Schedulers: The Plot Thickens”. LWN.net. 2017년 9월 6일에 원본 문서에서 보존된 문서. 2018년 3월 27일에 확인함.
- Corbet, J. (2007년 7월 2일). “CFS Group Scheduling”. LWN.net. 2017년 9월 6일에 원본 문서에서 보존된 문서. 2018년 3월 27일에 확인함.
- Corbet, J. (2007년 10월 16일). “Fair user scheduling and other scheduler patches”. LWN.net. 2017년 6월 12일에 원본 문서에서 보존된 문서. 2018년 3월 27일에 확인함.
- Corbet, J. (2010년 11월 17일). “TTY-based group scheduling”. LWN.net. 2018년 5월 21일에 원본 문서에서 보존된 문서. 2018년 3월 27일에 확인함.
- Corbet, J. (2010년 12월 6일). “Group scheduling and alternatives”. LWN.net. 2017년 6월 11일에 원본 문서에서 보존된 문서. 2018년 3월 27일에 확인함.
- Singh Pabla, Chandandeep (2009년 8월 1일). “Completely Fair Scheduler”. linuxjournal.com. 2018년 3월 18일에 원본 문서에서 보존된 문서. 2018년 3월 27일에 확인함.
- Jones, Tim (2009년 12월 15일). “Inside the Linux 2.6 Completely Fair Scheduler”. IBM.
- Lozi, Jean-Pierre (2016년 4월 21일). “The Linux Scheduler: a Decade of Wasted Cores” (PDF). ACM. 2018년 2월 5일에 원본 문서 (PDF)에서 보존된 문서. 2018년 3월 27일에 확인함.