TW526452B - System and method for scheduling system resources - Google Patents
System and method for scheduling system resources Download PDFInfo
- Publication number
- TW526452B TW526452B TW088122782A TW88122782A TW526452B TW 526452 B TW526452 B TW 526452B TW 088122782 A TW088122782 A TW 088122782A TW 88122782 A TW88122782 A TW 88122782A TW 526452 B TW526452 B TW 526452B
- Authority
- TW
- Taiwan
- Prior art keywords
- user
- time
- clock
- scheduling
- waiting
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Saccharide Compounds (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Luminescent Compositions (AREA)
Description
五、 發明説明( 曼Μ背景^ 領域 ' 本發明係關於一系絲ΜΛ Α 驅動多處理器手^特別地係關於將有調度 北 予”无貝格的資源排程至使用者。 复i技藝 排程器係提供用以在作業系統中以控制 系統資源量。由G A nQ · 、k j者4耗的 M ^ ^ · V1S〇n於6/2/94申請之尚在審理中的 美國專利申請案案雜A筮c 中的 種系統。 末戒為弟S/N。8/252,864號之申請案說明此 / =腦系統中’許多程式或是使用者需要並行執 1 把有至少—可使用的處理器執行多程式。任-處理 f只可以在任—時間執行-程式或是異動。假使至少二程 式在相同時間需要執行,而且只有一處理器或是只有少於 需要執行之程式數目的處理器時,作業系統必須決定何程 式可以在任一時間使用該處理器或是各處理器。通常此決 定^依據各程式之相對優先順序。通常,亦且在等待狀態 <程式如那些等待一慢速1/0操作完成之程式,將被I,懸置,, 以及所以不論優先順序為何將沒有資格爭奪處理器。 除決定何程式可以在一特別時間利用該處理器或是各處 理器以外,作業系統亦必須決定所選擇之程式可以在開始 執行之後利用該個別處理器多長時間,所以為相等(或是可 能較低)優先順序之程式亦可以輪流執行。具有多數已知技 術用於決足各程式在開始執行之後必須被許可利用該個別 處理器多長時間。在最簡單的技術中’最高優先順序之程 -4 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526452 [SI l 五 發明説明( I止(持使用’直到該程式本身完成使用該處” t止(或疋懸置)。然而,此技術可能允許此程式 二 處理器,以及使其他程式,,挨餓”。 疼 所選擇用於執行之各程wi〗#已知技術中, 吁W丁 <合釭式為給予總體處理器時 ^總體處理器時間,,片„。程式之共用可以為為相等 佳地依據各種不同因素而加權。一種已知技術如下列2 將共用加權。其中一些程式被定義為命令總 ; 之"絕對,,或是明確共用,而其他程式被 4:: :里=之:,相對"共用。該絕對共用"由上層移去 八以/、相對共用依比率劃分剩餘時間。例如,第一 f十 絕對共用加以定義,第二程式以⑽相對共用加= f以及第三程式以鳩相對共用加以定義。在此方案中,第 -程式將命令4G%之總體處理器時間,第二程式將命人 總體處理器時間而第三程式將命令45%之總體處理 一程式可能不需要其全部絕對或是相對共用。以此絕對/ 相對共用環境分配過剩之一種已知技術為將把所有過剩時 間給予具有最高絕對或是相對共用之程式。假使該過剩時 間為㈣分總體處理器時間時’此已知技術將足夠滿足需 要。2而’在許多案例中,該過剩時間為大量,如總體處 理j間《-半,所以將所有過剩時間分配給一程式可能 不是最佳方式。 之使用者有權利使用之系統相對共用為依據目前競爭系統 育源的所有相對共用使用者優先順序比率給予資格。然
而’所有系統資源不需要為相對共用使用者可利用。假使 ,有絕對共用使用者競爭資源時,那些絕對共用使用者為 、剩餘之系統共用在相對共用使用者之間依比率劃分之前 首先給丁其部分《系統。這些關係通常表示如下: 剩餘共用=100 %系統一所有絕對共用總體 之後剩餘共用在相對共用使用者之間依比率劃分: 相對使用者之共用=剩餘共用*(使用者相對共用/所有相 對使用者之總體共用) Y小時間片為-既定使用者許可由排程器職檢視而不具 :斷的處理器時間f。小時間片的大小與機器速度以及可 肊之用戶汉疋有關。當一使用者被調度時,CPU時間以小 時間片的時間量加以設定。當時間量期料,此計時器減 少以及呈現中冑,因此發出信號至排程ϋ表示使用者的小 時間片已經結束。 -受限之使用者,亦即”限制固定"使用者,為限制值定義 :代表擁有最大量處理器資源之一使用者。此限制值代表 =大使用共用’以及用以計算使用者的調度優先順序。通 苇 制串列&供為放置那些超越或是將超越其最大許可 ”用(處理⑨貝源的限制固定使用者。當—使用者在限制 串列上(或是另外由限制狀態加以特徵化)時,資源不會為 -6 -
該使用者調度使用。 —人工日時鐘(ATOD)於調度使用者工作時使用。at〇d 值以和機器的日時鐘(T0D)相同速率増加,但是只有在使 用者工作(以和非使用者工作如作業系統工作區別)由機器 &成期間增加。在目前系統中’至少一部分依賴at〇d排 私系統資源,縱使當CPU資源使用時,受限制之共用使用 者可能不被允許達到其最大使用共用。明顯地是,在具有 閒置處理器資源時間的低負載情況中,人工日時鐘(Μ。⑺ 值在閒置期間移動不狗快速。所以,正執行之那些限制固 疋使用者的優先順序相對於ATQD較其應該之移動更快速以 及其過早地進人限制串列(也就是說,設定限制狀態)。甚 至於,使用者可能不需要維持在限 用之⑷樣理器監视該串列。在低負載情況中為(;= 足夠疋工作使所有處理器保持忙碌的時間),較少作用之處 理器為作用,以致限制串列較不常被監視。此情:= 於使用者必須離開限制串列與處理器偵測使用者必須離開 :::列《間的時間增加。迄今為止,沒有一機構在處理 。為作用《等待狀態的時間期間將使用者由限制串列移 2 α在此情況中’具有當處理器沒有使用者工作將執行的 •、及所以在作用之等待機構中迴路,以及在限制串列 者保持在串列上直到在另—處理器上可能造成 限制串列將檢查之其他事件發生為止。 統具有較;使用在t述Davlsr申請案中說明的系 從幻耆在上面,或是當該系統不為忙碌時,當 -7 - 本纸張尺奴财s
526452
Si 6. 五、發明説明(5 ) 使用者必須能夠具有最高至硬性限制的使用時,系 器給予使用者較使用者硬性限制少的cpu時間。在具i 常少使用者在電腦系統上的案例中,說也奇怪使用者^ 較應得之CPU時間明顯為少’最高少於2〇%。此情J二 c P U時間為計費的案例中特別會形成使用者抱怨得不到 付費用的所有CPU時間。相反地,CPU時間可能應計費而 不計費。 本發明 < 一目的為提供一種排程器系統和方法,以加強 允許使用者在低負載情況中存取系統資源精密接近或是等 於其硬性限制。 本發明<另一目的為提供一種改良之排程器,加強系統 資源之最佳化計費以及減低使用者在冑資源彳費上的不安 或是可使用性。 本發月之另目的為提供一種系統和方法,因此監視資 料使用為系統使用的排程演算法之一回馈機構以決定使用 者優先順序以及決足接下來何使用者必須被許可加以執 行。 本發明 < 另一目的為提供一種系統和方法,用以藉由不 會太快將具有限制存取之使用者置放在限制串列上以及不 會太慢將使用者由限制串列移除而將系統資源排程至該使 用者。 本發明之另一目的為提供一種系統和方法,用於不會太 k因為使:貝源能夠排程而排程系統源給具有限制存取之使 用者’以及不會太快禁止資源之排程。 裝 訂 -8- yzb^yz
系統資源由使用 鐘而排程使用.在持—第一時鐘、維持一第二時 只有當該使用者處理期間,假使有工作將執行時, 調度優先順序排程ί::狀態時’將系統資源之使用依據 進一俊用去咕、.。孩使用者;否則以將第一時鐘往前推 間和等待以及以將第二時鐘往前推進—使用者時 πφ 胃,以及在等待處理期間,假使有工作將執行 =時度處理;否則,計時等待時間;以及假使在等 .:越預足值時具有一個為等待狀態的使用者時, 第時鐘一等待時間和呼叫調度處理。 裝 月’、他悲樣和優點將由本發明目前較佳具體實施例 的下列詳細說明與附圖結合而變得明顯。 圖式之簡單說明 圖1為製作本發明較佳具體實施例之方法和資料結構 統圖; μ 圖2為電腦作業系統流程圖; 圖3(a-c)形成調度器流程圖; 線 圖4為圖2作業系統内排程器的(小部分)流程圖; 圖5解釋調度串列;以及 一圖6為製作本發明方法之較佳具體實施例之程式模組圖 TJT ° 實施本發明之最佳模式 如本發明較佳具體實施例,為在尚在審理中的專利申請 案案號為第S/N 08/252,864號之申請案中的系統改良,之
-9- 、度適用中國國家標準(CNS) A4規格(210X297公釐) 526452
則 作業系統藉由不會太快將該具有有限之存取的使用 者放置在限制串列中而將系統資源排程至該使用者,以及 不會太慢將使用者由該限制串列移除。 裝 訂 線 、因此提供一種系統和方法用於在一,調度驅動,多處理系 統中經由建互在-作用之等待常式的監視器之使用限制一 特別使用者之CPU使用為_絕對值。該使用之機構為cpu 貝源必/綠制的使用者争列,所以其消耗不會超越該限制 值。孩使用者特徵為具有,限制狀態,。該限制串列 之作用等待以衫在低負載情況下何時該使用者必須由該 串列移除(因此重新儲存為,調度狀態,)以及因此在CPU可使 用時遞送最大CPU使用至使用者。如本發明較佳具體實施 例此作用之等待¥式(亦稱之為處理,或是程序)監視在 限制串列上的使用者以決定何時為呼叫調度常式之時間以 將使用者由該串卿除,利用監視之效能資料並回饋以動 態調整排程常式而增強決定使用者優先順序和《定何使用 者必須被允許接著執行(調度)之效應。當AT0D2被計算為 在使用者限制串列優先順序之一小時間片之内時,一使用 者由该凋度常式從該限制串列移除。 使用者工作為依據代表使用者時間片結束之調度優先順 序值而加以調度執行。此值為日時鐘格式,以及在下文中 更進一步說明。 參考圖1,一系統圖解釋本發明較佳具體實施例之程式 (貝料和万法)結構。這些程式結構包含系統資源2〇、即時 時鐘22、使用者最小共用指定24、使用者最大共用指定 -10- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
26。作用之等待連績監視器3〇、進入工作、調度器、 排私器44、ATOD2 21、ATOD 23 '偏移25、限制串列 2 7在限制串列上停留期間(亦稱之為停留時間)2 9、使用 者優先順序界限3 5、碉度_列3 7、最大降落量丨8和T〇D_ TIED 28。介於製作本發明方法之較佳具體實施例之這些結 構之間的鏈接,將在下文中解釋。 再次參考圖1,在操作中如以線88表示,假使有工作將執 行時,碉度器40尋找進入工作32以及使其依據由排程器扨 設定之優先順序執行。如以線82表示,假使沒有工作將執 行時,調度器40呼叫作用之等待連續監視器3〇。如以線㈠ 表示,作用之等待處理3 〇連續監視系統之進入工作3 2以及 更進一步以線8 2表示,呼叫調度器4 〇以當工作到達時加以 執行该工作。如以線8 4表示,調度器4 〇呼叫排程器4 4以當 使用者達到小時間片結束時重新計算使用者優先順序。如 分別以線85、86、87和88表示,排程器44使用為至調度 優先順序計算系統資源20、及時時鐘22、使用者最小共用 指足24、使用者最大共用指定26之輸入。如以線89表示, 排程器44將ATOD2往前推進一實際使用者使用之cpu時間 量加上自上次ATOD2更新時的任何等待時間(沒有工作可使 用於執行),而更新ATOD2 21。如以線90表示,排程器44 將ATOD往前推進一自上次ATOD更新起的實際使用者之 CPU時間量,以及基本上在本發明特定狀況下亦一往前推 進一等待時間,而更新ATOD2 23。該更新之at〇D=先前之 ATOD加上自上次AT0D重新計算之使用者cpu時間。 -11 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526452 五、發明説明(9 裝 線 如以線91表示,排程器44計算使用者偏移25,該偏移將在 優先順序計算中使用。當使用者調度優先順序被計算時, 偏移25被用為現行at〇D 23值之位移。如以線92和93表 不’使用者調度串列優先順序3 5 (亦稱之為期限優先順序或 疋預測之芫成時間)為依據排程器4 4之計算以及在界限内依 據現行ATOD 23值和使用者偏移2 5之大小加以設定。如以 線3 1和3 3表示,使用者調度串列優先順序被用以優先順序 置放一使用者工作在調度串列37上,以致於調度器4〇視其 為需要執行之進入工作32。排程器44使用ATOD 23計算使 用者碉度串列優先順序3 5以將使用者置放在調度串列3 7上 以及當使用者資源消耗需要藉由將其置放在限制串列27上 時使用AT0D2 21計算限制串列2 7優先順序。如以線9 5表 示’计鼻之上限稱為TOD-TIED 28。如以線94表示,計算 之下限稱為最大降落量1 8。如以線9 6表示,調度優先順序 3 5由排程器計算為在最大降落量界限丨8外部之限制共用使 用者加入至限制串列2 7。如以線9 7和9 8表示,在限制串列 2 7上之停留期間2 7的預測依據at〇D2 2丨製成。如以線9 9 表示’使用者停留在限制串列27上直到由排程器44移除的 時間為止。如以線i 20表示,在低負載情況中,作用之等 待處理3 0監視限制串列27以決定何時一使用者可能必須被 移除。 決疋ATOD、TOD-TIED、調度優先順序和偏移以及將資 源加以排程至使用者所需之計算將在下文中說明。用於計 算最大降落量之等式為·· -12- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 526452 A7 B7 五、發明説明(1〇 最大降落量=AT0D + 4*偏移 用於計算偏移之等式為: 偏移-(小時間片-超限)/ ( CpU數*共用) 其中超限=在使用者先前小時間片上剩餘時間量,假使使用 者已經由較高優先順序佔先。 使用者碉度優先順序為計算為在優先順序界限最大降落量 和TOD-TIED之界限内的整數值。TOD-TIED機構之更完整 解釋提供在下文中。 就整體而言,ATOD 23和AT0D2 21為用以累加在系統上 之所有使用者的使用者時間和系統等待時間之資料結構(欄 位)。單獨使用者時間及/或等待時間不需要追蹤。這些累加 被用於預測將發生之特定事件如和系統作用比較之使用者 小時間片的結束。 圖2 -圖5 ,以及下列之說明由Davison之尚在審理中申請 案案號為S/N 08/252,864號加以改編,以及組成瞭解本發^ 不可或缺之基本觀念的基本指導,本發明主要為提供^調 整ATOD和ATOD2以包含等待時間之機構的改良,以此方 式實質上在不會太快增加使用者至限制串列或是不會太慢 將該使用者移除之目的上改良。 9 ^ 圖2解釋一作業系統包括調度器4〇、堆疊器^、排程器 44和其餘功能46。該堆疊器為介於作業系統排程器和調度 -13- 526452
五、發明説明(11 器以及介於調度器和排程器和其餘功能之間的介面。下文 為處理流程之高階說明。在—典型方案中,使用者發出一 請求至作業系統”其餘功能”46以執行一些工作。該工作請 求傳送至記錄使用者狀態為”備妥”之堆疊器〇。縱使當使 用者可旎具有其工作之不同觀點,該堆疊器將由使用者到 達之工作視為至少一”異動”。當一使用者狀態由完全閒置 性(’·閒置變成準備執行(”備妥,,)狀態時,—個,f新的,,異 動開:L亦具有第二狀態為,,懸置",當一使用者仍然具有 工作(異動)進行,但是等待一虛擬1/〇請求完成以及所以暫 時不準備執行時存在。懸置週期不足以宣告一個新的異 動接著,該堆疊器傳送該請求至此使用者工作佇列。該 隹疊器亦乎叫排程器以獲得指示此使用者相對於在調度串 列3^^上之其他使用者之調度優先順序3 5的資訊。之後,該 堆疊器置放此使用者(實際上為使用者VMDBK)在調度串列 、、及回轉至作業系統"其他功能,,。該調度優先順序使 —周度串列上的使用者順序起效應。當作業系統其他功能 :成$現行工作件時,其傳送控制至調度器4〇以決定將執 仃心j一使用者和工作件。該調度器之後在調度串列37選 擇=將執行之第一備妥使用者以及在使用者工作侍列中 的工作件。之後,調度器4〇傳送控制至作業系統其他 力此兀以開始執行此工作。調度之工作之後執行預定歷時 足時^ 1 ’、例如1亳秒。假使該工作項目在1毫秒時間片結 束、^凡成時,該碉度器由相同使用者工作佇列中選擇另 作件加以執行。在此時間片結束時,假使該使用者仍 -14 - :297公釐) 裝 訂 線 526452 五、發明説明(12 然具有工作執行時’則該調度器再次+叫排程器44以獲得 此使用者次-時間片的新優先順序。此新優先順序使得使 用者在v周度串列中重新足位,依次決定何時相同使用者之 此次時間片將開始。介於相同使用者之此次時間片之間的 時間邵分決定此使用者處理器時間之共用。 無論其絕對或是相對共用,所有使用者於一致歷時之離散 時間片加以調度和執行β在前述之例子中,各時間片為玉毫 秒。-時間片-般依據處理器速度且選擇於此具體實施例 之1毫秒僅為例子’以及可以置換以調諧系統。在各使用者 (™ΒΚ表示)完成一時間片之後,被中斷以及向下移動 至限制串列中(重新排優先順序此情形一般允許另 者使用此處理器。各使用者之處理器共用由介於分配至使 用者的時間片和使用者利用各時間片所需之時間之間的間 隔決定;各使用者不需要消⑹連續毫秒中的單—時間片。 =使該使用者必須等待_1/〇操作時,其暫時懸置以及移去 處理益(但疋保留在調度串列37中),〃致於等則川操作+ 成之時間不計數此使用者時間片。例如,縱使_ι/〇操作= 能需要多數€秒完成時,—I/Q界限使用者將經常能夠啟私 以及在使用完單-時間片之前等待至少ι〇 ι/〇操作完成: :且’假使工作為具有較高優先順序之另-使用者到達 =該調度器在使用者時間片結束之前可能由其處理移= 執仃《使用者以及將其懸置一週期。該作業系 由控制介於時間片之間的間隔而_各使用者之&理= 間的實際共用。使用者介於時間片之間的間隔相當於 -15- 本紙張尺度適用中國國家標準(CNS) A4規格(21〇 X 297公爱) 裝 訂 526452
五 發明説明(13
在碉度串列37巾❹者和調度_財 :;::;:小的倒數。每次—完成二= :位。在;:二之:™BK重新排優先順序以及重新 段段使用的案例中,排程器不重新 =片ΪΓ時間片之間的間隔,直到累加時間等-毫 在下文更詳細說Γ於決疋介於時間片之間微小間隔的技術 二在t路敗系、统中之各CPU具有日時(TOD)鐘22和一cpu ::器二該T0D時鐘包括52位元硬體暫存器,每微秒增加 一次。當作業系統被啟始(啟動)時,該T0D時鐘被設定以 及在設足之後從不改變。在N4MP系統中,所有则固丁⑽ 時鐘為相互準確同步至微秒。該·時鐘被設定為如此時 間0為1990年1月1日午夜。以52位元(亦即位元〇.51) 丁⑽ 時鐘計算微秒,該T0D時鐘在重覆之前可以運行超過i4〇 年。該TOD時鐘從不停丨,以及總是增加且為可靠和正確 的時間戳記及即時量測。 孩CPU計時器包括另一 5 2位元硬體暫存器,由作業系統 38使用以將各時間片加以計時。假使以及當系統操作員停 止CPU時,該CPU計時器停止,以及只要操作員重新啟動 CPU時,该CPU計時器將再次啟動(然而該TQD時鐘連續運 行)。當CPU再次啟動時,該CPU計時器和時間片之前進繼 績進行。當各使用者開始其時間片時,開始時間由cpu計 時器通知。類似地是,使用者每次變成懸置時,該cpu計 時器之時間被通知以決定此使用者再次執行時剩餘多少時 -16- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526452 A7 B7 五、發明説明(14 ) 間。因此,當CPU停止時該使用者正處理,以及相對於 CPU計時器量測,不會遺失其任何時間片資格。 該排程器亦具有稱之為人工日時(ATOD)鐘(亦稱之為第 二人工日歷鐘AT0D2,稍後說明)之軟體時鐘。該ATOD時 鐘類似於硬體TOD時鐘,除了只有一個(不是各CPU具有一 個)以及運行較慢以外。CPU總體可使用處理功率之特定量 花費在作業系統管理負擔上,不能定為任何特別使用者之 屬性。所以,此總體可使用處理時間量不可使用於劃分為 使用者之共用。總體處理之百分比為時時刻刻變化之系統 管理負擔,使其困難地知道少於100%多少為可使用於使用 者之共用。當作業系統正執行管理負擔功能時,此困難度 為藉由定義ATOD時鐘將停止而規避,以及之後在遞送共用 至使用者的計算中使用ATOD時間而非TOD時間。在ATOD 時鐘中,之後時間停止而管理負擔被執行。因此,由該 ATOD時鐘量測之100%時間相當於可使用之處理。遞送共 用之計算,為依據ATOD時鐘,假使100 %處理為可使用於 使用者之共用,所以可以計算。 在作業系統3 8中,優先順序數較低代表較高之實際優先 順序。優先順序數始終為使用者改變以及調度順序為依據 介於備妥使用者之間的相對優先順序。當一使用者 /VMDBK被置放在限制串列37中時,優先順序數由排程器 依據個別絕對或是相對共用加以計算。當為剛進入調度串 列之使用者計算時,通常優先順序數較現行ATOD時鐘值稍 大(些許毫秒)。(然而,實際上,對起先之些許時間片而 -17- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 線 526452
;’假使非常短異動時較小之優先順序數被用以提供使用 者快速回應。此變換如此短,所以不甚影響使用者之共 用)。因為ATOD總是往前進,所讀舊、未完成之工作經 常具有較錢先順隸以及所以具錢㈣工作為高之優 先順序,傾向於位在接近調度串列上方。如下文之更詳細 說月'•周度器在執行串列上(該串列為調度串列3 7之複製, 排除未備妥或是懸置使用者’因此為具有執行狀態使用者 疋聚集或是串列)由上往下尋找以將使用者定位而執行。如 時:往前進,假如使用者因為較高優先順序備妥工作而沒 有得到調度或是假如使用者得到調度但是為I/Q限制以及花 費許多時間"懸置,,而沒有完成其時間片時,則使用者之優 先順序相對於⑴更新啟動異動之使用者及⑺不是ι/〇限制 之使用者而增加。此二拿祙八私丨& 士 爭仵刀別為真,因為(1)使用者之優 先順序數㈣固定直到其時間片完成為止,然而啟動新異 動之其他使用者於AT0D增加時逐漸指定較高之優先順序數 以及(2)更多CPU限制使用者使用許多時間片以及在各使用 者(後往下移動。因此,1/〇限制使用者傾向於具有較非 I/O限制使用者為高的相對優先順序以及通常,定位於接近 :度和執行串列之上方以及當備妥執行,亦即在各ι/〇操作 完成之後,被快速提供CPU。 對各使用者而s ’具有絕對或是相對共用24、26(在系统 請中制訂以及有時由系統操作員改變卜對各使用者而 ,,亦具有制訂之”軟性限制„、"硬性限制"或是"沒有限制 。如未使用之處理時間變成可使用,假使沒有未使用之處 •18- ;=,所有使用者開始接收和其計算之絕對共用與相 I、用成比率的過量處理時間。然而,當任何硬性限制使 用者達到其硬性限制時,此沒有更進一步之分配。沒有硬 性限制使用者可以始終分配超越硬性限制的處理時間之丑 用。當任何軟性限制使用者達到其軟性限制時,假使任ς 其他款性限制使用者已經達到其軟性限制或是任何其他硬 性限制使用者已經達到其硬性限制或是假使具有能約使用 過量處理時間之任何未限制使用者時,此軟性限制使用者 沒有更進—步之分配。尚未達到其限制之其他軟性限制和 硬性限制使用者繼續接收额外共用,直到他财達到其個 別限制為止。當时其㈣性限制使用者已經達到其軟性 限制以及所有硬性限制使用者已經達到其硬性限制以及沒 有非限制使用者能夠使用過量處理時間時,則具有最大絕 對共用或是相對共用(假使沒有未使用之處理時間時計算 又款性限制使用者接收所有剩餘之未使用處理時間。另 外,當所有款性限制使用纟已經達到其軟性限制以及所有 硬性限制使用纟已經達到其硬,f生限制以及沒有非限制使用 者能夠使用過量處理時間時,則所有軟性限制使用者與假 使沒有未使用之處理時間時計算之絕對共用或是相對共用 成比率共用剩餘之未使用處理時間。 如下文之更詳細解釋,共用分配技術藉由在使用者完成 各時間片之後在調度串列中往下重新定位或是偏移各使用 者而加以製作。該偏移量為依據絕對或是相對共用之大 小。當在完成各時間片之後藉由從剛完成該時間片之前 526452 A7 _______B7 五、發明説明(17 ) 用者位置啟動偏移而在調度串列中重新定位使用者時,各 使用者ucm制之相對量納人考慮。因此,假使使用者為非 常I/O限制時,在完成其時間片之前將被定位在非常接近調 度串列上方,所以縱使在完成時間片之後將被重新定位在 調度串列高處以及經歷往下偏移。(當—使用者首先進入調 度串列時,該偏移由接近ATOD處開始)。 調度器40如圖3(a-c)所解釋加以製作。在步驟1〇〇中,一 CPU ^成使用者之一件工作之執行且通知調度器。回應 時,第一位準調度器決定是否使用者已經完成其現行丨毫秒 時間片(決足1〇2)。假使未芫成,則第一位準調度器決定是 否較高優先順序使用者正等待處理器(決定1〇4)。假使不 是,則第一位準調度器決定是否剛完成一件工作之使用者 具有另一件工作執行,亦即在其工作佇列中的另一件工作 (決定106)。假使有,則第一位準調度器呼叫第二位準調度 器以由此使用者佇列調度次一件工作在剛完成此相同使用 者另一件工作的相同CPU上執行(步騾110)。回應時,第二 位準調度器選擇此使用者工作佇列上的第一件工作以及傳 送控制至作業系統中的合適常式以處理此特別件工作(步騾 112)。 再次參考決定102、104和106,假使決定1〇2為是、決定 1 〇4為是或是決定1〇6為否,則第一位準調度器前進至決定 120以決定是否為更新排程器at〇d時鐘(和ATOD2時鐘)的 時間如下文說明。此決定為依據自時鐘上次更新後是否 已經期滿至少一毫秒。假使是,則調度器呼叫堆疊器以通 —-20- 本紙張尺度適用中g g家標準(CNS) μ規格(21GX297公爱) 526452 五、發明説明(18 ) 知排程器更新ATOD和AT0D2時鐘(步騾122)。接著,第一 位準調度器藉由首先記錄使用者時間片有多少剩餘 用 而”未調度”使用者(步㈣0),假使時間片有剩餘。假使決 =1〇2導致步驟130,則此時間片沒有剩餘。然而,假使決 足104或是決足1〇6在步騾13〇之前,則剩餘些許之時間片。 接著,第一位準調度器決定是否時間片已經完成(以及一些 其他排程器情況如是否使用者必須循環回至合適串列之任 何情況被檢查)(決·定132)。假使是已經完成,第一位準調 度器呼叫堆疊器以通知排程器處理時間片之結束或是其他 排程情況(步騾134)。接著,第一位準調度器由剛完成異動 執行之CPU的執行串列選擇最高優先順序使用者(步騾 136)。假使具有此種使用者(決定14〇),則第一位準調度器 標示此使用者為調度、將時間片(或是由此剩餘之時間 入至CPU計時器以將此使用者之時間片加以計時且之後去 到第二位準調度器(步騾142)。回應時,第二位準調度器由 使用者之工作佇列選擇此使用者之第一件工作以及傳送控 制至作業系統部分46中的合適常式以處理此特別件工作 驟 144 ) 〇 再次參考決定140,假使沒有發現剛完成異動執行之cpu 的任何使用者時,第一位準調度器由另一cpu之執行串列 選擇最高優先順序使用者(步驟15〇)。假使發現該使用者 (決足152)時,第一位準調度器前進至步驟142以由另一 cpu之執行串列調度此使用者。然而,假使在另一之 執行串列沒有發現任何使用者時,則第一位準調度器前進 ___ -21 - 本紙張尺度相·> _標準_ Α4Λ(⑽χ297公爱) A7
至等待狀態(步騾154 )。 圖4田解釋一部分排程器44。在由第二位準調度器接 由堆璺器)將排程之新使用者識別之後,排程器如下決定” ^度串?j,、用(步驟2GQ )。在步驟2G2中,排程器以上述先 前技藝VM/ESA作業系統之方式換轉使用者絕對或是相對 共用為系統處理時間小數部分,亦即所有絕對共用由上方 移出γ以及假使總體時間大於99%時依比率減少且剩餘部 刀在㈣串列上之其他使用者之間依據其相對共用比率加 以劃分。各使用者之結果為處理器時間小數部分(介於〇和1 門)、以及所有使用者值加至i。接著,該排程器決定此使 用者〈"所需小數”(R,)以補償使用者花費在等待一,•合適” 串列之時間(步驟204)。當一使用者準備執行時被置放口在合 通串列中/但是不具有足夠之記憶體可使用於執行使用者 d。簡需小數藉由將步驟2〇2中決定之所需小數乘以 (在碉度串列之時間+在合適率列之時間)/(在調度串列之時 )、決足各使用者之所需小數在各使用者停留在合適串 列《後重新計算且結果用於在調度串列之次—週期。然 而’所有使用者經常具有足夠之記憶體,所以至合適串列., ^程”很稀少且㈣,步驟2。4為步驟202結果乘幻之簡單 乘法。接著,排程ϋ將此使用者所f小數R,加以正規化, 所以在财串列之所有使用者所f小數加至丨(步驟卜 使:者〈正規化所需小數R為"調度串列共用,,(或是執行串 用)以及將在下文更詳細說明。由此使用者之調度串列 -用,排程器決定沿調度串列和執行串列之”偏移”。粗略 -22- 526452 A7 B7 五、發明説明(2〇 地’使用者之偏移為調度串列共用倒數乘以時間片長度以 及除以系統中真實CPU數。偏移越小使用者具有更多存取 至CPU,反之亦然。使用者偏移之精確值在下文中更詳細 說明。 ' 圖5解釋在時間瞬間點之調度串列3〇〇。該調度串列包含 準備執行之使用者以及懸置之使用者。如上文所表示,在 調度串列300上準備執行之使用者亦列表在執行串列上以減 少尋找時間,但是調度串列300之解釋為較佳於解釋目的。 該碉度串列由上方往下尋找;具有最高優先順序之使用者 (以及最低優先順序數)依順序列表在上方。當各使用者完 成其時間片,假使具有更多工作將執行時,該排程器由現 行位置往下等於此使用者偏移25重新定位在調度串列3⑼ 上之使用者(以及間接在執行串列上)。因此,二因素使在 調度串列300上之使用者分佈起效應。第一因素為偏移25 之大小。如上述所表示,各使用者偏移之大小相對於和調 度串列上其他使用者共用成反相以及和具有不同共用之其 他使用者不同。因此,共用越小,偏移越大。此情形大多 數時間傾向於將低共用使用者定位在調度串列3〇〇底部。第 二因素為使用者完成其時間片所需之真實時間量。”1/〇限 制使用者需要實質之1/〇時間以完成一時間片,因為該使 =者和其時間片在使用者啟動I/O操作之後為懸置可觀時間 等待I/O操作完成。所以,1/0限制使用者需要長於i亳秒 時間片為相當長的真實時間以完成其執行時間片以及一旦 1 /〇限制使用者提升到執行串列3 0 0上方時,將在完成其時 -23-
526452
間片心則保留在孩處一段可顴眭 仅』硯時間以及往下偏移。相反 地,” CPU限制”使用者兩 忧用#而要)數I/O時間以及接近連續1毫 秒或是稍長時間完成其眭間& ^ 凡战具時間片。所以,CPU限制使用者為 經吊往下偏移以及-般常駐在接近調度串列底部。 因此,在任何時刻,1/0限制使用者和其他具有非常大共 用之使用者傾向於位於接近調度串列上方而cpu限制使用 者和其他具有非常小共用之使用者傾㈣位於接近調度串 列底部。在二因素之中,共用和1/0相對於⑽限制,1/0 I相對於cpim制在調度串列定位上具有較大效應(對共用 之正常範圍而言)。以上述方式在執行串列上使用者之定位 等於高通量,因為當1/0限制使用者變成備妥執行時,亦即 最後I/O操作冗成時,該使用者將位於接近執行串列3〇〇上 方且將快速獲得二CPU。 在圖5中’這些偏移顯示為在左方往下掃格箭頭。一些偏 移為較長或是較短,因為不同使用者具有不同共用。在一 典型情況中,在現行ATOD(暫態)標示之下的所有使用者為 CPU-限制,而在現行ATOD(暫態)標示之上的所有使用者 為I/O-限制。由於上述效應,使用者被以此效應加以排 序。亦且,調度器一般將不需要在現行ATOD標示太下方尋 找以發現備妥使用者,因為接近該處之CPU-限制使用者幾 乎能夠總是被調度。因此在圖5左侧之該”偏移”箭頭在 ATOD標示或是標示之下一般傾向於由ATOD標示或是標示 之下的使用者起源。然而,在調度串列上部,在ATOD標示 之上,箭頭傾向於由任意處起源。請注意當一 I / 〇限制使用 -24- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公爱) 五、發明説明(22 ) 者完成其時間片時,因為其典型高優先順序和在先期時間 片之時間的高位置,經常不移動至串列底部,以及經常仍 然保留在ATOD標示之上。因此,I/O限制使用者在I/O等 待完成之後將再次立即被調度,以及維持高通量。 前述排程器”非常困難放入'’在吸收其共用上具有困難度的 使用者。如這些使用者中之一使用者下降至其指定共用之 後越來越遠處時,在調度串列中上升越來越高直到最終, 假使此使用者具有任何希望取得其完全共用為止將如此執 行。因此前述排程器不僅僅給予各使用者所需存取一 CPU,亦且CPU各使用者多數所需共用。所需共用為不用計 算各使用者消耗歷史而提供。這是因為π歷史’’常駐在使用 者調度串列位置中。在調度串列位置中使用者相對於ATOD 標示之位置代表使用者過去已經接收之相對於使用者該得 的處理器時間共用。假如使用者現在已經得到所該得時, 則使用者將被定位在ATOD標示。假如使用者在ATOD標示 之上,則使用者已經接收少於使用者所該得。假如使用者 在ATOD標示之下,則使用者已經接收多於使用者所該得。 在步驟204中決定之所需小數R’如下文在步驟206中加以 正規化。具有3個正規化案例和各案例之2變化。在3個所有 案例中,計算為依據在調度串列(SRMRTHRU)上所有使用 者或是在ATOD標示之下的那些使用者(SRMCTHRU)之所 需小數和。在第二和第三案例中,為如上文所說明加以強 制限制,VMDBK為依據被發現是否達到其(硬性或是軟性) 限制而不同地考慮。在調度串列中所有使用者R'之和表 -25- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 五、發明説明(23 ) 示為: SRMRTHRU = SRMRTHRN + SRMRTHRL + R, 其中SRMRTHRN為在調度串列中所有使用者所需小數之 和,該使用者為不限制或是尚未達到其限制,而 SRMRTHRX為在調度串歹(J中已經達到其限制的所有使用者 所需小數之和,其中顯示正在加之R’代表目前正考慮之一 使用者的R’,計算時尚未被加入至SRMRTHN或是 SRMRTHL。類似地是,只有在ATOD標示下之使用者的和 為: SRMCTHRU = SRMCTHRN + SRMCTHRL + Rf 其中SRMCTHRN為在ATOD標示下之使用者的所需小數 之和,該使用者為不限制或是尚未達到其限制,而 SRMCTHRL為在ATOD標示下之使用者的所需通量和。(這 些變數之各變數的文字” C ”為在ATOD標示下之使用者可以 視為CPU限制之提醒)。在下文之計算中(所有3個案例), 只有顯示SRMRTHRN和SRMRTHRL變數,然而,假使正檢 視之使用者為在ATOD標示下之的使用者,注意變數 SRMRTHRN和SRMRTHRL意圖替代是重要的一件事。此考 慮先前提到之3個案例中各案例的2個變化。 第一案例: -26- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 526452
五 、發明説明(24 ) 假使((SRMRTHRL + SRMRTHRN + R,)> 1) AND SRMRTHRL〉0.5 ),貝U某些使用者之共用必須形成為較小 以及因為使用者達到其限制,所以形成大部分(>0,5),此 時它們全部包含在簡化中。之後,現行使用者正規化如 下: 正規 4匕 R’ = Rf/(SRMRTHRL + SRMRTHRN + R,) 因此,現行使用者之共用變成較小。第二案例: 假使((SRMRTHRL + SRMRTHRN + R,)>1)但 SRMRTHRL < 0.5 ),則某些使用者之共用必須形成為較小。但是使用者 達到其限制不會太大量(它們的R’和<0.5 ),所以它們不被 正規化。之後只有假使現行使用者不達到其限制時,現行 使用者之共用調整如下。 正規化R’ = R’*( 1-SRMRTHRL) /( SRMRTHRN + R,) 因此,不達到其共用之現行使用者共用變成較小。然 而,已經達到其共用之現行使用者使用下式: 正規化R' = R,(限制) 其中R’(限制)為特定硬性限制或是軟性限制之正規化小 -27- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 526452 A7 B7 91. 8e 4 五、發明説明(25 數,亦即為合適串列時間效應調整之硬性限制或是軟性限 制。因為正規化小數限於已經達到其限制之使用者,所以 只要具有至少一使用者尚未達到其限制或是具有至+ 一夫 限制使用者時,此情形限制該使用者 〆 石< 用在其個別限制 上。 第三案例: 假使((SRMRTHRL + SRMRTHRN + R,)< i 〇),則某些使 用者之共用必須形成為較大。因為已經達到其限制之&用 者的共用不應該形成為較大,所以只為尚未達到並限制之 裝 使用者調整。假使現行使用者尚未達到其限制,其共用調 整如下: 正規化R ’ =(與上文之案例(2 )相同)。 訂 但是此時正常使用者的共用變成較大(不類似上文之案例 (2))。然而,假使現行使用者達到其限制時,其业用 如下: 八/、,登 線 正規化R,= R,(限制) 因為正規化小數限於已經達到其限制之使用者,所以只 要具有至少一使用者尚未達到其限制或是具有至少一未限 制使用者時,此情形限制該使用者之共用在其個別限制 上。 -28-
526452 A7 B7 五、發明説明(26 ) 第一和第二案例不同之原因為假使可能時,較佳為不減低 受限制使用者之共用,因為該使用者之共用從未增加(參考 第三案例)。相反地,未限制之使用者共用的漏失將在另外 時間得到較大共用而統計地組成。 在區別第一和第二案例時,測試SRMRTHRL > 0.5。現行 使用者之R1在二案例中不考慮,因為該使用者之共用形成 為較小,非較大。所以未必達到其限制,所以,當測使試 以檢視該使用者和是否> 0.5時,該使用者不被視為達到其 限制。 裝 在第一案例中,各R’為除以所有之和。因此形成值(正 規化R,)之和將為1。該陳式(SRMRTHRL + SRMRTHRN + R/)代表所有Rf之和。 ‘線 回想SRMRTHRL和SRMRTHRN為SRMRTHRU之組成部分 (或是陣列元素)而SRMRTHRU為R’之和。除了在上述案例 執行計算的點以外,現行使用者之R’恰巧為由SRMRTHRU 減去以及尚不能決定何元素將新的R'加回去。所以陳式 (SRMRTHRL + SRMRTHRN + R,)明確地顯示R,正加上。 在第二案例中,R’只為尚未達到其個別限制的使用者調 整,然而已經達到其個別限制的使用者之R’保持常數。因 此尚未達到其限制之使用者之Rf藉由除以尚未達到其限制 (SRMRTHRN + R1)的所有使用者之R,的和以及之後將結果 乘以(1 - SRMRTHRL)而加以正規化。後者之因素為所需, 因為尚未達到其限制的使用者之正規化共用不該加為1,因 為亦具有已經達到其限制的使用者。因為正規化R’藉由只 -29- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 526452 ;A7 :.. I.B7 ...…:;; 五、發明説明(27 ) 除以(SRMRTHRN + R’)以及省略乘數而獲得,將使值的和 為1,遵守在已經乘以(1 - SRMRTHRL)之後將加入至(1 -SRMRTHRL)之規貝U。包含在SRMRTHRL的R’值事實上已 經設定為等於該限制,R’(限制)。 對下列原因而言,過量之處理器時間為與其絕對或是相 對共用成比率地為可使用於尚未達到其軟性或是硬性限制 之所有使用者。圖式方式,此情形與在調度串列中和ATOD 標示以相同速率前進(理想方式)之使用者發生。通常,先 前之機構試圖因此藉由設定(或是調整)偏移而與絕對和相 對共用成比率地共用處理器時間。 對在ATOD標示下之使用者而言,此比率由步驟206中R’ 之前述正規化的二特徵形成。如上文步驟206中說明所表 示,在ATOD標示下之各使用者的所需小數R’之正規化為依 據排除在A TOD標示上之使用者的在ATOD標示下之該組使 用者之和SRMCTHRU。所以,此情形將傾向於給予在 ATOD標示下之使用者較高優先順序,由較小偏移形成,因 為”正規化R’等式”之分母為較小,亦即,當總體限制為只 有那些在ATOD標示下之使用者時,各使用者的共用出現為 總體之較大百分比。同時,雖然在TOD標示上之I/O限制使 用者緩慢使用其時間片,但確實使用一些處理器時間。所 以,因為小於100 %之CPU服務將遞送至在ATOD標示下之 使用者,以及其偏移現在為依據得到100 %,所以在ATOD 標示下之使用者將傾向於缓慢地往上移動以及事實上開始 落在ATOD標示之後。然而,落在ATOD標示之後因下列原 -30- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 裝 訂 -線 526452 _LB7: —ά_ 五、發明説明(28 ) 因而將傾向於在調度串列中再次往下移動該使用者。使用 者一經移動至ATOD標示上時,就不在ATOD標示下之該組 使用者中;所以,SRMRTHRU,非SRMCTHRU,將使用在 為”正規化R’ ”等式之分母中。此移動至ATOD標示上將傾 向於在調度串列中再次往下移動該使用者,因為”正規化R· ’’等式之分母之後將為較大(造成較小之正規化R’,但是較 大之偏移)。移動至ATOD標示上和ATOD標示下之此二傾 向的淨效應為”過剩”服務將與安裝定義之絕對和相對共用 成比率地分發(至能夠使用之使用者)。這些使用者以和 ATOD標示相同的速率往前推進,而非較快。 位於ATOD標示上方高處之使用者為提供其能夠使用之多 的處理器時間,但是它們通常不能使用過量之共用;甚至 不能使用其原始共用之完全量。然而,假使其條件改變而 以致於變成CPU限制時,它們因為上文表示之原因而將迅 速降至ATOD標示下,以及之後藉由依據其安裝定義之共用 成比率地給予它們過量處理器時間的先前原理加以管理。 步驟206之共用正規化的前述說明解釋一硬性限制或是款 性限制使用者將如何限制於其個別限制,假設具有(在 ATOD標示下)至少一其他使用者尚未達其限制或是具有 至少一未限制使用者。下文說明一硬性限制使用者防止接 收大於其硬性限制之一共用,以及說明在所有使用者已經 到達其個別限制之後剩餘的所有過量處理器時間以最大之 共用分配給軟性限制使用者。 如上文所表示,當一使用者完成一小時間片時,其在調 -31 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 …線 五、發明説明(29 ) 度串列中往下移動在步驟160計算之一偏移。但是在 前’做成-決定為此是否將移動通過最大降落量 動1 使用者之最大降落量限制等於使用者偏移之4倍,亦g it 越在ATOD標示4偏移之前。假使未限制或是軟性、2 用者由於其個別偏移而將移動通過該最大降落量 2 其往下移動至其最大降落量限制且不超越。該最落旦 限制使未限制和軟性限制之使用者能夠得到多餘U = 共用,因為將造成在調度串列中定位在高於其另^配: ^處。事實上,當所有使用者已經達到其限制以及不: 有未限制1使用者時,具有最大共用之軟性限制使用者^ 質上將得到所有剩餘之過量處理器時間,因為 ς 具有最小偏移,所以將具有最小最大降落量限制。此= 將把孩使用者定位在調度串列中其他軟性限制使用者之^ 以及給予該使用者能_用的时過量處理器時間。 ,,,、而虽隹然田降洛在最大降落量以)限制之下 士更f生限制使用者將不為最大降落量(MAXFALL)限制, 生::使用者將由執行串列移動至限制串列。該限制 串列«使用者優先順序(VMDLpRTY)加 =性限制之使用者„在最大㈣量(maxfall)限制^ ^吊將不再完成任何任何小時間片或是不再更進一步 串列中往下移動。此情形將防止硬性限制使用者獲 之任何過量處理器時間,因為該調度器不調 串列中的使用者(而一使用者在一限制串列 被允許進入一執行串列)。 526452 91. 6, 4
A7 B7 526452 五、發明説明(31 ) (此藉由設定與該移動使用者相關之一位元而完成)。下次 此懷疑使用者完成一時間片時,該懷疑使用者往下移動一 正規偏移以及假如該使用者在此移動期間通過一 π非懷疑" 使用者時,則該移動之使用者再次被指定為’’非懷疑”;否 則,該移動之使用者更進一步往下移動恰好在該移動之使 用者遇到的第一”非懷疑’’使用者之上為止。另外,在ATOD 標示下之所有使用者為”非懷疑”。 裝 '線 一 ’’懷疑”使用者為已經被既定TOD-TIED(TT )屬性之使用 者。TOD-TIED機構之目的為不重新配置優先順序,而是如 正常般保持使用者之相對順序,以及減低因上升太高所造 成之任何間隙。TOD-TIED(TT)屬性將屬於在ATOD或是 ATOD下之所有使用者。無論何時VMDBK重新定位將其跨 過具TT之VMDBK時,其亦由一 VMDBK往上(由ATOD)傳 播至另一 VMDBK。假使在ATOD上之VMDBK不跨過具TT 之VMDBK時,則失去該屬性。在其次一小時間片之後,假 使VMDBK不能夠得回T T,則其被往下強制到恰好在具T T 屬性之下一 VMDBK之上(或是ATOD,假使不具有介入的使 用者)。 一過量I/O限制使用者難得按照預計時間結束其小時間 片,因為正等待I/O完成。該使用者出現為落在排程之後, 因為其請求1/0操作而非因為系統太忙以致於無法允許足夠 之CPU資源給使用者。排程器44將自然地傾向於以較高優 先順序將使用者排程,因為該使用者像是落在排程之後。 TOD-TIED 28界限為保持防止過量I/O限制使用者使調度優 -34- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 526452 A7 B7 五、發明説明(32 ) 先順序35太高。假如使用者有時保持過量之I/O限制,則其 優先順序將成為越來越高。當此情形為,使用者的優先順 序為很高以及此使用者可能獨佔系統CPU資源,假如使用 者下次調度時將為CPU限制。為避免此方案,當一使用者 之調度優先順序3 5落在ATOD 23之後時取得TOD-TIED屬 性,高優先順序。從那時起,具有此TOD-TIED屬性之使用 者將以其在優先順序為相當接近ATOD之調度串列上叢集在 一起的方式被既定,所以假使它們變成CPU限制時將不能 夠接管系統。此TOD-TIED,或是”懷疑,,機構為用以保持使 用者調度之優先順序為在高優先順序側上之ATOD的合理位 移内’而最大降落量為用以保持使用者侷限在ATOD低優先 順序側的機構。 ATOD時鐘和可使用之可利用CPU時間成比率地往前推 進。系統時間(管理負擔)對使用者工作或是共用為不可利 用’所以不計算前進的ATOD。各執行CPU規則地增加 ATOD ;等待CAUS不增加。此在步驟120和122由排程器驅 動。ATOD自上次增加後依據已經由多數真實CAUS.遞送之 多少使用者時間而往前推進。也就是說,各CPU和該CPU的 實際使用者執行時間累加器(PFXUTIME)成比率地增加 AT0D °此意圖(當所有CAUS·有結果地運行)為ATOD近似 即時(艢壁時鐘時間或是T〇D )往前推進。當所有N CAUS . 正運行時,各CPU通常為接近即時將其本身之PFXUTIME往 前推進°所以N CAUS.之貢獻為除以N。 -35- 9'L t 4 526452 A7 ____B7 _ 五、發明説明(33 )
AT〇D = ATOD + (PFXUTIME 增量)/N 其中"PFXUTIME增量”為自上次檢查後此CPU之 PFXUTIME累加器的變化。 ATOD2包含各CPU之使用者時間(PFXUTIME)以及各CPU 之等待時間(PFXTOTWT):
ATOD2 = ATOD2 + (PFXUTIME 增量+ PFXTOTWT 增量)/N 其中PFXUTIME和PFXTOTWT二者為類似cpu計時器之雙 字元時鐘。 然而,當任何CPU正等待多數逐次間隔時,則另一執行 CPU將代表形成等待時間之貢獻至ATOD2之作用(以及在一 些環境下亦貢獻至ATOD)。假設此種等待(:1>11正花費其所 有時間在等待狀態中以及,對等待狀態而言,其貢獻至 AT0D2必須與真實時間相同(如由τ〇Ε)時鐘量測)。然而, 另一 cpu沒有做成任何假設或是貢獻於該等待cpu之執行 時間。當該等待CPU再次開始執行時,將使其本身以正常 方式贡獻至AT0D以及依據即時之最終可能的小數間隔貢獻 至ATOD2(另-CPU已經管理先前間隔 如上文表示,當具有至少一CAUS.等待多數逐次時間片 間隔時,一些等待時間往AT0D計算,以及同時現行cpu沒 有任何工作在其執行串列中,假使現行cpu具有工作在其 執行串列中,則似乎該等待CMJS.不為"可利用"以執行該 -36- ^紙張尺度適用中國國A4規格(210X 297公釐) ----- 526452 ,i
;Af;J Β7 五、發明説明(34 ) 工作,否則它們將極有可能已經在執行該工作。相反地, 假使現行CPU沒有任何工作在其執行串列中時’假使其等 待時間為可利用之時間時將為非常安全地計算一等待 CPU。所以,當在延伸等待模式時具有至少一 CAUS.以及 同時現行CPU沒有任何工作在其執行串列中時,現行CPU 利用下列方程式取代先前之一方程式。 ATOD = ATOD +(增量/N) + (增量/N)*TRKCT/(N-TRKCT) 其中ATOD = ATOD + (增量/N)代表π增量”為n PFXUTIME增 量”簡寫之原始方程式,以及’’(增量/N)*TRKCT/(N-TRKCT),丨為增加以考量等待時間之項次,再次,,增量,丨為 ” PFXUTIME 增量"(而非’· PFXTOTWT 增量”)簡寫。TRKCT 為SRMTRKCT,CAUS·之計數目前仍然為延伸之等待模 式。 假使該等待CAUS.為許可(最後)貢獻於其本身之等待時間 時’該貢獻將大塊地到達。但是,使用上述方程式時,作 用之CPU代表大小不大於其本身(基於CPU)貢獻之等待 'CAUS·貢獻。因此在第二項次中貢獻之基本大小由增量/N 代表以及乘以SRMTRKCT以貢獻多數延伸-等待模式之 CAUS·但是之後該結果除以(N-SRMTRKCT),因為具有這 麼多類似現行之一 CAUS·(亦即不為延伸-等待模式)的其他 CAUS·,類似作用之CAUS ·,將類似作用之CPU做成貢 獻0 -37- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526452 、 ·\ΆΤ·λ· ! ...................... Β7 ; 五、發明説明(35 ) 該SRMTODSV時間戳記為現行TOD之良好近似,雖然只 為間歇地更新-在每一小時間片結束(以及其他排程點)以及 無論何時VMDBK形成為備妥時,亦即接著多數I/O操作。 雖然SRMTODSV為夠精確於決定是否為更新ATOD之時 間,一旦做成決計時,使用更精確之TOD值。 如上文所表示,一 CPU之等待時間不是總是包含在ATOD 中,因為其他ATOD可能較使用者前進更快以及之後上文說 明之”懷疑/非懷疑”機構(作用為限制使用者可以在調度串 列中多高)將使所有使用者一致地往前推進,無論其共用有 多少。然而,假使系統之多數CAUS.中只有一 CAUS.(或是 一些)執行以及其他CAUS經常為等待時,由ATOD完全排除 等待時間造成問題。在該案例中,ATOD將延遲在後以及不 和真實時間成比率地往前推進。在未限制和軟性限制之使 用者或是小共用、硬性限制之使用者的案例中此情形不是 問題,但是可能造成大共用、硬性限制之使用者的顯著差 異。這是因為具有小共用之使用者完成介於ATOD和TOD之 間的適度差異為不明顯之一時間片之後,在調度串列中往 下踏一大步。但是對具有大共用(相當於小偏移)之硬性限 制使用者而言,ATOD的精確動作是重要的。ATOD必須在 具有大共用之使用者後面以相當迅速步伐追隨,以致於該 使用者不會太快超過,達到該最大降落量限制以及過早被 置放在限制串列中。假使此情形被允許發生,系統將顯示 下列不想要之特徵,該特徵為忙碌系統上硬性限制之使用 者將得到其共用,但是在不忙綠系統上(尤其是當其單獨在 -38- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 線 五、發明説明(36 ) 系統上時)將得到小於其共用之共用。此情形藉由當實質上 具有等待時間以及等待時間可以被證明為存在之工作”可利 用”時將等待時間包含在ATOD而加以防止。如上文所表 示,當具有CAUS.等待以及現行CPU不具有任何工作在其 執行串列中時,則某部分等待時間被包含在ATOD中。現行 CPU代表等待CAUS.貢獻等待時間。 在尚審理中之Davison申請案案號為第S/N 08/252,864號之 申請案中,觀察到等待時間之過度貢獻可能為有害的,因 為可能使”懷疑/非懷疑”機構將所有使用者無論其共用而一 致地往前推進。藉由使貢獻等於現行CPU正利用之至少一 CPU時間量(PFXUTIME增量),Davison教導當計數時製成 全部貢獻,亦即當具有CPU-限制工作以及幾乎使用者將被 置放在限制串列中,以及當CPU不是如此忙碌時做成較少 貢獻。由Davison增加之此”較少貢獻’’等待時間為如本發明 以及將在下文說明,實質上在更頻繁發生的環境之下由所 有等待時間擴大,所以達成一較佳結果。 因為在執行串列和限制串列中的使用者由不同時鐘 (ATOD和ATOD2)以不同速率加以計時,當使用者移進限 制串列2 7或是由限制串列2 7移出時,執行轉換。當使用者 在限制串列中時,該使用者具有二優先順序-一調度串列優 先順序(VMDDPRTY)35和一限制串列優先順序 (VMDLPRTY)29。該限制串列優先順序由使用者調度串列 優先順序演譯出。意圖為如使用者開始其在限制串列2 7中 的’’延遲’’時,該使用者必須具有由ATOD2 21與由ATOD 23 -39- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 526452 繁ΛΛ , --:Α7 五、發明説明(37 ) 位移相同的位移。該位移代表在使用者因為再次執行之前 必須通過的延遲量,但是該延遲需要依據AT0D2時鐘量測 (以允許”等待時間”完全計算)。所以該轉換為: VMDLPRTY = AT0D2 + (VMDDPRTY - ATOD) 當該使用者進入限制串列時,完成此VMDLPRTY之計 算。當該使用者離開限制串列時,該使用者在使用者期限 之前必須進入執行串列一小時間片。所以(由定義)當一使 用者由限制事列移動至執行事列時,在通知使用者以及使 使用者移動之前,該使用者之VMDDPRTY以下文表示之補 償被設定為(ATOD + TS)以稍稍延遲超過該限制串列期限: VMDDPRTY= (ATOD + TS) -((AT0D2 + TS) - VMDLPRTY) =VMDLPRTY + ATOD ~ AT0D2 參考圖6,和圖1相連接,圖形表示陳述為程式元件,此 後參考為步騾,用於製作本發明方法之較佳具體實施例, 以使用者不會太早等待或是太晚由等待移除之方式在相對 共用和絕對共用使用者之間將中央處理器使用加以排程。 介於這些步騾之間的關係不需要如圖6所示為連續,將在下 文連接表1之本發明較佳具體實施例的虛擬碼表示而加以說 明。 中央處理器之使用者共用或是其他系統資源2 0消耗可以 -40- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 91. 526452 五、發明説明(38 限制為一絕對值,為一精確的最大量2 6,如2 0 %之CPU資 源20。在此使用中,絕對值不參考通常和此有關的數學定 義’而是由來自IBM VM排程器相對和絕對共用之觀念。例 如’假如5個使用者各以相對共用ι〇〇定義且所有5個使用 者為作用,排程器4 4試圖給予各使用者丨/ 5之系統cpu資源 20。假如只有其中4個使用者為作用,排程器以試圖給予 作用之各使用者1/4之系統cpu資源2〇。它們各依據其優先 順序和同時作用之所有相對共用使用者之總體優先順序得 到系統之相對共用。系統之絕對共用亦可以給予一使用 者。例如,一使用者可以給予系統之絕對共用2〇%。此意 義為無論多少相對共用使用者為作用,此使用者得到2〇% <系統資源。該相對共用使用者為給予剩餘之成比率共 用,在此案例中為80〇/〇之CPU資源。 ^ 在步驟5 0巾’使用者以在由⑷使用者最小共用指定μ, (b)當使用者消耗中央處理器(cpu)資源2〇時往前推進之第 人工日時鐘(ATOD)2 3,(c)鬲調度優先順序限制(t〇d_ TIED)28以及(d)低調度優先順序限制(最大降落量定義 之界限内決定的值35定處理器使用之優先順序。 至於在系統資源之共用之使用者限制為在系統目錄中以 特足絕對或是相對值定義。例如,心目錄為用以定義 用者至系統。各使用者具有—人口可以包含纽繼(共 敛述24、26以制訂何種共用,系統資源相對或是絕對 為此使用者能夠具有。當系統正運行時,此共用亦可以、 用SET SHARE(設足共用)命令加以動態地修正。 -41 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公爱) 526452
、使:者為藉由’在界限内定優先順序,而給予系統資源,此 万式意義為使用者為依據其優先順序35而給與系統資源如 CPU資源2^但是只要—新計算之優先順序不造成使用者 之系,/、子洛在其足義之最小共用28以下或是超越其其定 義之最大共用26。例如|VM排程器44之案例中,一使用 者可以定義為具有最小之相對或是絕對共用24以及一最大 之相對或疋、{對共用2 6。當計算—使用者之調度優先順序 值3 5時,廷些疋義形成考慮之界限。例如,假如一使用者 被扣疋相對共用2 4為200以及,限制固定,絕對最大共用2 6 20%以及只有此使用者另一相對2〇〇使用者為作用,該,限 制固,,使用者將在2〇%最大界限26内制定優先順序,縱使 假如最大界限尚未制訂時,該使用者可以接收5〇%之系统 CPU資源20, 、’使用者最Φ共用W妓義之使用者,麟該使用者制訂 =相對共用為所有作用之使用者整體相對共用之比率而取 得系統資源共用。該使用者最小共用制訂在該作用之使用 者的VM目錄中,以及與其餘共用相同地計算(在上文說 明但是由該目錄使用制訂之最小共用。該使用者最大^ 用亦為相同計算’除了依據在㈣目錄中的使用者之制訂最 大共用2 6以外。 •人工曰時’(ATOD)23為系統範圍之日時鐘格式化搁位。 一特別< CPU資源不能同時為工作(亦即消耗)和等待,以 及該值ATOD 23在使用者(任何使用者)工作為在系統上完 成時的時間内增加,如與系統管理負擔區別。系統之調度 -42-
526452
年;]
五、發明説明(40 ) 優先順序計算為依據以及和ATOD值23比較。’ATOD’23和 ’ATOD2’2 1二者為人工日時鐘。其中ATOD或是AT0D2不 是實際時鐘,而是由款體以TOD時鐘格式維持的欄位以及 其中時間值為累加。軟體合適地更新這些欄位。AT0D2累 加系統實際運行使用者工作之時間加上系統等待之時間。 ATOD累加系統實際運行使用者工作之時間以及在特定狀況 之下,亦累加系統等待之時間。所以,ATOD實際為以 AT0D2累加之時間子集合。 裝 線 以發生在作用之等待處理而非單獨在排程器路徑之等待 時間的更新(如Davison之尚在審理中的申請案,S/N 08/252,864號之案例),是本發明較佳具體實施例的基本特 徵。如將在下文討論,以作用之等待處理中的所有等待時 間而非在正常排程器路徑的所有等待時間(如上文討論只加 上小部分等待時間)更新ATOD之理由,為只值得在特定狀 況之下包含完全的等待時間在ATOD中,一作用之等待已經 至少為例如250 ms。因此,ATOD通常累加使用者工作時 間。大多數系統為該情形。然而,具有特定狀況導致一些 等待時間包含在ATOD。迄今,那些狀況已經非常受限制或 是稀少,而且包含在ATOD之等待時間量為可忽略。如本發 明,更多等待時間在更常發生的特定狀況下包含在ATOD之 累加中:也就是說,在低負載情況期間(在作用之等待常式 期間),當具有限制之使用者和中央處理器例如已經為連續 作用之等待250 ms或是更多。 優先順序限制3 5為由’高調度’和’低調度•值定義。為防止 -43- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 526452 si, e, 4 A7 B7 五、發明説明(41 ) 特別使用者調度優先順序3 5距離現行at〇d值2 3、排程 器44線太遠,例如限制介於現行at〇d 23和使用者調度優 先順序3 5之間的差異為稱為高調度優先順序限制(t〇d_ TIED)28和低調度優先順序限制(最大降落量)i8之最大 值。:使用者調度優先順序35將不會被限制在那些限制外 侧以防止該使用者之錯誤回應時間。 在步驟52中資源2〇消耗為使用者藉由⑷建立指定至所選 擇使用者之使用者最大共用指定26,⑻提供限制串列27 及(c )提供田使用者正〉肖耗cpu資源2 q以及當cpu等待時 裝 任則推進(第二人工日時鐘(AT〇D2)2i,而限制為界限 1 8、2 8内的特定絕對值。 訂 串列為使用者之資源消耗已經達到或是超越由系統 目? t之其SHA職述24、26或是SET SHARE命令所允許 :取大絕對共用時之使用者串列27。當在此串列η上時, 使用:不由排程器44調度,所以其資源2〇消耗被加以限 :且::用者可以最大絕對共用或是最大相對共用加以制 可且廷些限制可以為限制固定。具有其 曰 線 共用(絕對或是相對)的限制定去 办i足取大 之二:士 :t以限制。亦具有和限制固定功能不同工作 列上而加制不定使用者不藉由置放在該限制串 列上而加以限制。 W〒 如本發明’為確定限 串列上或异π w,、 不太快置放在該限制 之使用限制串列移除,當-使用者為限制 Ί度優“序重新計算為《最大降落量 -44 - 91 6. 4 526452
AT ___ BJ _ 五、發明説明(42 ) (現行ATOD + N *偏移)之新調度優先順序以及該使用者達到 其限制時被加入至該限制串列。當AT0D2計算為在使用者 限制串列優先順序之一小時間片内時,該使用者由限制串 列移除,其中N為某預先選擇值,例如n = 4。 在步騾5 4中使用者之限制事列2 7優先順序被決定,以及 依據第二人工曰時鐘(AT0D2) 2 1之往前前進決定是否將使 用者由限制串列移除。 在步騾56中當CPU為閒置時提供進入工作32之一作用之 等待連續監视器30。此,作用之等待常式,或是,作用之等待 機構為在多處理系統中使用之方法,藉由此方法不具工作 執行之一處理,進入迴路以及主動尋找變成可利用之工作 而非載入失能(Disable)之等待狀態。此方法解除處理器必 須認知工作已經由堆疊該工作之處理器堆疊至工作正被堆 疊在上面之處理器堆疊的負荷。 在步驟58中優先順序為依據最大使用共用26指定至使用 者’該共用為在目錄中由其限制定義26限制的使用者可利 用〈最大共用CPU資源。當排程器44依據只有該使用者可 利用之共用指定優先順序時具有時間以及當由於其為限制 之使用者時可利用之共用多於所允許之共用時具有時間。 當使用者受限制(藉由呈現在限制串列2 7中)以及該可利用 《共用多於使用者所允許之共用26時,,最大使用共用,26 為用以計算使用者之調度優先順序3 5。 在步驟60中當低調度優先順序(最大降落量)18被使用者 調度優先順序3 5計算之新值超越時,使用者被置放在限制 __ -45- ^紙張尺度適用中國國豕標準(CNS) A#規格撕公愛) — 526452
率列2 7上。調度優先順序3 5在不同時間為使用者計算。為 決定是否使用者必須被置放在限制串列2 7上的檢查在使用 者調度優先順序35重新計算時製成。 在步騾62中在限制串列上的停留期間為參考at〇d 23和 ATOD 21加以決定。當一使用者的調度優先順序3 5被計算 時’為將來一事件將發生的ATOD 23值之預測,該事件為 使用者小時間片之結束。ATOD 23之此預測值使用為使用 者碉度優先順序3 5。假使決定使用者必須置放在限制串列 27上時,AT0D2 21而非aT0D 23使用為將使用者由限制寧 列移除之基準。依據AT0D 23之使用者調度優先順序之後 必須改變為限制串列優先順序3 5 (離開該限制串列2 7之預 測時間),必須不以AT〇D2 21為基準。用以執行此之計算 為:限制串列優先順序=AT0D2 + (調度優先順序-atod)。 在步驟6 4中決定何時限制共用使用者正競爭cpu。 在步驟6 6中決定何時系統資源如中央處理單元(Cpu )已 經連續以及在作用之等待狀態一段定義之即時間隔(不中斷 地執行,也就是說,不用尋找及執行任何使用者工作32)。 當進入作用之等待狀態以及和現行TOD值比較時此決定為 藉由儲存真實系統TOD時鐘而做成。 在步騾68中ATOD 23增加以及AT0D2 21被更新。 如本發明較佳具體實施例,ATOD 23之此增加為在作用 足等待處理3 0期間完成。每次經由作用之等待碼迴路,作 一檢查以決定是否具有使用者在限制哞列2 7上。假使具有 使用者在限制串列上以及假使作用之等待處理已經連續執 -46-
526452
526452 之間的時間間隔被大大地減低。較小時間間隔意義為 度增加。 限制串列27為用以當該使用者接收多於所允許(26)之 CPU資源20時保持檢查中的使用者。當此情形發生時,使 用者被暫時置放在限制串列27上。排程器44檢查該串列以 決足是否為將使用者由限制串列27移去之時間。這些檢查 視為由限制申列,檢查移除,。此,檢查,為事件驅動。在本 發明之前,限制串列在排程處理和調度此使用者工作期間 由作用之處理器檢查(具有使用者工作執行之那些處理 器)。如本發明,作用之等待機構亦造成這些檢查。 裝 訂 線 表1陳述本發明較佳具體實施例方法解釋之虛擬碼。該虛 擬碼為參考圖2括號[]中的步騾加以註解。和表丨相連參考 圖1,調度器40(稱為HCPDSPCH)在行2開始由調度器迴路 加以製作,監視器30在行18開始由作用之等待常式加以製 作,以及排程器4 4在行3 6開始由排程優先順序重新計算碼 加以製作。在行20,具有新的工作執行·例如,進入之工作 3 2不是2白。在行2 5中,2 5 〇毫秒之參考可加以調諧為不 同系統之合適預選時間值。在行1 i和2 7中,自上次等待時 間被加入後之等待時間被加入至ATOD以及藉由在行3 2呼 叫調度器而加入至ATOD2 ^等待時間在等待常式期間藉由 呼叫調度器而加入之理由是本發明的關鍵。先前,等待時 間從未加入至ATOD2直到行11處理發生為止。在依低負載 情況中,直到該處理發生可能為很長一段時間。迄今,此 情形已經導致在限制串列27上的使用者保持在串列上太長 -48- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 526452 A7 —---------- . .______B7 五、發明説明(46 ) 裝 的時間:使用此發明,㈣、之等待時間在低負載情況為更 炙、繁地增加以及孩P艮制串列同時被檢查,造成應該離開限 制_列之使用者在必須離開時離開。表i,行35以圖i之線 82,7F,具有額外意義為作用之等待連續監視器去到調 度益4 0以當作用 < 等待連續監視器3 〇增加等待時間至 ATOD時更新AT〇D2。表1之行5()提到的新優先順序為使用 者重新計算之調度優先順序(亦即—㈣),該優先順序為用 以決疋何時使用者將被再次調度,此調度優先順序由最大 降落量之限制和T0D-丁㈣加以限制。排程器以在行…吏 用此優先順序以按照優先順序放置使用者在調度串列3 7 上:在表1之行54等式中的數字”4,,代表實驗性定義之最佳 數竽,以及可以在不脫離本發明範疇下加以改變。在表工之 灯6 1中’使用者依據其新計算之調度串列優先順序3 $在調 度串列3 7上重新排順序。 訂 表1 :排程演算法 1 排程演算法: 線 2 HCPDSPCH(排程迴路之開始):
3 IF沒有工作將調度THEN 4 去到作用之等待常式·
5 ELSE 6 執行優先順序系統工作(亦即作用系統管理負 7 擔’非使用者工作). 8 1F 一使用者之小時間片剛結束 -49- 本紙痕尺度適用中國國豕標準(CNS) A4規格(210X297公爱) 526452
五、發明説明(47 9 THEN呼叫排程器以重新計算 1〇該使用者之調度優先順序 1U以使用者時間將ATOD往前推進[步驟68] 1 lb以使用者時間和等待時間將〇D2往前推進· 12假如AT〇D2在該使用者之限制串列優先順序 13 之一小時間片内時時, 14 15 16 17 18 19 20 2 1 22 23 24 25 26 27 28 29 30 3 1
將使用者由限制串列移除· [步驟7〇] 使用該調度串列以依據調度串列優先順序 實際執行使用 者工作. 去到HCPDSPCH(調度器迴路之結束); 作用之等待常式處理 : FINDWORK (迴路之開拾): 1F具有新工作執行時THEN去到 _度器以執行工作項目· ELSE
[步驟5 6] 装 IF具有使用者在限制串列上 AND作用之等待處理已經 執行250毫秒THEN DO 增加等待時間至ATOD. 备又疋指不器,以致於 調度器將更新ATOD2 以及檢查該限制串列以 將使用者移除. -50- 本紙張尺度適财S时標準(CNS) A4規格(210 X 297公釐) 64] ^ 驟 68] 526452 :A7! -Β7; 五、發明説明 48 3 2 去到調度器H CPDSPCH 3 3 End 34 END 3 5 去到FIND WORK(迴路之結束); 3 6 排程器優先順序重新計算: 3 7 依據在使用者目錄入口中制訂的相對或是 3 8 絕對共用和其他登錄在非待用 3 9 (等待串列之) 4 0 使用者上的共用計算 4 1 系統之使用者共用· 42 iF该使用者之共用超越使用者所允許之最大共用 4 3 THEN使用該最大共用於 44 π偏移”計算· 4 5 依據使用者共用' 小時間片大小 4 6 之大小以及依據該使用者在 4 7 前一時間片上之超限運轉 4 8 的調整計算使用者 4 9 之’’偏移” 5 0 新的優先順序被決定為等於 5 1 舊優先順序加上剛計算 52 53 54 55 之偏移 [步驟 5 0,5 8 ] IF使用者新的優先順序超越最大降落量 (現行ATOD+ 4*偏移)AND此使用者為一 限制之使用者AND該使用者以其最大共用 -51 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公爱) 裝 訂 線
56 排程(亦即正達到其限制) 57 THEN 58 將使用者增加至限制串列 59 ELSE 60 將使用者以優先順序 61 重新排序在調度串列上. 62 end; [步驟 52,54,60,62] 在先前技藝之上的優點 裝 :本發明之一優點為提供一種排程器系統和方法,以加強允 許使用者在低負載情況中存取系統資源接近或是等於其硬 性限制。 本發明之另一優點為提供一種排程器,加強系統資源之最 訂 佳化管理以及減低使用者在該資源管理量或是可使用性上 的不安。 線 本發明之另一優點為提供一種系統和方法,因此監視資料 使用為系統使用的排程演算法之一回饋機構以決定使用者 優先順序以及決定接下來何使用者必須被許可加以執行。 本發明之另一優點為提供一種系統和方法,用於不會太快 排程系統資源給藉由置放該使用者在限制_列上而具有限 制存取之使用者,以及不會太慢將使用者由限制串列移 本發明之另一優點為提供一種系統和方法,用於不會太慢 排程系統資源給藉由使資源能夠排程而具有限制存取之使 -52-
526452 A7 E7 五 、發明説明(50 ) 用者,以及不會太快禁止資源之排程。 另一具體實施例 · 將欣賞地是,雖然本發明具體實施例已經為解釋目的而說 明,但是各種不同修正可以在不脫離本發明精神和範疇下 加以製作。特別是,提供一種程式儲存或記憶體裝置如固 態或是流體傳輸媒體,磁性或是光學接線,磁帶或是磁 碟,或是類似物用於儲存由如本發明方法及/或其元件如本 發明系統的結構控制電腦操作之機器可讀取的信號為在本 發明範疇内。 另外,該方法之步驟可以在一般電腦之任何電腦如IBM系 統3 90、AS/400、PC或是類似電腦中以及依據由任何程式 語言如C + +、Java、P 1/1、Fortran或是類似語言所產生之 至少一或是至少一部分程式模組或物件來執行。以及另 外,各該步驟或是製作各該步驟之一檔案或物件或類似物 可以由特殊目的硬體或是為該目的設計之電路模組加以執 行。 因此,本發明保護範疇只由下列申請專利範圍及其等效條 款加以限制。 -53- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 裝 訂 線
Claims (1)
- 以 0452 、申請專利範圍 括:::用者將系統資源之使用予以排程之方法,包 維持一第一時鐘; 維持一第二時鐘; 在一調度處理期間, 假使有玉作將執行時,只有當該使用者 ::::Γ資源之使用依據調度優先順序排程給= 將該第一時鐘往前推進一使用者時間;以及 以及將该弟二時鐘往前推進—使用者時間和等待時間; 在一等待處理期間, 假使有工作將執行時,呼叫該調度處理; 否則’計時等待時間;以及 態 假使在等待時間超越一預定值時有-處在等待狀 的使用者時’則增加第_時鐘—該等待時間 度處理。 1 2·如申請專利範圍第η之方法,更包括下列步驟: 在排私為處理期間, "" 決定該使用者之使用者共用; 假使該使用者共用超越一預先定義之 時,依據該使用者共用和在一先前時間片上的任何超 運轉之調整時間片來計算使用者偏移; ^ 該 計算等於現行調度優先順序加上該使用者偏移的 -54- 本纸張尺度適用中國國家標準(CNS) Α4規格(210X297公董) 使用者新調度優先順序; ”假使該新調度優先順序以該使用者偏移函數超越該 時鐘時’置放該使用者為等待狀態以及呼叫該調度 處理,否則,呼叫該調度處理;以及 :、在調度處理期間’當該使用者完成—時間片時,啤叫 遠排程器處理。 如申請專利範圍第2項之方法,更包括下列步騾: 甚至在調度處理期間, 假使該使用者為等待狀態以限制優先順序在咳第二 時鐘之-時間片_,將該使用者由限制狀態移除' -種用於在多數受限制使用者間將系統資源之使用予以 排程之方法,包括下列步騾·· 維持一第一日時鐘的時間; 維持一第二日時鐘的時間; 執行一調度常式; 執行一作用之等待常式; 執行一優先順序再計算常式; 該優先順序再計算常式包含下列步驟: 計算一第一使用者之一使用者共用; 假使該使用者之共用超越一預先定義之最大允許共 用時,依據該使用者共用和在一先前微小時間片上的ς 何超限運轉所調整之時間片大小來計算使用者偏移; 計算等於舊優先順序加上該偏移之該使用者調产 先順序; 又 -55- 六、申請專利範圍 假使純用者調度優先順序超越—等於該第 加上該使用者偏移之函數的最大落差量值,以及此為— :限制之—使用者,以及此使用者正以其最大共用排程 、則將忒使用者増加至一限制串列中; 否則’以優先順序將該使用者記錄在調度串列上· 以及 ’ 執行Μ碉度器常式; 該調度器常式包含下列步騾: 假使沒有工作可調度時,則執行該作用之等待, 式;否則,執行任付優先順序之系統工作;以及之後 假使該使用者的小時間片剛結束時,執行該排程著 常式;否則, 將S第日時鐘之時間往前推進一使用者時間; 將,亥第一日時鐘足時間往前推進一使用者 待時間; 、假使在該限制串列上之該使用者為在該第二日時鐘 I -小時間片内時,將該使用者由限制串列移除;以及 依調度串列優先順序調度使用者;以及 該作用之等待常式包含下列步驟: 假使有新工作將執行時,則執行該調度器常式;否 則, 假使有使用者在該限制串列.上以及作用之等待處理 已經超越一預先定義之限制時,則 增加等待時間至該第一曰時鐘;以及 -56- 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公袭)加至該限制串列 以及不會太晚 執行該調度器常式 因此使用者不會太早增 由该限制串列移除。 .-種將系統資源排程之方法,包括下列步驟: (1) ;在多個界限内將處理器使用之使用者以優先順序處 理,该等界限由下列方式界定: 广(二)使用者最小使用,(b)當使用者正消耗系統資源 時往前推進之一第一人工曰眭於 、 人工曰時鐘,(c)一鬲調度優先順序 限制,以及(d)—低調度優先順序限制; (2) 將使用者消耗之中央處理器單元加以限制為該界限 内的特定值,該限制是以以下方式完成的:(a)建立指定 至所選擇使用者之最大限制共用指定、⑻提供一限制亭 列以及(c )提供當使用者正消耗系統資源以及當該系統 資源正等待時往前推進之一第二人工日時鐘; (3) 決足限制串列優先順序以及依據該第二人工曰時鐘 之往前推進決定何時由該限制串列移除; (4 )當該CPU為閒置時,提供進入工作的作用之等待相 互作用連續監視器; (5) 依據最大使用共用,指定優先順序給使用者; (6) 當該低調度優先順序限制被超越時將使用者置放在 該限制串列上; (7) 將該第一人工日時鐘轉換為該第二人工曰時鐘決定 在該限制串列上的停留期間; (8) 認知何時該限制共用使用者正爭奪CPU資源; -57- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 充 申請專利範圍 知何㈣系歸源已經錢續作用之等待狀態-二疋我 < 真貝時間區間以及由此以等待時間回應更新該 弟一人工日時鐘和該第二人工日時鐘;以及 上在低負載情形下,當該第二人工曰時鐘值以實質 匕Q在省第一人工日時鐘内的所有等待時間超越該限 :串列優先順序時,將使用者由該限制串列移除。 6· Z由—機器可讀取之程式儲存裝置,實際地具體實施 *备可執仃《指令程式以執行用於將系統資源之使用排 程給使用者的方法步騾,該方法步騾包括: 維持一第一時鐘; 維持一第二時鐘; 在一調度處理期間, ^假使有工作將執行時,只有當該使用者不在等待狀 怨時’將系統資源之使用依據調度優先順序排程給該使 用者;否則 將該第一時鐘往前推進一使用者時間;以及 、將孩第二時鐘往前推進一使用者時間和等待時間,· 在等待處理期間, 假使有工作將執行時,呼叫該調度處理;否則, 計時等待時間;以及 假使在等待時間超越一預定值時有一 /古田土 d ^ 為寺待狀態的 ^者Bf ’以增加第-時鐘一該等料間和呼叫該調度 -58- 本紙張尺度適财®目家標準(CNS) A4規格(210X297公爱) 526452 A8 B8 C87· —種製造物品,包括: 一電腦可使用之媒體,具有電腦可讀取之程式碼裝置 具體實施在其中以用於將系統資源之使用排程給使用 者,在該製造物品中的該電腦可讀取之程式裝置包括: 用於使電腦將維持一第一時鐘起效應之電腦可讀取程 式碼裝置; 用於使電腦將維持一第二時鐘起效應之電腦可讀取之 程式碼裝置; 用於使電腦在調度處理期間起效應之電腦可讀取之程 式碼裝置; 裴 假使有工作將執行時,只有當該使用者不在等待狀 4時將系統’貝源之使用依據調度優先順序排程給該使 用者;否則 ^ Ρ 將孩第一時鐘往前推進一使用者時間;以及 將該第二時鐘往前推進一使用者時間和等待時間; 以及 ^ 線 用於使電腦在等待處理期間起效應之電腦可讀取之程 式碼裝置; " 假使有工作將執行時,呼叫該調度處理;否則 计時寺待時間;以及 假使在等待時間超越一預定值時有—為等待狀態的使 =者時’以增加第-時鐘—該等待時間和呼叫該調度處 8· —種用於將將系統資源之使用排程給使用者之系統勹 -59-526452 申請, 御 括: 弟一時鐘; 一第二時鐘; 一調度處理, 用於 假使有X作將執行時,只有當該使用者不在 怨時,將系統資源士你、 争狀 用者;㈣ 依據毅優先順序神給該使 將孩第一時鐘往前推進一使用者時間;以及 以及將$第—時鐘往前推進一使用者時間和等待時間; 一寺·待處理,用於: 假使有工作將執行時,呼叫該調度處理 計時等待時間;以及 否則 假使在等待時間超越-預定料有-為等待狀錢的 使用者時L第-雜—該等待時間何叫該調度 處理。 9·如申請專利範圍第8項之系統,更包括: 一排程器處理,用於·· 決定該使用者之使用者共用; 假使該使用者共用超越一預先定義之最大許可共用 時’依據# 亥使用者共用和依據該使用者共用和在一先前 時間片上的任何超限運轉之調整時間片計算使用者偏 移; 計算等於現行調度優先順序加上該使用者偏移之該60- 526452申請專利範圍i ABCD 麵 使用者之新調度優先.順序; 假使該新調度優先順序以該使用者偏移函數超越該 第一時鐘時’置放該使用者為等待狀態以及呼叫該調度 處理;否則,呼叫該調度處理;以及 該調度處理,在該使用者完成一時間片時,啤叫該排 程器處理。 10.如申請專利範圍第9項之系統,更包括: 該調度處理更進一步用於: 假使該使用者為等待狀態以限制優先順序在該第二 時鐘之一時間片内時,將該使用者由限制狀態移除。 -61 - 本纸張尺度適用中國國家標準(CNS) A4規格(210X297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/276,525 US6438704B1 (en) | 1999-03-25 | 1999-03-25 | System and method for scheduling use of system resources among a plurality of limited users |
Publications (1)
Publication Number | Publication Date |
---|---|
TW526452B true TW526452B (en) | 2003-04-01 |
Family
ID=23056982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW088122782A TW526452B (en) | 1999-03-25 | 1999-12-23 | System and method for scheduling system resources |
Country Status (7)
Country | Link |
---|---|
US (1) | US6438704B1 (zh) |
EP (1) | EP1039383B1 (zh) |
JP (1) | JP3606555B2 (zh) |
KR (1) | KR100352668B1 (zh) |
AT (1) | ATE395663T1 (zh) |
DE (1) | DE60038837D1 (zh) |
TW (1) | TW526452B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955559A (zh) * | 2011-08-24 | 2013-03-06 | 宏碁股份有限公司 | 节能系统以及节能方法 |
TWI394027B (zh) * | 2008-10-27 | 2013-04-21 | Tatung Co | 頻率調整方法及使用此方法的電腦程式產品 |
TWI447644B (zh) * | 2006-05-19 | 2014-08-01 | Ibm | 摘取cpu時間設備 |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526767B1 (en) * | 1998-08-28 | 2009-04-28 | Oracle International Corporation | Methods for automatic group switching according to a resource plan |
US7020878B1 (en) | 1998-08-28 | 2006-03-28 | Oracle International Corporation | System for allocating resource using the weight that represents a limitation on number of allowance active sessions associated with each resource consumer group |
US7451448B1 (en) * | 1998-08-28 | 2008-11-11 | Oracle International Corporation | Methods for selectively quiescing a computer system |
JP3739610B2 (ja) * | 1999-09-24 | 2006-01-25 | 松下電器産業株式会社 | 訪問計画生成装置 |
US20020198996A1 (en) * | 2000-03-16 | 2002-12-26 | Padmanabhan Sreenivasan | Flexible failover policies in high availability computing systems |
US7627694B2 (en) * | 2000-03-16 | 2009-12-01 | Silicon Graphics, Inc. | Maintaining process group membership for node clusters in high availability computing systems |
US20010049710A1 (en) * | 2000-05-16 | 2001-12-06 | Curey Randall K. | Partitioned executive structure for real-time programs |
US7849463B2 (en) | 2000-06-02 | 2010-12-07 | Microsoft Corporation | Dynamically variable idle time thread scheduling |
US7137117B2 (en) * | 2000-06-02 | 2006-11-14 | Microsoft Corporation | Dynamically variable idle time thread scheduling |
KR20020035580A (ko) * | 2000-06-27 | 2002-05-11 | 요트.게.아. 롤페즈 | 스케줄을 결정하는 방법, 스케줄러 및, 시스템 |
US6795873B1 (en) * | 2000-06-30 | 2004-09-21 | Intel Corporation | Method and apparatus for a scheduling driver to implement a protocol utilizing time estimates for use with a device that does not generate interrupts |
KR100487543B1 (ko) * | 2000-09-01 | 2005-05-03 | 엘지전자 주식회사 | 시피유 스케쥴링 방법 |
US7096469B1 (en) * | 2000-10-02 | 2006-08-22 | International Business Machines Corporation | Method and apparatus for enforcing capacity limitations in a logically partitioned system |
US7032222B1 (en) * | 2000-10-13 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | Method and system for determining resource allocation to users by granting request based on user associated different limits and resource limit |
US6671658B2 (en) * | 2000-12-23 | 2003-12-30 | Hewlett-Packard Development Company, L.P | Method for service level estimation in an operating computer system |
US20020147966A1 (en) * | 2001-02-14 | 2002-10-10 | Ncr Corporation | Operating software performance monitor |
US7170862B1 (en) | 2001-07-31 | 2007-01-30 | Cisco Technology, Inc. | Partitioning a network element into multiple virtual network elements |
US7143411B2 (en) * | 2002-03-15 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Capping processor utilization |
KR100471746B1 (ko) * | 2002-07-26 | 2005-03-16 | 재단법인서울대학교산학협력재단 | 연성 실시간 태스크 스케줄링 방법 및 그 기록매체 |
AU2002360777A1 (en) * | 2002-12-27 | 2004-07-22 | Unisys Corporation | Improving the accuracy of the estimation of computer resource usage |
US20060179136A1 (en) * | 2002-12-27 | 2006-08-10 | Loboz Charles Z | Accuracy of the estimation of computer resource usage |
US7191320B2 (en) * | 2003-02-11 | 2007-03-13 | Via Technologies, Inc. | Apparatus and method for performing a detached load operation in a pipeline microprocessor |
JP4107155B2 (ja) * | 2003-05-12 | 2008-06-25 | 日本電気株式会社 | ネットワークセッション制御システム、ネットワーク管理装置およびプログラム |
US7751315B1 (en) * | 2003-07-15 | 2010-07-06 | Microsoft Corporation | Shared network path contention reduction |
US7406691B2 (en) * | 2004-01-13 | 2008-07-29 | International Business Machines Corporation | Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment |
US7562143B2 (en) * | 2004-01-13 | 2009-07-14 | International Business Machines Corporation | Managing escalating resource needs within a grid environment |
US7552437B2 (en) * | 2004-01-14 | 2009-06-23 | International Business Machines Corporation | Maintaining application operations within a suboptimal grid environment |
US7266547B2 (en) * | 2004-06-10 | 2007-09-04 | International Business Machines Corporation | Query meaning determination through a grid service |
US7752415B2 (en) * | 2004-12-22 | 2010-07-06 | International Business Machines Corporation | Method for controlling the capacity usage of a logically partitioned data processing system |
US7668741B2 (en) * | 2005-01-06 | 2010-02-23 | International Business Machines Corporation | Managing compliance with service level agreements in a grid environment |
US7502850B2 (en) * | 2005-01-06 | 2009-03-10 | International Business Machines Corporation | Verifying resource functionality before use by a grid job submitted to a grid environment |
US7761557B2 (en) * | 2005-01-06 | 2010-07-20 | International Business Machines Corporation | Facilitating overall grid environment management by monitoring and distributing grid activity |
US20060149652A1 (en) * | 2005-01-06 | 2006-07-06 | Fellenstein Craig W | Receiving bid requests and pricing bid responses for potential grid job submissions within a grid environment |
US7707288B2 (en) * | 2005-01-06 | 2010-04-27 | International Business Machines Corporation | Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment |
US7590623B2 (en) * | 2005-01-06 | 2009-09-15 | International Business Machines Corporation | Automated management of software images for efficient resource node building within a grid environment |
US7793308B2 (en) * | 2005-01-06 | 2010-09-07 | International Business Machines Corporation | Setting operation based resource utilization thresholds for resource use by a process |
US7562035B2 (en) * | 2005-01-12 | 2009-07-14 | International Business Machines Corporation | Automating responses by grid providers to bid requests indicating criteria for a grid job |
US7571120B2 (en) * | 2005-01-12 | 2009-08-04 | International Business Machines Corporation | Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms |
US7467196B2 (en) * | 2005-01-12 | 2008-12-16 | International Business Machines Corporation | Managing network errors communicated in a message transaction with error information using a troubleshooting agent |
US7472079B2 (en) * | 2005-01-12 | 2008-12-30 | International Business Machines Corporation | Computer implemented method for automatically controlling selection of a grid provider for a grid job |
US20060195845A1 (en) * | 2005-02-28 | 2006-08-31 | Rhine Scott A | System and method for scheduling executables |
US7908606B2 (en) * | 2005-05-20 | 2011-03-15 | Unisys Corporation | Usage metering system |
US7979460B2 (en) | 2006-02-15 | 2011-07-12 | Sony Computer Entainment America Inc. | Systems and methods for server management |
US7844970B2 (en) * | 2006-08-22 | 2010-11-30 | International Business Machines Corporation | Method and apparatus to control priority preemption of tasks |
US8286173B2 (en) * | 2007-03-23 | 2012-10-09 | Oracle America, Inc. | Methods and apparatus for window-based fair priority scheduling |
US8046766B2 (en) * | 2007-04-26 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | Process assignment to physical processors using minimum and maximum processor shares |
US8276143B2 (en) * | 2008-03-10 | 2012-09-25 | Oracle America, Inc. | Dynamic scheduling of application tasks in a distributed task based system |
US8250579B2 (en) * | 2008-06-27 | 2012-08-21 | Oracle America, Inc. | Method for stage-based cost analysis for task scheduling |
WO2010032205A1 (en) * | 2008-09-17 | 2010-03-25 | Nxp B.V. | Electronic circuit comprising a plurality of processing devices |
US9063795B2 (en) * | 2012-12-19 | 2015-06-23 | International Business Machines Corporation | Adaptive resource usage limits for workload management |
WO2015101419A1 (en) * | 2014-01-02 | 2015-07-09 | Sky Atlas Iletisim Sanayi Ve Ticaret Anonim Sirketi | Method and system for allocating resources to resource consumers in a cloud computing environment |
US9411629B1 (en) | 2015-03-10 | 2016-08-09 | International Business Machines Corporation | Reducing virtual machine pre-emption in virtualized environment |
US10931674B2 (en) * | 2018-04-30 | 2021-02-23 | Paypal, Inc. | Detecting whether to implement one or more security measures on a shared resource |
US10768981B2 (en) * | 2018-06-21 | 2020-09-08 | Microsoft Technology Licensing, Llc | Dynamic time slicing for data-processing workflow |
JP7363653B2 (ja) * | 2020-04-15 | 2023-10-18 | 富士通株式会社 | 割当制御プログラム、割当制御方法および情報処理装置 |
CN117376423B (zh) * | 2023-12-08 | 2024-03-12 | 西南民族大学 | 一种深度学习推理服务调度方法、系统、设备及存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4183083A (en) | 1972-04-14 | 1980-01-08 | Duquesne Systems, Inc. | Method of operating a multiprogrammed computing system |
US4551812A (en) | 1981-06-17 | 1985-11-05 | Cyborex Laboratories, Inc. | Energy controller and method for dynamic allocation of priorities of controlled load curtailment to ensure adequate load sharing |
US4481583A (en) | 1981-10-30 | 1984-11-06 | At&T Bell Laboratories | Method for distributing resources in a time-shared system |
US4388688A (en) | 1981-11-10 | 1983-06-14 | International Business Machines Corp. | Shared TOD clock modification bit |
US4989133A (en) | 1984-11-30 | 1991-01-29 | Inmos Limited | System for executing, scheduling, and selectively linking time dependent processes based upon scheduling time thereof |
US4631674A (en) | 1985-02-05 | 1986-12-23 | International Business Machines Corporation | Active wait |
US4736318A (en) | 1985-03-01 | 1988-04-05 | Wang Laboratories, Inc. | Data processing system having tunable operating system means |
CA1329432C (en) * | 1988-11-02 | 1994-05-10 | William Davy | Method of memory and cpu time allocation for a multi-user computer system |
IE61336B1 (en) | 1989-10-02 | 1994-11-02 | Sportables Limited | A method for controlling the operation of a computer to handle interrupts |
US5193187A (en) | 1989-12-29 | 1993-03-09 | Supercomputer Systems Limited Partnership | Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers |
US5325525A (en) * | 1991-04-04 | 1994-06-28 | Hewlett-Packard Company | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time |
JPH0774984B2 (ja) | 1991-06-10 | 1995-08-09 | インターナショナル・ビジネス・マシーンズ・コーポレイション | システム資源利用率測定方法とデータ処理システム |
US5291599A (en) | 1991-08-08 | 1994-03-01 | International Business Machines Corporation | Dispatcher switch for a partitioner |
US5375202A (en) * | 1993-01-04 | 1994-12-20 | Xerox Corporation | Dispatching and scheduling memory operations in an electronic printing system |
US5623404A (en) * | 1994-03-18 | 1997-04-22 | Minnesota Mining And Manufacturing Company | System and method for producing schedules of resource requests having uncertain durations |
CA2186349C (en) | 1994-05-12 | 2008-09-23 | James C. Bunnell | Cpu activity monitoring through cache watching |
JP3588485B2 (ja) | 1994-08-26 | 2004-11-10 | 富士通株式会社 | プロセススケジューリング方式 |
US5615121A (en) * | 1995-01-31 | 1997-03-25 | U S West Technologies, Inc. | System and method for scheduling service providers to perform customer service requests |
US5668942A (en) * | 1995-06-07 | 1997-09-16 | Xerox Corporation | Generic system for describing and using resources for print engine scheduling |
JPH0954699A (ja) * | 1995-08-11 | 1997-02-25 | Fujitsu Ltd | 計算機のプロセススケジューラ |
US5987492A (en) * | 1997-10-31 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for processor sharing |
-
1999
- 1999-03-25 US US09/276,525 patent/US6438704B1/en not_active Expired - Fee Related
- 1999-12-23 TW TW088122782A patent/TW526452B/zh not_active IP Right Cessation
-
2000
- 2000-03-08 KR KR1020000011515A patent/KR100352668B1/ko not_active IP Right Cessation
- 2000-03-14 JP JP2000070538A patent/JP3606555B2/ja not_active Expired - Fee Related
- 2000-03-15 EP EP00302076A patent/EP1039383B1/en not_active Expired - Lifetime
- 2000-03-15 AT AT00302076T patent/ATE395663T1/de not_active IP Right Cessation
- 2000-03-15 DE DE60038837T patent/DE60038837D1/de not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI447644B (zh) * | 2006-05-19 | 2014-08-01 | Ibm | 摘取cpu時間設備 |
TWI394027B (zh) * | 2008-10-27 | 2013-04-21 | Tatung Co | 頻率調整方法及使用此方法的電腦程式產品 |
CN102955559A (zh) * | 2011-08-24 | 2013-03-06 | 宏碁股份有限公司 | 节能系统以及节能方法 |
Also Published As
Publication number | Publication date |
---|---|
DE60038837D1 (de) | 2008-06-26 |
JP3606555B2 (ja) | 2005-01-05 |
EP1039383A3 (en) | 2006-08-23 |
ATE395663T1 (de) | 2008-05-15 |
JP2000284975A (ja) | 2000-10-13 |
EP1039383A2 (en) | 2000-09-27 |
KR20010006756A (ko) | 2001-01-26 |
US6438704B1 (en) | 2002-08-20 |
KR100352668B1 (ko) | 2002-09-13 |
EP1039383B1 (en) | 2008-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW526452B (en) | System and method for scheduling system resources | |
US6714960B1 (en) | Earnings-based time-share scheduling | |
US6785889B1 (en) | System and method for scheduling bandwidth resources using a Kalman estimator with active feedback | |
Mercer et al. | Processor capacity reserves for multimedia operating systems | |
US6385638B1 (en) | Processor resource distributor and method | |
US7207042B2 (en) | System and method for robust time partitioning of tasks in a real-time computing environment | |
JP7018554B2 (ja) | 適応型リソース割り当て方法及び装置 | |
US10089142B2 (en) | Dynamic task prioritization for in-memory databases | |
US9424093B2 (en) | Process scheduler employing adaptive partitioning of process threads | |
US7840966B2 (en) | Process scheduler employing adaptive partitioning of critical process threads | |
US6430592B1 (en) | System for sharing CPU time amongst multiple users | |
US10271326B2 (en) | Scheduling function calls | |
Chiang et al. | Production job scheduling for parallel shared memory systems | |
JP2011180894A (ja) | ジョブスケジューリングプログラム、ジョブスケジューリング装置、及びジョブスケジューリング方法 | |
JP2003131892A (ja) | タスク実行制御装置及びタスク実行制御方法 | |
JP2023096237A (ja) | コスト管理装置、コスト管理方法、およびプログラム | |
WO2004019205A2 (en) | System and method for robust time partitioning of tasks in a real-time computing environment | |
US20110066467A1 (en) | Scheduling multiple projects using phase work-in-process and resource constraints | |
JP2015060279A (ja) | スケール制御サーバ、スケール制御方法、およびスケール制御プログラム | |
EP2595057B1 (en) | Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements | |
Mullery et al. | A processor allocation method for time-sharing | |
Lin et al. | Efficient soft real-time processing in an integrated system | |
Steffen | A Better Way of Scheduling Jobs on HPC Systems: Simultaneous Fair-Share | |
Aladeemy et al. | Improving Appointment Scheduling in Outpatient Infusion Centers: A Case Study | |
Meehean | Towards Transparent CPU Scheduling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |