簡體   English   中英

使用cpuset,在所有進程上使用截止日期調度程序是否與使用正常的完全公平的調度程序有效?

[英]With cpuset, is using deadline scheduler on all processes effectively same as using normal completely fair scheduler?

據我了解,在現代Linux上,截止時間調度程序是使用恆定帶寬服務器(CBS)和最早截止時間優先(EDF)實施的。 假設我使用cpuset將X進程數分配給12個CPU中的6個。 假設6個CPU上沒有其他重要進程在運行。 在這種情況下,我覺得在所有X個進程上使用SCHED_DEADLINE(具有默認的預算和期間)與僅使用正常的完全公平的調度程序沒有什么區別,因為兩者都會導致所有X個進程在相同的CPU時間上運行。 我的理解正確嗎?

至少有2個差異:

  • SCHED_DEADLINE任務會搶占其他任何任務,只要它們未被阻止並且運行時不會耗盡。
  • SCHED_DEADLINE任務在運行時間用盡時會受到限制,即使它們沒有被阻塞並且系統處於空閑狀態。

進一步說明:從內核4.13開始,CBS算法已被GRUB取代,GRUB也支持帶寬回收。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM