Threadripper/EPYC 시스템에서 커널을 통해 커널 비활성화/재활성화 [닫기]

Threadripper/EPYC 시스템에서 커널을 통해 커널 비활성화/재활성화 [닫기]

0현재 연구의 일환으로 에코 또는 시뮬레이션된 수직 스케일링을 통해 1코어를 비활성화/재활성화하는 테스트를 진행해 왔습니다./sys/devices/system/cpu/cpuN/online

이는 커널 v4.4.0(Ubuntu 16.04 LTS)을 사용하는 여러 Xeon E3 시스템에서 완벽하게 실행됩니다. 최근에 Ubuntu 16.04에서 v4.4.0을 실행하는 듀얼 소켓 EPYC 7281 시스템을 테스트할 기회가 있었습니다. 이러한 시스템에서 코어를 비활성화하면 제대로 작동합니다. 그러나 다시 활성화하면 lscpu 및 htop에 의해 온라인으로 표시되었지만 시스템을 재부팅할 때까지 다시 작동하도록 예약되지 않았습니다. 즉, 시스템을 스트레스 테스트했을 때 htop은 비활성화되지 않은 것으로만 표시했습니다. 이전 및 다시 활성화된 코어가 사용 중입니다.

즉, Xeon 시스템에서는 먼저 코어 #0을 제외한 모든 코어를 비활성화한 다음 다시 활성화합니다. 그 후에는 코어를 비활성화하기 전과 마찬가지로 모든 것이 정상적으로 실행됩니다. EPYC 시스템에서는 비활성화된 커널은 htop 및 lscpu가 다시 활성화한 후에도 사용 가능한 것으로 표시된 후에도 다시 사용되지 않습니다.

추가 테스트를 위해 더 이상 EPYC 시스템에 액세스할 수 없지만(2주 동안만 사용했고 최신 커널로의 업그레이드를 허용하지 않음) 새 하드웨어 구입을 고려하고 있으며 Threadripper/EPYC(Zen in)가 무엇인지 알아내야 합니다. 일반) 일반적으로 커널을 비활성화/재활성화하면 실패합니다. 아니면 이것은 단지 이상한 고립된 문제입니까?

내 질문은 다음과 같습니다

  • 코어가 정상적으로 온라인 상태가 되지 않는 것이 이전 버전 4.4의 문제일까요? 커널이므로 최신 커널로 업그레이드하면 이 문제가 해결됩니까? 불행하게도 더 이상 EPYC 머신에 접근할 수 없기 때문에 이것을 테스트할 수 없습니다(그렇지 않으면 이 게시물이 여기에 없을 것입니다 :)). 그러나 나는 우리의 새로운 하드웨어에 대한 모든 권한을 갖고 있습니다. 따라서 새 커널이 이 문제를 해결하면 기쁠 것입니다.

  • 커널 버전 때문이 아니라면 EPYC이 이런 식으로 동작하는 이유는 무엇이며 이 문제를 해결하려면 어떻게 해야 합니까?

답변을 찾으려고 노력했지만 커널 v4.10 이상부터 Zen 기반 CPU에 대한 패치가 많이 있었다는 사실을 제외하고는 지금까지 결정적인 것을 찾지 못했습니다.

내가 찾고 있어요이 링크, Intel CPU에서 프로세스가 작동하는 방식에 대한 세부 정보를 제공하고 커널 비활성화를 담당하는 실제 코드에 대한 링크도 제공합니다. 불행히도 이것은 별로 도움이 되지 않습니다. 적어도 나는 내 질문에 대답할 만큼 충분히 이해하지 못합니다.

이것재부팅하지 않고 실행하는 동안 코어를 수직으로 확장해야 하기 때문에 도움이 되지 않습니다.

또한 최신 커널에서 새로운 전원 관리 시스템에 대한 참조를 찾았지만 이는 내 이해 범위를 벗어났습니다.

또는 현재 최신 커널이 포함된 Threadripper 또는 EPYC 시스템을 사용하는 사람이 커널을 비활성화/재활성화한 다음 이를 로드하여 확인함으로써 빠른 테스트를 실행할 수 있다면 아마도 문제의 원인을 파헤치고 찾을 필요가 없을 것입니다. , 그것만 있으면 충분할 것입니다. 올바르게 사용되고 있습니까?

이 문제에 대한 통찰력과 도움을 주시면 정말 감사하겠습니다!

필요한 경우 여기에 더 자세한 내용을 제공할 것입니다. 이 동작을 설명하는 데 무엇이 더 필요한지 모르겠습니다. 그리고, 이런 질문을 하는 것이 올바른 의사소통 방법인가요? 아니면 도움을 받을 수 있는 다른 방법을 추천하시겠습니까?

답변1

글쎄요, 후손을 위해서 저는 실험을 통해 답을 찾았습니다.

내 동료는 커널 v4.15를 사용하여 완전히 로드된 EPYC 7281 시스템에서 31/32 코어를 비활성화하고 다시 활성화하여 빠른 테스트를 수행했습니다. 비활성화된 모든 코어가 다시 올바르게 활용되고 있으므로 이전에 겪었던 문제가 사라진 것 같습니다.

어떤 버전에 이 수정 사항이 포함되어 있는지 또는 이 결과에 영향을 미칠 수 있는 다른 변경 요인이 있는지는 확실하지 않지만 현재로서는 최신 커널을 사용하면 사람들이 Zen 기반 CPU 커널에서 이를 비활성화/활성화할 수 있을 것이라고 확신합니다. 문제.

관련 정보