BFQ 및 BFS 스케줄러가 공식 우분투 커널에 포함되지 않은 이유는 무엇입니까?


24

어제 우분투 속도를 높이는 기사 를 읽었 습니다. 이 기사에서 제안한 한 가지 제안은 기본 I / O 스케줄러를 BFQ 로 바꾸는 것인데, 기사에 따르면 대화식 성능에 최적화되어 있습니다.

비슷한 기사 에서 BFS 프로세스 스케줄러를 사용할 때 데스크탑 성능의 장점을 지적합니다 .

두 스케줄러는 데스크탑 상호 작용 및 성능을 향상시키는 것으로 알려진 수많은 패치 세트 및 대체 커널에 포함되어 있습니다 (예 : linux-pf , liquorix-kernellinux-ck ).

그래서 내 질문은 : 우분투가 어떻게 훌륭한 데스크톱 경험을 위해 노력하고 있는지를 감안할 때, 비 스케줄러 OS의 비 스케줄러 가 대화 형 성능면에서 더 나은 것으로 입증 되었을 때 어떻게 이러한 스케줄러와 함께 제공되지 않습니까?


두 스케줄러에 대한 자세한 정보는 여기에서 찾을 수 있습니다.


1
약어는 BFQ가 아니라 BFS입니다. 아니면 여기가 강렬합니까?
jobin

@Jobin Whoops, 네 말이 맞아. BFS는 프로세스 스케줄러이며 BFQ와 마찬가지로 linux-ck 패치 세트에 포함되어 있습니다. 이것을 반영하여 질문을 편집하겠습니다.
Glutanimate

Ubuntu 기본 스케줄러 마감일에 비해 BFS가 눈에 띄게 향상되었습니다. 연결된 벤치 마크는 CFQ
NGRhodes

1
@NGRhodes 예, 이 비교 에서는 작성자가 BFQ와 최종 기한 사이에 동일한 처리량을 달성하는 동시에 순차 디스크로드에서 응용 프로그램의 시작 시간을 1 배 (BFQ로) 줄 이도록 관리 할 수 ​​있음을 알 수 있습니다. 위에 링크 된 첫 번째 기사 에서 유사한 비교를 찾을 수 있습니다.
Glutanimate

3
Ubuntu-devel-discuss 에 제안하지 않으 시겠습니까?
Andrea Corbellini

답변:


14

빠른 답변 :

  1. 두 스케줄러가 모두 지원되지 않거나 지원되는 모든 Linux 플랫폼 (빈도, 아키텍처, 리소스 소비 등)에서 제대로 작동하지는 않습니다.
  2. Torvalds는 단순히 둘 이상의 스케줄러를 지원하고 싶지 않은 것 같습니다.

설명 :

스케줄러는 독창적 인 이니셔티브 (일명 커널에서 지원되지 않음)이므로이를 포함한다는 사실은 스케줄러 (보안 패치, 유지 보수 패치, 새로운 커널 릴리스에 대한 적응 속도 향상 등)에 사람들을 집중시키는 것을 의미합니다. 그것은 미래에 아직 존재하지 않는 프로젝트에 대한 금융 투자를 의미합니다.

그들은 여전히 ​​젊습니다. 가장 좋은 예는 BFS FAQ 에 "확장 성이 얼마나됩니까?"에 설명되어 있습니다.

이 부분의 줄 뒤에는 논리 CPU가 많은 경우 BFS에 성능 문제가 있음을 알려줍니다. 이 단일 지점은 서버 및 고급 PC에 적용됩니다 (16 개의 숫자가 제공되므로 1000 달러의 간단한 서버로 인해 성능 문제가 발생할 수 있음). 따라서이 패치의 Ubuntu Server를 제외하고 이제이 수에 쉽게 도달하는 물리적 이중 CPU 구성도 제외합니다.

우분투는 다른 스케줄러를 사용하면 대중에 도달 할 수 없습니다. 확장 성은 성능을 능가합니다.

항상 그렇듯이 많은 "if"와 함께 ... :

  • Ubuntu의 모든 사용자가 데스크탑 사용자 인 경우
  • 각 Ubuntu 사용자의 모든 컴퓨터가 스케줄러에 올바른 PC 인 경우

실제로 가장 좋은 방법은 현재 방법입니다. 사용자가 하드웨어를 가지고 있고 관심이있는 경우 원하는 스케줄러를 적용하도록합니다.

내가 말했듯이 확장 성은 큰 문제이며 미래는 프로세서 수를 늘릴 것이기 때문에 적용하는 것이 일정 시간 동안 더 잘 작동 할 수 있습니다. 그러나 다른 사람들에게 심각한 문제를 일으킬 것입니다.

추가 소스 :

링크가 영원히 유지되지 않을 수 있습니다. 여기 h-online 에서 BFS에 대해 찾은 기사 가 있습니다 . 내가 찾은 가장 공식적인 것입니다. 그러나 당신이 구글 열심히 경우 실제 진술을 찾을 수 있습니다. 나는 그것이 커널 트랩에있을 수 있다고 생각합니다.

기사의 피닉스 제목의 세 번째 단락을 참조하십시오. 링크가 죽는 경우 여기에 인용하겠습니다.

Linus Torvalds는 이미 여러 스케줄러를 유지하고 싶지 않다는 것을 이미 확인 했으므로 BFS를 Linux 기본 개발 지점에 통합하는 것은 거의 불가능합니다. 또한 Linux 배포자는 특별한 구성없이 다양한 시스템에서 최적의 성능을 달성하는 단일 커널 이미지를 선호하는 경향이 있습니다. CFS 개발자는 사용자 커뮤니티에 대한 보너스 인 BFS가 다루는 영역에서 스케줄러를 개선 할 수 있습니다.

Linus Torvalds 스레드 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.