1. noop
먼저 들어온 선착순 처리형태로 읽기와 쓰기에 우선권한이 없이 평등하다고 합니다.
그리고 하드드라이브보단 플래시 메모리에 유리하다고 합니다.
장점
•CPU에 최대한 적은양의 I/O의 요구량을 주므로써 배터리 친화적이라고 합니다.
•더 요구하는 부하량이 없기에 플래시 메모리에 가장 좋다고 합니다
•데이터베이스 시스템의 처리량에 좋다고 합니다.
단점
•CPU의 주기횟수가 감소함에 따라 성능도 같이 떨어진다고 합니다.
2. Deadline
I/O의 지연을 최소화 하기위해 만들어진 스케듈러로 noop처럼 선착순형태로 처리를 하지만
읽기를 쓰기보다 먼저합니다 그리고 5개의 행렬은 들어온 작업을 재배열/재정렬합니다
장점
•거의 실시간으로 체크를 합니다.
•특정 I/O의 대기시간 및 지연을 최소화합니다.
•데이터베이스에 관한 권한 및 요청에 대하여 가장 좋다고 합니다.
•noop과 마찬가지로 플래시 메모리에 좋다고합니다.
단점
•시스템이 과부하가 되면 작업일정이 크게 지연될수 있습니다.
3. CFQ
작업의 요구에 대하여 모두 공평하게 작업우선순위를 배분하여 처리하는 방식으로 퍼포먼스가 좋을수도 않좋을 수도 있습니다. 그리고 CFQ v2는 작업처리에 따른 지연을 어느정도 해결하였다고 합니다.
장점
•모든 작업의 요구량에 공평히 처리를 합니다.
•조정을 하기가 쉽습니다.
•여러가지 프로세서들의 요구가있을때 탁월한 성능을 발휘합니다.
•Deadline 다음으로 뛰어난 성능을 발휘합니다.
단점
•몇몇 사용자들은 미디어스캐닝할때 많은 시간이 소요된다고 하는데 이는 CFQ가 미디어 스캐닝에 우선순위를 주지 않아서 생기는 현상이라고 합니다.
•요구량이 많아짐에 따른 불안정 혹은 지연이 발생할수 있다고 합니다.
4. BFQ
CFQ에서 좀더 발전한 스케듈러로 CFQ보다 작업요구량 처리방식에서 조금더 좋은 결과를 보여준다고 합니다. 그리고 쓰기에 우선순위를 준다고 합니다.
장점
•usb데이터 전송에 좋다고 합니다.
•CFQ보다 불안정과 지연시간이 덜하기때문에 비디오 녹화 밑 스트리밍에 가장 좋다고 합니다.
•최적의 스케듈러를 고안했다(이게 무슨말인진 저도잘 모르겠습니다.)
•대부분의 작업요청에서 CFQ보다 30%높은 성능을 보여줍니다.
단점
•벤치마크에선 최상의 스케듈러가 아니라고 합니다.
•작업처리 요구량이 증가할수록 지연시간이 증가할수있다고 합니다.
5. SIO
I/O의 요청에 따른 대기시간을 최대한 줄이기 위해 고안된 스케듈러라고 합니다. noop과 Deadline을 섞은 형태라고 합니다. 요청에 따른 재정렬은 없다고 합니다. 그리고 좋은 퍼포먼스로 최고의 스케듈러라고도 합니다.
장점
•안정적이고 간단하다고 합니다.
•요청을 최소화 한다고 합니다.
단점
•다른 스케듈러에 비하여 플래시 메모리에서 느린 랜덤읽기 속도를 보여준다고 합니다.
•플래시 메모리에서 연속읽기의 속도또한 좋지 않다고 합니다.
6. V(R)
다른 스케듈러와는 다르게 요청에 따른 처리기준을 세우는 것이 아니라 마감에 따른 처리기준을 세운다고 합니다. 다음 요청을 받는 시간의 기준은 마지막 요청에 따른 거리를 기준으로 한다고 합니다.
장점
•위와 같은 처리방식으로 인해 벤치마킹으론 좋은 성적을 보여준다고 합니다.
단점
•대부분이 불안정 하다고 합니다.
•성능의 변동 폭이 성능의 평균이하라고 합니다.
과연 여기서 최고의 스케듈러란 무엇인가요?
스케듈러는 최고 라는 것이 없다고 합니다. CPU 가버너와의 호환성과 사용자들의 작업환경 등등
환경에 따라 성능이 바뀐다고 합니다.
그러나 전체적인 성능 안정성 베터리등을 따져서 굳이 비교해보자 하면
SIO > Noop > Deadline > VR > BFQ > CFQ 이라고 합니다.
직접 사용해보시고 자신에게 맞는 스케듈러를 선택하길 바랍니다.
틀린 점있으면 댓글에 적어주세요 해석이 정확하지 않을 수 있습니다.
출처 : http://forum.xda-developers.com/showthread.php?p=19846297
'IT에 관한 모든것 > Tip' 카테고리의 다른 글
가버너에 따른설명 (0) | 2013.01.27 |
---|