2010-11-18 10 views

답변

4

패치에 대한 내 생각 (대부분의 기사가 있지만 자세한 내용은 자세히 설명되어 있음)은 자동으로 CPU 비율 인 의 균형을보다 균등하게 유지할 수 있다는 것이 었습니다.

Linux CFS 완전 공정 스케줄러는 잠시 동안 그룹 균형 조정 동작을 수행했습니다. 즉, 사용자 A가 500 개의 작업을 시작하고 사용자 B가 하나만 시작하면 공정성은 명의 사용자 인 사이의 균형을 이루어야합니다.

이렇게하려면 모든 사용자 A 작업이 하나의 그룹에 있고 사용자 B의 모든 작업이 다른 작업에 있어야하며 CPU가 동일하게 공유되어야합니다. 사용자 A는 ' 더 많은 작업을 사회적으로 반대하지 말라.

그러나 공정성은 사용자 ID (동적) 또는 제어 그룹 (비교적 고통스럽고 정적 인 설정 방법)을 기반으로합니다.

이 패치의 역할은 TTY에 따라 그룹에 작업을 자동으로 할당하는 것입니다. 그런 식으로 그룹으로의 분리는 자동 기능 (설정 제어 그룹 없음)과 사용자 ID보다 미세한 입자에서 발생합니다 (일반적인 데스크톱에만 의 작업을 수행하는 사람이 많기 때문에 적어도 비 자동 관리).

리누스가 우리를 위해 다음 커널을 컴파일하기 위해 대규모 병렬 빌드 프로세스가 모든 그룹의 작업을 하나의 그룹으로 묶어 리누스가 VLC를 가동하여 최신 에피소드 The Big Bang Theory을 볼 수 있습니다. 그가이 쇼를 보든, 그가 그의 소프트웨어 상자에 다양한 소프트웨어를 가지고 있는지, 내가 아는 한, 그는 Windows 7 하에서 Windows Media Player를 완전히 별개의 그룹으로 운영 할 수 있습니다.

그러면 CPU는 두 그룹 사이에서 비교적 균등하게 공유되며, Linus는 Sheldon이 화면을 조심스럽게 움직이는 것을 볼 필요가 없습니다.

물론 커널 빌드가 느려지므로 그게 우리에게 도움이되는 중요한 작업이 아닙니다.

내가 읽은 (및 본) 것으로부터,이 크게은 데스크톱 응용 프로그램의 응답 성을 향상시킵니다. 전반적인 용량을 늘리지는 않지만 특정 시나리오에서 많은 작업을 향상시킵니다.

물론 사용 프로필이 TTY 당 하나의 작업 (또는 단일 TTY의 모든 작업) 인 경우 당연히 그렇게 많이 도움이되지 않습니다. 그러나 일부 시나리오를 개선하고 너무 많은 다른 요소를 저하시키지 않으면 승자가 될 것입니다. 그리고 비록 이 다른 것들을 강등 시키더라도 그것은 설정 가능한 동작이므로 커널에 여전히 몰래 들어가있을 것입니다.


는 흥미롭게도, 지금이 패치 후보는 "주류 미디어"를 간 것을, 당신이 당신의 .bashrc 및 다른 작은 미세 조정을 수정로 same thing을 할 수 없다는 목공에서 나오는 사람들이있다. 이것은 기본적으로 앞에서 언급 한 컨트롤 그룹을 중심으로 "자동화 된"도구를 포함합니다.그는 그것이 쉘 무신론자가되고 싶어하기 때문에

리누스는 이미이 사용자 영역의 솔루션을 거부하고이 뭔가 사용자가 수행해야되지 않습니다 : 그것은 우리가 모든 사용자를 위해 그것을하고 싶은 일이기 때문에

을 , 그리고 모든 껍질에 대해, 그리고 자동으로 완료되었는지 확인하십시오. 구형 배포판 등이있는 사용자를 위해 포함하여 한 곳에서 쉽게 할 수 있습니다. 그리고 커널에서 쉽게 볼 수있는 다른 모든 휴리스틱을 위해 그렇게합니다. 그리고 나서 사용자는 고지을 사용하지 않아도 마술처럼 그렇게합니다.

갑자기 bashrc와 더 이상 놀지 않는 것처럼 보이지 않습니까?

그게 중요한 부분입니다. 우리는 커널 변경을 밀어 낼 수 있으며 모든 것이 "잘 작동 할 것"입니다. 커널에서 이미 가지고있는 기능을 실제로는 으로 만들 수 있습니다.

작동해야하는 무언가를위한 사용자 수준 구성은 성가신 일입니다. 우리는 더 잘할 수 있습니다.

다른 방법을 넣어 : 우리가 뭔가를 할 수있는 더 좋은 방법을 찾을 수 있다면, 우리가 "물론, 사용자가 원하는 경우, 그들은> 여기 < 기술적 인 일을 할 수있는"말을하지한다. 정말로 뭔가를하는 것이 더 좋은 방법이라면, 그냥해야합니다. 사용자 설정을 요구하면 이 아닌 기능입니다.

이제 사용자가 cgroup을 사용할 수 없도록해서는 안됩니다. 물론 그들은 수동으로 할 수도 있습니다. 그러나 사용자가 우리가 더 쉽게 할 수있는 어리석은 일을하도록 요구해서는 안됩니다.

"당신이해야 할 일"과 "우리가 너에게 해줘야 할 것"사이에 선택한다면, 나는 매번 두 번째 것을 가져갈 것이다. 우리는 그것을해야한다는 것을 압니다. 왜 우리는 누군가 다른 사람에게 우리를 위해 그것을해야한다고 말해야합니까?

내가 그 감정에 동의해야

- 당신은 단지 그들이 여분의 성능을 위해 특별한 무언가를해야했다 사용자에게 허용한다면, 당신은 단지 그들을 "nice make -j64"보다는 "make -j64" 사용하여 얻을 수 있습니다.

관련 문제