TW396313B - Computer resource proportional utilization and response time scheduling - Google Patents
Computer resource proportional utilization and response time scheduling Download PDFInfo
- Publication number
- TW396313B TW396313B TW087102570A TW87102570A TW396313B TW 396313 B TW396313 B TW 396313B TW 087102570 A TW087102570 A TW 087102570A TW 87102570 A TW87102570 A TW 87102570A TW 396313 B TW396313 B TW 396313B
- Authority
- TW
- Taiwan
- Prior art keywords
- category
- work
- job
- time
- categories
- 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
-
- 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)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
經濟部中央揉準局員工消費合作社印裝 一 A7 ---------B7 五、發明説明(i j ' ' ---·~ 發明背景·· 星愈領域: 本發明係大致有關在-電腦系統中對資源排程。 I關技術説明: t«Ji)之一般目標在於安拙各主務ftaskm用資源或 W导資—源使i權之讀符合—組线履級及(或)使 用者層級的目標。例如,這些目標可包括:不同類型(亦 即類別(class))的任務間之資源利用目標;滿足各丕同任 f類私f·農提供任務類別内戽痊任務 以公平己 資源,以及對資寺間較短a饪務之資源公配 優於使用/佔有時間較長的任務。 許多這類-排程目標>HJi相互衛穸的.»因而使資Ji^iL稆 成。由於此種複雜性的存在,所以 目前已設計出許多的排程演算法,用以只滿足一部分的上 述目標。雖然這些策略在其相關領域内通常是有效的,但 是其成功通常有所限制,或者這些策略在要求不同的系統 環境中完全無法滿意地執行。事實上,鱗常會發現一些必 須回應客户工作j荷的.巨變化而以人爲方式調整排程及 派遑參數之系技。此種要求產生了非所願的複雜性及額外 作業。因此,除了支援多種不同的排程目^之外,設計h 阐主要挑有敎妯.掉制資禪分配,以便達到這些 同時存在的目標之所需效能要求。 本發明解決了上述這些問題。 _____ 4 - 本紙張尺度顧中關家標準(〇^\4驗(21QX297— }--- _ ----------抑衣---.---1T------^ * i ' (請先閲讀背面之注意餐項再本寫本頁} 經濟部中央標準局員工消費合作社印製 五、發明説明( 發明概述: 本發明之一主要目的在於:在一電腦系統的一統一及整 合排程機制内,對於一資源之使用或得到一資源之使用權 ,達到比例使用及回應時間之效能目標。 本發明之另一目的在於提供用來將—個諸如處理器等的 電腦資源排程之"使用"及"回應"模式,其中一種模式在另 一種模式所限制的一工作類別Hobclass)之界限内是有效 本發明之再一目的可讓一系統在沒有人爲介入的情形下 ,隨著一資源的工作負荷要求之改變而進行動態調整。 本發一塑之又,目吟在於以通用、有彈性、且適應性之方 式控制:資源分配,以」更完j不同的排程目標及效能要求。 本發明之又一目的在於利用一種具有所需層級之^^架 構將一電腦之資源排程,而該階層架構係以一種通用且有 彈性之方式支援"使用"及·•回應"模式之目標組合。 本發明之又一目的在於利用一些一般時基函數(t丨^^ based function)將一資源排程,其中係由若干資源利用 與回立時』目標、一適應性回授機制、及資源要走者 (resource regUester)類別之概念驅動這些時基函數。 本發明之又一目的在於將要求"類別"的一電腦資源排程 ’其中一類別包含對躁系統电而言_基有相 同效能目標的一群要求者。 本發明之又一目的在於提供一種工作類別排程器,該並 程器句.仝一個斑毐一類別相關聯一的轉移機制,使”抽取,,資 Μ氏張尺度適角中國國家梂準(CNS ) A4規格(210X297公董) (請先閱讀背面之注意事項再填寫本頁) -裝. 訂 五'發明説明(3 ) _作在苻合一組使用率準則時 吸轉移到一個較 低優先的作.類別 本發明(又-目的在^利用本發明㈣—及整 解決習用枯健法摘當解決的一些習知排程問題。?—. 根據本發明,亦依據"時間函數"而在-統-架構内,對 各工作類別内的工作執行資源排程。每一工作類別 個與其相Μ的"時間函數",當可使用資源^ ㈣排程時,即動態控制該時間函數之値… 以最通用之方式而言可以是任何的 /數’例如在已知-組變數(或輸入參數)値的情 的某些値之公式。"時間"參數可以是就資源及 估每一類別時間函數値的其他資源而言的任何時間 基準。在較佳作業中,各時間函數可基於—通用"使莫 ^其中該時間參數是類別使用資源或資源組的任何量測 各時間函數亦可基於—通用"回應,,模式,其中該 間參數是類別等候資源或資源組的任何量測基準’·各^門 函數也可以是此類模式的任何組合。然後可根據每—類^ _間函數値’而利用任何一般順序關係或選擇函數來決 疋應選擇哪一類別。選擇函數的實例包括最大及最小算符 (寧仙〇,但是在較佳作業中,選擇函數通常是在所考 慮的各時間函數値中選擇最小値之算符…旦選擇_ 排程的工作類別之後,即將資源提供給該類別内的-工作 以供執行。 』工作 根據本發明排程架構之另-特徵,係以-種大致"階居"
經濟部中央標準局員工消費合作社印家 之方式配置競爭資源的照料之工作類別。與階層中每 級的類別相關聯之時間函數具有相同的"。 :模二最好是具有相等且-致的可行性。此外,系統管: 員及(或)使用者可在每-層級上,且以所需的任何方式, 並可針對所需的任何數目的層 配置工作類別及時間 函數板式。例如,階層的最高層級可包含數個工作類別, 並將資源分配給這些工作類別,以便維持—組比例利用的 目標。每-個這類類別都有—個與其相關聯的使用模式時 間函數,而在可使用資源時,該時間函數動態控制要選擇 哪一個類別進行排程。在階層的次-層級中,每-最高層 級的類別可包含分配有資源的若干次類別(subclass),二 便維持-組回應時間目#。每—這些次類別都有一個與其 相關聯的回應模式時間函數,而在階層的最高層級中選擇 該次類別的母類別時,該時間函數動態控制要選擇哪一個 次類別進行排程。此種階層式排程架構具有完全的—般性, 而可將該排程架構遞迴地定義到户斤需的任何數目之層級。 拫據本發明的另一特徵,可將排程階層讀每一層級之工 作類別集合分割成若干"群組"的工作類別,其中第一群組 的絕對優先順序高於所有其他的群組,亦即,在第一群组 的所有類別空出之前,不考慮其他群组中之工作類別能夠 使用資源。第二工作類別群組之絕對優先順序高於該第一 工作類別群組以外的所有其他群組,其餘的工作類別群組 也具有類似的絕對優先順序定義。每一群組中各類別的時 間函數具有類似的形式,亦即這些時間函數根據"使用"或 (請先閱讀背面之注意»-項再填寫本頁) -----裝'
<1T 線 ______ - 7 _ 本紙張尺度適财關家辟(CNS) Α4· (21()><297公1}
發明説明 經濟部中央標準局員工消費合作社印製
回應模式的不同而爲怔定的f十P 芏"^ 馬『疋的(亦即這些時間函數並不隨 奢時間"而變)或爲動態改變的。 ^ 夂日J例如’第一工作類別群 士 。:向優先順序的較短系統任務、互動式工作(其 中在各明顯的間置期間之間只發生小量的資源使用)、以 及具有即時限制而在絕對優先順序上高於其他工作類別之 工作。 曰在-較佳實施例中,在階層的任何層級或層級組合中, 取好是主要將工作類別群組利用在階層的最高層級上。然 本發月I括以-般之方式連同排程階層而使用工作類 別群組。 數種適應性回授機制是本發明的排才呈架構之一圭 。其一種此類技術涉及:隨著資源利用、工作組合、或任 何其他觸發物或事件的變化,而適應性地調整各時間函數 。另一種此類技術涉及··當資源或資源组的使用率超過一 系統管理員及(或)一使用者指定的界限時,將工作自—個 類別轉移到階層中之另一類別,然後在一個工作閒置了該. 系統管理員或使用者預定的一段足夠長的時 作回到其料^ 前文已概述了某些較相關的目標及特徵。這些目標只是 作爲本發明的某些較顯著特徵及應用之舉例。若以不同的 方式應用所揭露的本發明,或以將於下文中説明之方式修 改本發明,則亦可得到許多其他有利的結果。因此,若參 照下又中對較佳實施例之詳細説明,將可更完整地了解本 發明之其他目的。 本.氏張从適用中國國家標準(CNS )从祕(2⑴X297公着) 請 先 閱 讀 背 ίτ 之 注 意
I
彥裝.育I 訂 線 A7 B7 經濟部中央榡準局員工消費合作杜印製 發明説明( 附圖簡述: 若要更完整了解本發明及其優點,請參照下文中之詳細 説明並配合各附圖,這些附圖有: 圖1示出競爭—電腦或電腦系統中-特《源的使用權 之工作類別代表性階層; 圖2 7F出個例不階層,其中係對一對次類別施行比例 利用及回應時間分配,而該對次類別包含根據本發明的若 干動態變化時間函數; 圖3Απ出本發明的排程機制之基本作業,而係在一電腦 的作業系統内支援該機制; 圖3Β亦出:當以作業系統的附屬部分之方式支援排程機 制時,該機制之基本作業; 圖4是排程機制的一群組選擇常式之流程圖; 圖5是一類別選擇常式之流程圖; 圖6是一類別更新常式之流程圖; 圖7是一工作進入/返回常式之流程圖; 圖8是一歷史更新常式之流程圖;以及 圖9Α-9Β是根據本發明而將各工作類別排程之使用及回 應模式排程目標圖。 較佳實施例之詳細説明: 根據本..發明,一"類別"("class")通常包含一群要求者 ,這這群要求者相對於系統中的其他要求者類別,具有相 同的效能目標。在某些情形中,一個類別只有一個要求者 。在本文的用法中,經常將要求者(reqUester)稱爲一 •,工
五、發明説明( 經濟部中央標隼局員工消費合作社印製 Γ=工作是在一特定排程期間競爭, 的作業要求。換言之,在_ 平一資源使用權 作類似於-個要求者。因此,每— 无的環境中’ -個工 使用或"佔有”資源的若干工作。工作類別"通常有想要 使用者之組合可將工作指定給—個::二::者、或系統與 系統或使用者可指定工作類別。在本文:類:;。同樣地, 工:類別T_class")可包含一個或多個用:中”’ -『 在一代表性實施例中,該資源是— 。 處理器。如我們所習知的,處理器在每^腦系統之-0 益在每一早位時間中有數 有艮的计算週期。許多不同的工作”類 處理器。決針對各種要求類別 :=用- 町夂I态的使用順序排程 =一㈣,本發明之解決方式爲:使處理器得到最有效 。的使用’但仍然完成一組系統層級及(或)使用者層級的 資源利用目標。 根據本發明,使用目標通常有兩種類型:使用及回應模 式。如將於下文中説明的,且我們將可了解的,本發明的’ 統一及整合方法並不偏好使用模式或回應模式,本方法被 設計成完全利用每一模式及這些模式的任何所需組合在功 此上的優點。所得到的結果是一種非常可靠的排程機制, 可以有助於以相當"精細"之方式控制資源排程。在"使用" 模式中,’係根據陣對各工作類別(或次類別)界定的—比例 利用(或使用)目標,而將資源按照比例分配給該等工作類 別或一组工作類別(在一多層級實施例)。在本發明的較佳 實施例中,如我們將可了解的,比例性分配也係基於每一 請 先 閲 讀 背 面 之 注 意 項 再 填 % 本 頁 裝 訂 線 -10 - 本紙張尺度適用中國國家標準(CMS ) A4規格(210X297公釐) 經濟部中央標準局員工消費合作社印裝 五、發明説明(8 工作類別(或工作翻K丨丨& &喊Λ.、, 頸別的子群組)對資源的累積使用率(以基 於歷史的平均使用牵々古干V 乂卷 工作類別的單層級音姑如士 t ^ 01 及貫施例中’例如,類別1可接收60%的 資源,而 '類別2則接收了 4〇 % J 4 υ %的資源。在"回應"模式中, 係將資源分配给各工作顏則十 合工作颌別或一組工作類別(在多層級實 施例)以便滿足爲這些類別而界定的一比例性回應時 間目標,或將這些類別的回應時間的—函數之加權總和儘 量減d目此’例如’該目標可指定將類別}、2'及3的 平均回應時間保持在3:2:1的比率(或在可能的範圍内儘量 接近該比率)。一使用者、'系統操作員、或某一其他裝 置(人爲或自冑的裝置)可設定特定的比例利用目標或比例( 或加權總和)回應時間目標。 可在一·電腦或電腦系統中實施本發明,但這並不是一個 必要條件。下文中將舉例説明如何利用使用及回應模式之 一代表性實例。 在使用模式中,一電腦系統通常有一個具有某—批次處. 理工作的工作之主要核心,而係在該主要核心周圍執行該 批次處理工作。經常發生的問題爲:核心工作使批次工作 知不到充分的資源,這種情形並不是我們所樂見的。因此 ’我們可能想要確保該批次工作至少得到2 〇 %的資源。另 一個例子是:有兩個部門共用電腦,而想要以一種非均等 且可控制之方式將資源按照比例分配給這兩個部門。在回 應模式中’在各種電腦系統(例如交易處理系統)中,控制 一组工作類別之間回應時間的平均値及變異數,通常是重 ^ ^ .1¾------'耵------ii f請先閱讀背面之注意».項再壤寫本頁〕
A7'發明説明 B7 經濟部中央標準局員工消費合作杜印製 在此種情形中,使類別,,Γ,中一工 隨著該工作耗用名签括 f足優先順序" 乍耗用在等候回應的時間之增加而線性捭知、, 、4性函數之斜率取決於激、、 曰。孩 Xl, r . ; , 1,且利用該斜率來控制每_嗜 別仔到的回應時間(可按照絕對的標準或與其 類 •^柑對標準)。 頰別比較 間:數時,可以單一排程機制統一對不同 ::數=用資源時’在該時機與每-類別相關聯 數動,%地決定選擇哪—工作類別進行排程。以最 /性的$法而言’時間函數可以是任何"時間,,的函數, 可利用孩資源及其他資源的任何時間量測基準來評估時間 函數儘(有時將其稱爲丁叫。在較佳實施例的用法(但並 •不限於此種用法)中,係以兩種一般性的方法來量測"時間 例如,時間是要求者(亦即工作)類別使用資源或資源 且的任何里測基準’在此種情形中,時間函數是處於"使 用杈式中:及(或)時間是要求者類別等候資源或資源组 的任何!測基準,在此種情形中,#_函數是處於"使用,, 回應中。在不失掉通用性的情形下,最好是假設:在相同 的狀況下’對工作類別"i"的偏好高於工作類別j,其中i<j •’亦即,當以上兩個工作類別得到一組相同的輸入參數値 時,類別1的時間函數所得到的値大於或等於類別i的時間 函數所彳寸到的値。將工作類別i稱爲一個優先順序比類別j 问的較向類別",相反地,工作類別j是一個優先順序低 於類別i的"較低類別"。 在較佳實施例中,係以階層方式配置各工作類別。圖1 ,(請先閲讀背面之注意事.項再填寫本頁 ---^--- ί ,ιτ 線' )'A4^ ( 210X29^7 經濟部中央標準局員工消费合作社印製 五、發明説明( π出階層架構(10)的—般 ^ , 取a h形。在此實例中,自工作類 別1到K的整個群組被分迠 成N個不同的群組(標示爲1 - N) ,階層中每—群组的 灼 ) T设先順序都高於次一群组中之工 作類別。因此’只有在群組1中沒有可執行的工作存在於 系統中時,才能執行屬於群組2中某—類別之_工作。同 樣地,群組2中工作之絕對優先順序高料組3中之工作, 其他群組依此表性“中,㈣賴高優先 ^序的群‘、.JL (亦即群組丨)中之工作類別來執行優先順序較 高的較低層級系統工作,例如作«統的任務。使用者層 級的任務(例如交易處理)之優先順序較低,因*可將此類 任務放在群组2(或更低的群組)中。可將諸如佔用過多週 期時間的任務(例如系統備份儲存或其他背景作業處理)之 最低優先順序之任務放在最低的群組N。 根據本發明,每一群組具有與其相關聯的一個或多個工 作類別。因此,如圖所示,群組丨具有工作類別丨到乙i, 群組2具有工作類別{ l 1 +1 }到{丄1 +L2 },其他到N的群 組依此類推,其中群組N具有工作類別{ l 1 +L2 +.. .Ln-1 +1}到{ L 1 +·.. Ln}。此外,如圖1所示,可以遞迴方式 將一個特定的工作類別定義到若干次類別,而該等次類別 之層級係視需要而定。因此,工作類別i (不論是選擇回應 或使用模式皆可)可具有與其相關聯的次類別i 1到imi,而 一個特定的次類別ii(不論是選擇回應或使用模式皆可)同 樣可具有與其相關聯的另一組次類別i i 1到ij mj,其他依 此類推。因此,本發明的一項特徵在於得以遞迴方式定義 -13 - 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X29*7公釐) I----------¾衣-------.πι.-----^ I # (請先閲讀背面之注意事項再填寫本頁) . A7 B7 五、發明説明( 11 翅濟部中央榡準局BC工消斧合作,杜印製 每-類別登錄。此種方式之優點在於:可進行更"精細的" 排程控制’以便達到多種使用者/系统效能目標。 圖1亦示出本發明的另-有利特徵。更具體而言,與階 層中每-群組的工作類別相關聯之時間函數可以是"恆定 的"或"動態的’’。因此,在每一群組内,各時基函數界定 了工作類別可使用資源的順序,纟中每一時基函數可以是 怪定的,或是根據某-時間量測基準而動態地變化。當使 用恆定的時基函數時,每—工作類別都有—個不會隨二時 間而變動的時間函數値。當使用動態變化的時基函數時, -工作類別㈣間函數値通常隨著某_時間量測基準而變 化。下文中將詳述此種方式之優點。 此外,有一位元遮罩(1)^ mask)(12)與每一组類別或次 類別或次次類別等(依情形而定)相關聯。每一遮罩包本一 個與-特定類別、次類別、<次次類別(依情形而定”目 聯的位元(一個指定的0或1値)。該位元指示是否各類別 次類別 '或次次類別等是空的而可在處理中將之忽略。 種方式使數個排程常式最佳化,其中情形將於下文中説 之。亦可使用指標陣列作爲位元遮罩的替代方式。_ 雖然圖.1中並未詳細示出,但是係將—工作仵列指定給 -特定工作類別内的每—工作,其中該工作佇列保存了來 自對應類別且正在等候資源取得的一组工作。該佇列的 構可以是任何易用的資料庫,例如一連結表。 、 本發明所述的群組、類別、及次類別之階層代表— 有效的架構,用以编排各工作,使這些工作被排程而 關 此 明 結 種極 得以 .« — — — ———— — — -1 u I '* (請先閱讀背面之注意事.項再填寫本頁〕 訂 A7 B7 五、發明説明(, 12 使用資源,以便達到其效能目標。被授權且負責執行設定 的使用者或系統管理員設定工作類別、這些工作類別的效 能目標、及適當的工作類別階層。利用時間函數的歷史排 程時,除了固定的時間群組以外,各效能目標可以是階層 的及(或)比例使用及回應時間的任何組合。該階層的一特 定例子係示於圖2。我們當了解,圖2所示之階層只是舉例 ’而參照-特定的㈣來制本發明之特徵。不應將本發 明限定爲所示之特定排程目標。 —在圖2中’示出三個工作類別群组A、B、及c。如圖所 示群、·且B中至少某些工作類別(其理由將於下文中説明之 )具有與其相關聯的次類別。群组A中之工作類別具有盥並 相關聯的"怪定"時基函數,這些怪定時基函數將導致二個 固定優先順序的架構,用以區別其中的工作類別。在值定 時間函數的情形下,只有在該群组的第一類別中沒有工作 時三才對該群組内第二類別中之工作排程,只有在該群組 的第〜員別中/又有工作時,才對該群组内第三類別中之工 作排程,其他依此類推。在工作類別群组A内,可以有多 不同#型的任務。因此,例如,有優先順序必須高於所 其他任務的較短’,系統,,任務(在不同的工作類別中之優 身序或許有差異)。首先建構系統的工程師發展出這些 務因而化些任務在定義上及結構上是"較短的系統任 。此外’還有即時的使用者(與系統不同)任務,這些 用者任務通常被排在使用資源的第二順位。根據固 順序㈣,此練務通常㈣在處理過系統任務之
(請先閱讀背面之注意事.項再填寫本頁) -裝. .I I. II . A7五、發明説明( 13 經濟部中央樣準局負工消費合作社印製 後,但通常被排在處理其他使用者任務之前。工作類別群組A又可包含互動性使用者任務,此種任務被界定爲在較顯著的閒置期間之間的小量資源使用者。最好是使這類互 動性任務的料優先順序高於其他的使用者任務(因而可將互動⑨任務放工作類別群組B中,其中情形將於下文中 Λ月之)。恆定時間函數提供的固定優先順序架構可支援不同類型的任務對一電腦&電腦系統資源的這些(及其他 的)排程要求。 μ ,因此’在圖2所示工作類別群組八的環境内,所具有的系 統任務之優先順序高於即時料,而即時任務之優先順序 高於互動性任務,所有這些任務都在同-群組内。在該群 組内使用固定優先順序架構(經由怪定時間函數),以便 安排孩群組内不同類型的任務使用資源之順序。 -個動態變化的時基函數最好是與第二群组”之每一 工作類別相關聯。在所示例子中,類別Β ι到MB都受到 -使用模式目標{40%,2〇%,·.·5%}之節制,且個別類別 B.l、Β .2··.都受到一回應模式目標的節制。因此,Β Μ 2別具回應模式目標{1〇:3: ι},且Η的次類別 具有-回應模式目標{8:4:·.·1}。當然,可個別選擇每一目標(不論是使用或回應模式)的個別參數,且可在需動態調整這些個別參數。此外, . 杰押—认^ A j J册某—系統預設値預參數。於某-時間結束時,利用-適應性回 件發生時進杆參數値(其中包括特定的目標) 调正’其中㈣應性回授機制係利用—基於知識庫的專 請-4, 閔 背 意 事 項 再 填 本 頁 裝 訂 線 本紙張尺度撕} -—-__ 五、發明説明(· Α7 Β7 經 濟 部 中矣. 標 準 Μ 員 工 消 費 合 作 社 印 製 η:由其他習知的技術來動態調整各權値。因此, π 事件”可以是時間的型態,例如到達某一特定 的日期時間;此外,兮吉M u 逆未特疋 到達某… 可以是負載的型態,例如當 丄 ΪΪ的系統使用臨界俊時即設定-個新目標之觸 :二在_層級上實施使用模式且在次類別層級上實施 回應模式的情形只是舉例、 ㈣η β 以所述,在f施例並不偏 =用或,應模式。這兩種模式有相同的可行性,且任何 争又的動怨時間函數都可使用這兩種模式。—般而+ =別:日:.間函數可以具有任何的函數形式。在較佳;施例 ,-各_的時間函數之絕對値是單調非遞減的(意 指時間"t"的時間函數値必然大於或等於時間t,的時間函數 値’其中所有的Γ都大於t),因而(尤其)可看出:最好是 以較佳的先來先服務方式對已取得資源使用權的一特定工 作類別進行工作指定,以便在工作類別内及跨工作類別間 提供可預測的效能。然後可利用任何一般的選擇函數,以 便根據各類別的時間函數M而決定應選擇群組B内的哪一 工作類別…旦選擇了-特定類別之後,即在排程階層的 ΐ適當部分中遞迴地進行評估各類別的時間函數値並根據 這些値而選擇一個類別之程序。 亦如圖2所示’在該代表性實例中,將一個恆定時基函 數指定給每-類別’而將另—固定優先順序架構用於第三 群組G中之各工作類別。該組類別c之(主要)目的係用於 系统層級的背景工作。如果不小心五正確地處理非空的一 本纸張尺度it财目國家標準(CNS ) A4規格(210X 297^57 ---------私衣-- (請先閱讀背面之注意事.項再填寫本頁} ,ιτ ----------- * - I. I 11 15 A7 經濟部中央標準局員工消費合作社印製 e 五、發明説明 .、且C ’則琢組C可能發生得不到資源及其他的系統問題, 因而通常將群組C抑制(將其容量設定爲G),或只有在群組 A或B中其他任務的支持下才使用群组c。群組a及(或)c 可以是空群組。 圖2亦示出:排程機制如何以一種極具一般性及彈性之 万式,在不同的階層層級内或跨不同的階層層級,而支援 使用及回應模式之組合。例如,―使用者或·系統可選擇使 用模式或回應模式。因此,在一單層級實施例中,可設定 一系統値而在使用模式或回應模式之間切換。在一個兩階 層實犯例-中’一系統可利用使用(或回應)模式將要求類別 的資源排私。一旦選擇了某一類別來接收資源之後,然後 可根據回應(或使用)模式而在該類別内選擇一個特定的次 類別。圖2 π出多層級實施例,其中係利用使用模式分配 群組Β中之工作類別,且係利用回應模式分配一工作類別 内的個別次類別。 可使一轉移機制與每—工作類別相關聯。尤其可於一個 類別中义一工作超過一組根據工作對資源的使用而設定的 準則時,將該工作轉移到另一個較低類別。與該工作類別 相關聯的一轉移速率界定了將工作轉移的距離。一工作開 始時被指定的一類別即是該工作的"基礎類別"(”bas class")。在某些情況中,可將—工作類別(及(或)工作)向 階層上方轉移到一個較高類別。將於下文中説明的一個例 子是發生在解決"優先順序顚倒"("pri〇rity inversi〇n") 問題的情形中。 木紙張尺度適用中國國家標準(CNS ) ----------批衣------,玎------^ 一 » (請先閱讀背面之注意事項再填寫本頁) · -18 - 五、發明説明(: 16 A7 B7 經濟部中央標準局員工消費合作社印製 取好疋在群組A中沒有現成的工作時,才考慮到群組b 中之工作類別’且在群組A及B中沒有現成的工作時,才 考慮到群組C。將階層架構與每一類別相關聯的轉移機制 配合使用,其中當一工作超過與該類別相關聯的資源使用 準則時’該轉移機制將該工作轉移到(現有群組之内或之 外的)一個較低類別。因此,在一實施例中,當一工作超 過與其群組A類別相關聯的轉移準則時,使該工作進入群 組B,其原因爲該工作之基礎類別係包含在B中,或者因 爲該工作(終將)被轉移到群组B中的一個工作類別。在此 實施例中*,各工作進入A1C中之類別,這是因爲這些工 作的基礎類別是分別在A&C。此外,一工作在閒置了—段 相當長的時間之後,最好是將該工作送回到其基礎類別。 圖3 A及3B是排程機制在一電腦或電腦系統内作業而將 一資源提供给工作類別内的工作之方塊圖。在此實例中, 資源(14)是系統(4〇)的處理器或其他的處理元件。電腦 統(4〇)包含—個在記憶體(44)中支援的作業系統(42)。 圖3A所示之實施例中,係以一作業系統公用程式之方式^ 施排程機制(46)(有時亦稱爲派遣器)。在圖3B所示實施例 中’排程器是由作業系統執行的-個應用軟體。不論在哪 種6形’排程器包含一個與每—工作類別相關聯的工作 系 在 佇歹j (4 8)排私機制的基本功能在於自工作佇列取得工作 :並將資源提供給這些工作以便執行。如圖3B之實施例所 不’資源可包括-等候仔列(45),用以存放被安排由 來執行的工作。排程機制自各工作侍列取得工作,並將之 中國國家 -— i I 裝 I I 訂 線 J » (請先閲讀背面之注意事項再填寫本頁) A7 B7 17 五、發明説明( 些工作放人等候仵列,以便由資源來執行。圖3靖示之實 施例中並不需要等候佇列。 、 現在將在下列的較佳實施例中説明排程機制的各種作業 邏輯。利料組選擇常式及類別選擇常式(圖4_5)將可用 的資源指定給所選擇的一群組内一個適當的工作類別或次 類別(-工作。在以此種方式自一特定類別選擇—個工作 之後,更新常式(圖6)重新計算該工作類別之動態時間函 數値,以備次一選擇週期的使用。歷史更新(圖8)常式計 算時間函數値,並保存所f的資料,以便確保所有的工作 類別將達,到其效能目標(與更新常式中單—工作類別的作 業万式不同)。工作進入/返回常式(圖7)提供了一個可能 的轉移機制’用以將使用資源超過設定限度的工作轉移到 較低類別。 圖4是群組選擇常式之流程圖。該程序是甩來選擇一個 特定的群組以供執行。該程序開始於步驟(5〇),此時要在 階層中找到第-非空類別。爲達到此一目的’搜尋階層的 位元遮軍,且爲了處理上的效率,不必顧及與遮罩中的 "〇 "登錄相關聯之工作類別。在步驟(52)中,執行一測試 ,以便決定是否已發現了第一非空類別。如果並非如此, 則本常式在步驟(5 4)跳出。如果步驟(5 2)的測試結果是肯 定的,則本常式繼續進入步驟(56),以便測試該工作類別 是否屬於—個具有動態時間函數之群组。如果並非如此, 則該工作類別屬於一個具有恆定時間函數之群組。在第二 種情形中,本常式繼續進入步驟(58),以便自該類別選擇 Μ氏張·尺度適用中國國家標準(CNS ) A4規格(2IOX297公釐 I---------批衣------^111^-----線 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局貝工消費合作社印製 一 20 _ A7 經濟部中央標準局員工消费合作杜印製 _____ _ B7_ 五、發明説明(18 )~~~ ~~~^ • * - ^固工作。該類別中之該工作最好是等候使用資源的時間 最長之工作。本常式然後跳出。如果步驟(5 6)中之測試二 果是肯定的,則本常式繼續進入步驟(6〇),以便呼叫 別選擇常式。 —鎮 類別選擇常式係示於圖5之流程圖。視動態時間函數群 組的需要’該常式係遞迴地應用於該階層。因爲每—工作 類別或次類別的時間函數値隨著時間及不同的比率而改變 ,所以類別選擇常式在決定選擇之前,先比較—群組内所 有非空淨別的所有時間函數値。本常式開始於步驟(6 2), 此時設定> 各暫時性變數之起始値:將"save_TF_value„ 設定爲TF[I]値,將"save — ciass 一 in(jex"設定爲I値,並 知current 一 class — index設定爲I値。在步驟(64)中,遞 增current_class_index。本常式然後繼續進入步驟(66) ,以便測試是否已評估了所有的類別。如果並非如此,則 在步驟(6 8)中執行一測試,以便決定 current_c las s_ index的類別是否爲空的(如前文所述, 可利用位元遮罩執行該步驟)^如果步驟(68)的測試結果 是肯定的,則本常式回到步驟(64),並遞增 current_class_index。然而,如果步驟(68)的測試結果 是否定的,則在步驟(70)執行一測試,以便決定 TF[current_class_index]是否小於 save_TF_value。如果步 驟(70)的測試結果是否定的,則本常式回到步驟(64),並 遞增current_class_index。然而,如果步驟(70)的測試 結果是肯定的,則本常式繼續進入步驟(72),益設定 —------- 21 -_ —__—____ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事.項再填寫本頁) .裝. 、νβ 線 A7 五、發明説明( B7 19 經濟部中央標準局員工消費合作社印製 save_TF_value - Tcr -TF[cUrrent_class index]及 save_class indPY — 一 ~ - ex = eunent — class一index,然後回到 .匕驟(64)。此外,如果步驟(66)的測試結果是肯定的,而 指不已檢查了所有的類別,則本常式分支到步驟(74),以 便自save一ciass_index的工作類別選擇—工作。在步驟 (76)中’然後執行—測試,以便決定所選擇的工作類別是 否與回應模式目標相關聯。如果並非如此,則本常式在步 驟(7 8)跳出。然而’如果該工作類別係與回應模式相關聯 ,則在步驟(8 0)中呼叫一類別更新常式。 類別更新常式係示於圖6。該常式"準備"一個將於次一 反覆中被選擇的類別中之次—工作。在使用模式的環境中 ,在將(剛剛完成執行的工作的)資源使用率加到該工作的 -累積使用率之後,即達到步驟(8Q)。請㈣圖6之流程 圖,本常式開始於步驟(82),此時測試相關的類別是否在 使用模式。如果確係如此,則本常式繼續進入步驟(84), 以便以最後一個類別i的資源使用率來更新累積使用率, 並利用下式(方程式(l))WTF[i]設定爲一個新的値: 時間函數値-函數(累積使用率,權値)其中該工作類別 的權値是特定使用時間目標之一參數値。上述函數確保: 每一工作類別和取彳寸其對資源使用率的適當配額,而使用 率係以不同的速率累積。在步驟(84)之後,本常式終止。 如果步驟(8 2)的測試結果是否定的,則本常式繼續進入步 驟(8 8)’以便利用下列方程式(2)來設定類別i的執行佇列 中次一工作之TF[I]: 22 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) I ^Ί裝------訂-------線 (請先閱讀背面之注意Ϋ.項再填寫本頁) · A7 五、發明説明(2〇 ) 時間函數俊=函數(等候時間,權値)其中該等候時間反 映了該工作類別等候資源有多久,而該工作類別的權値是 由回應時間目標決定的_個參數。在步驟(88)之後,本常 式跳出。 圖7不出一工作進入/返回常式,該常式係用來於開始 時2在經過資源執行之後將一特定工作放入一工作佇列。 本常式開始於步驟(9G),此時決hlass —㈤叫工作之 閒置時間是否大於某—預定的閒置界限。如果確係如此, 則在步驟(92)中將class_index設定爲等於base_ciass。 然後在步驟(94)中將該工作放在class — index的工作佇列 中 茱步驟(.9 〇)的測試結果是否定的’則本常式繼續在 步驟(96)中測試’以便決定工作的累積資源使用率是否大 於一個針對該類別的工作而設定的界限。如果並非如此, 則本常式分支到步驟(94)。然而,如果步驟(96)的測試結 果是肯定的,則本常式繼續進入步驟(98),且設定 class_jndex等於一個目標轉移類別。本常式然後如前文 經濟部中央標準局員工消费合作社印製 所述而繼續進入步驟(94)。步驟(92)及(98)因而執行跨階 層的工作轉移。 圖8示出—歷史更新常式,該常式將重新計算具有一動 態時間函數的每一工作類別之時間函數値。該常式開始於 步躁(1 0 0)。於步骤(1 〇 2)中,執行一測試,以便決定類別 i疋否與使用模式相關聯。如果確係如此,則本常式繼續 進入步躁(104),以便(在必要時)將一老化函數應用在類 別1之累積使用率。本常式然後跳出。老化架構的一個例 本紙張从適用中關家標準(CNS )八4規格(21GX297公瘦) B7 五、發明説明(21 諳 先 閱 讀 背 έ 意 辜. 再 填 !裝 頁 例子是將TF⑴乘以—個(小^叫常數。該老化函數有數 個優點。如果-工作類別在某—段時間(例如前以個小時) 中不曾使用資源,則該工作可獨占資源,以便補償"失落 的’’時間。該老化函數可避免此種偏差。 訂 此外,如果步驟(1〇2)的測試結果是否定的,則回應模 式仍是有效的。然後本常式繼續進入步驟(1〇6),利用前 文所述之方程式(2)來更新TF[i],且本常式終止。在本常 式終止時,回應模式中所有的工作類別將針對一個新的排 程時點(因而針對新的等候時間)重新計算其時間函數値。 可在每一選擇週期中使用該歷史更新常式。然而,係在一 個可由使用者/系統界定的固定時間間隔上使用該常式。 爲了顧及效率,最好是使用第二種方式。 線 經濟部中央椋準局員工消費合作社印製 我們田了解,當排私器在使用模式中作業(以便根據使 用時間目標而分配)時,將執行方程式(1);當排程器在回 應模式中作業(以便根據回應目標而分配)時,將執行方程 式(2)。在任何特定的層級内(不論是類別、次類別、次次 類別等皆可),最好是只實施一種模式類型。在使用模式 中,每一類別中所有的工作最好是以累積使用率來決定該 類別的時間函數値。在回應模式中,最好是以類別中最老 的工作之等候時間來決定時間函數値。請注意,"最老的·, 工作之使用係直接遵循單調非遞減回應模式之使用。如果 時間函數並不是非遞減函數,則在評估類別中所有的工作 之後,每一類別的時間函數値可基於最高時間函數値。所 有此類變化都是在本發明的範圍内。 -24 - 本紙張尺度適用Τ阁囤豕褡準(CNS ) Α4規格(210X297公楚) A7五、發明説明 經濟部中央標準局員工消費合作社印袋 我們當了解,在使用模式 値,JL隨著相而"遞增,,。排 的相函教€都是正 以便符合特定的使用 :,lJ因而檢查,•最小,,値, 作類別的、上",Π 用資源時,㈣在該工 。在回應模式中,^間函^曲線向前移動 排程通常是基於”最高"儘(亦即最 l加而増加,且 選擇。馬了統—方法的緣故,本發明處理且 = 回應模式時間函數値(其中 、椒1~的 重普μ , Τ㈣將於下又中説明之),因而 田’ °同在使用模式的情形而選擇"最小"値。因而 提供了一種"統—"方法及處恕 或回應模h 處理术構,而不論涉及使用模式 因此,在使用模式中’排程器檢查最小値,該最小値識 別此時與其他類別相比離比例利用目標最遠的類別。在回 應模式中’排程器檢查群組的所有工作中最大的時間函數 値;然而,在非遞減函數的情形下’此種方式簡化了在每 一類別的最老工作中尋找最大的時間函數値。 卞文中將説明在使用模式時間函數及回應模式時間函數 下的代表牲排程實例,以便説明這些觀念。現在考慮下列 情形:有一對工作類別(或次類別、或次次類別等)A及b ,根據一個使用模式目標{80 :20}(亦即,當這兩個工作 都出現時’在一特定的時段内,類別A將接收8 0 %的資源 ,而類別B將接收2 0 %的資源)而將該對工作類別A及B排 程。在該目標下,類別A的使用模式時間函數之一代表性” .權値"(如前文中參照方程式(1)所述的)是對應於類別B使 ..---辦衣---- 讀背面之注意事-項再—、) 訂 m I- - -I . 線.. 25 本紙張尺度適用中國國家標隼(CNS ) A4規格(2丨0X297公釐) 五 、發明説明( 23 A7 B7 經濟部中央標準局員工消費合作杜印製 用=切間函數的—代表性„權値,,{1/2}或(1}的{1/8}或 }:爲了便於説明此簡單的例子,假設:兩個類別在 開七時的累積使用率都是0’兩個類別的工作传列都包本 岭多^作,且所有工作的處理要求是】個單位。根據本發 明(較佳作業,每當作一排程決定時,都必然選擇且有" 最小"時間函數値之工作類別。因此,當可使用資源時, 排程益將自類別A選擇第一工作以供處理,這是因爲在兩 個類別的累積使用率相同時,最好是選擇較高的類別作爲 仲裁得勝者。於完成該工作時’類別A的時間函數俊將被 更新成1/4(亦即〇加上!單位乘以1/4)。次一排程決定將自 a别=選擇第一工作以供處理,這是因爲類別b的時間函 數値是0。於完成該工作時,類別B的時間函數値將被更 新成1(亦即0加上丨單位乘以1}。以此種方式繼續時,其次 四個排程決定將自類別A選擇—工作(這是因爲類別A赢得 仲裁的勝利)’因而產生類別A的時間函數値爲1 25(〇. 2 $ 加上4單位乘以1/4)。次一排程決定將自類別B選足—個工 作·,因而得到的一個時間函數値爲2(1加上丨單位乘以丨)。 只要這兩彳_別的I作㈣中還有工作,則將繼續上述程 序,並更新時間函數値的歷史資料。此種作業的圖形係示 於圖9 A。 在回應模式時間函數下的一個代表性實例中,考慮下列 子月形·有二個工作類別(或次類別、次次類別等)A、B ' c ,在回應模式目標爲{4:2.:1}的情形下,根據隨著類別中 一工作耗用在等候資源的時間長度而成線性變化的各類別 (請先閲讀背面之注意事項再填寫本$) 111 t I In. · ^----- 1T線.-------- 本紙張尺度適用楚 五 、發明説明( 24 A7 B7 別之工 時間函數只是該工作的類
請 I 先I 閱 I 讀 | I 面 j 之I 注I 意-事I 項 I I _ I Ή 發 本衣 I I 訂 線 収㈣"細該X作㈣在工作㈣中㈣的時間長度 ,而將這三個工作類別排程。爲了便於説明一簡單實例 ,假設:每—工作類別有單一工作,該單一工作在接受工 ::理之後立即回到其工作㈣,且所有工作的等候 …在Θ始時都是0。爲了與作爲選擇函數的最小値算符 :致,我們考慮類別A:B:C的權值爲,以便 説明此簡單的實例。因爲各時間函數値在開始時都是〇(由 於〇等候時間),所以排程器將首先自類別A選擇工作以供 處理’ 11是因爲在時間函數僅相同的情形中最好是選擇較 高類別。在時間!完成工作時,類別A、B、及c的時間函 數値分別等於〇' _2、及]。因爲類別2的時間函數値現在 ,最小的,所以將因而選擇類的工作,並於時間2完成 該工作時,類別A、B、及c的時間函數値分別等κ 〇 '及-2 °然後選擇類別八中之工作,且於時間3完成該工 作時,各類別的時間函數値是〇、_2、及-3。因而在次— 週期將選擇類別3中之工作,而於時間4 $成該工作時, 經濟部中央標準局員工消費合作杜印製 使各時間-函數値爲_4、_4、及〇。在此簡單實例中以此種 方式繼續排程器的作業。此作業之圖形係示於圖9B。 在較佳實施例中,各工作類別的比例時間函數値(亦即 使用或回應模式的目標參數)是可調整的。因此,例如, 利用一個使各値隨著改變的狀況而"調整,,的適應性回授機 制,即可調整各値的向量^當總系統使用率達到一特定値 (例如1 00 %)時,將隨即執行一組"系統預設的,,値;當總 本紙張尺度剌中國國家鮮(CNsTX^: -27 (210X297公釐) 25 五、發明説明( 系統使用率降低到一個第_ 新的値;其他總系統使用’將執行4 生-個特定事件或到了 4=:此類推…卜,當發 別的値…根據採用—專家亦可改變各工作類 値最佳化或作其他的調整。另一知識庫’而將這些 定工作組合料修改料値it魏例是在出現一特 所有此類變化仍係在本發明 如可文所述’本發明除了利用使用率、1作組合等的改 .交而適應性地調整各時間函數(或時間函數參數)之外,又 :貫施其他的適應性回授機制。因此,t資⑽用率_ 系統官理男及(或)使用者所指定的界限時,將工作自階層 中的一個類別轉移到另-類別之方式是另-種此種適應: 心機制U此類回授機制涉及於某—段預定時間中 並未使用資源時則回到該工作之基礎類別。另—種適庫性 回授機制解決了”優先順序顚倒”的問題。 “ 更具體而言,優先順序顚倒之情況如下:一個高時間函 數値的要求者被禁止使用現有的㈣,因爲該時間函數値 的要求者洞時也是被-低時間函數值的要求者佔用的另一 高度競用的Μ之要求者。由於該低時間函數値的要求者 使該該高_函數値的要求者無法制其效能目標,所以 可能造成一個嚴重的問題。利用本發明之架構即可解決此 一問題’其方式爲在佔用另-高度競用的資源之持續時間 中,可將該低時間函數値的要求者放在該高時間函數値的 類別中,在佔用另一咼度競用的資源的這段時間之後,該 - ·夕只 本紙張尺度翻中關家標準(CNS ) A4«^71TGx297^y~ 請 先 閱 讀 背 之 注 意 事 項 再 i 經濟部中央標準局員工消費合作衽印製 A7五、 發明説明(26 ) B7 低時間函數値的要求者 ,θ j丹原始的工作類別。此種方 ----—--------扣衣__ * · (請先閲讀背面之注意事.項再填寫本頁) 八疋一種適應性回授機制。
、1T 在此種機制的—具體實例中,假設有兩個資源:-CPU 及-邏輯鎖。係利用時間函數機制來將CPU的使用排程。 工作A是在一個比例使用率高於工❹的類別之工作類,! 中,。假設工作B佔用該邏輯鎖,但是該工作之時間函數値 小於系統中許多其他的工作。工作八具有一個較工作B更 易於取得cpu使用權的時間函數,但是工作a被禁止使用 CPU,因爲工料佔用了邏輯鎖。根據本發明,在工作B 釋出邏輯鎖且讓工作A可使用邏輯鎖之前,工作B繼承了 工作A的時間函數,而得以使用cpu。在工作6被轉移到 其他類別之前,又回到了其原先所在的工作類別。習知的 排程機制無法解決此種特定方式中優先順序顚倒問題。
最好是在一電腦上執行本發明之排程器,此種電腦的例 子有:執行AIX作業系統的IBM RISC 線 經濟部中央標準局員工消費合作社印裝 腦(一種採用RIS C (精簡指令集)處理器的工作站)、或執行 Wrndows NT或〇S/2(R)作業系統的採sIntel處理器 之電腦。該電腦包含一個用來管理及管制之圖形使用者介 面(Graphical User Interface ;簡稱 gui)。在諸如 "RISC System/6000, 7013 and 7016 POWERstation and POWERserver Hardware Technical Reference" (Order No. SA2 3-2644-00)等IBM股份有限公司的許多出版物中説明 了採用RIS C處理器的各型電腦。a IX作業系統係述於 IBM股份有限公司於1985年十一月出版的"Αΐχ 〇perating -29 - 本紙張尺度適用中國國家標準(CNS ) A4C格(210x297公釐) B7 五、發明説明(27 )
System Technical Reference, First Edition "、及其他的出瓶 物。雖然上述平台具有實用性,但是亦可使用任何其他適 用的硬體/作業系統組合。因此,例如,適用的替代系統 包括:執行 Novell UnixWare 2.0 的 IBM 相容 PC 486 或更高的等級、執行AT&TUNIX SVR4 MP-RAS2.02版 或更新版的AT&T 3000、執行DG/UX 5.4R3.00版會更 新版的 Data General AVii0N 系列、執行 υρ/υχ 9〇〇 版到 HP/UX 9.05 版的 HP 9000/7 00 及 8〇〇、執行 SVR4 H40V4.2 版的 Motorola 88K 系列、執行 S〇lariS2.3 或 2.4 的 Sun SPARC 系列、及執RSun〇s 4.1 · 2 或 4.1 · 3 的 S u n S P A R C 系列。 經濟部中央標準局員工消費合作.杜印製 本發明的一個較佳實施例即是一作業系統公用程式,亦 即一程式碼模組中一一組指令(程式碼),該程式碼模組可 =如常駐於電腦的隨機存取記憶體中。在電腦需要用到之 則,可將茲組指令儲存在諸如硬碟機'光碟(最终將用於 光碟機中)或軟性磁碟(最終將用於軟碟機中)等抽換式記憶 裝置,或者經由網際網路或其他電腦網路下載該组指^ 了 可將本發明貫施爲一電腦程式產品,以便用於一電 知。此外’雖‘然可在經選擇性啓動或以软體重新設定組態 的通用型電腦中方便地實施前述的各種方法,但是對本 3=有—Ϊ知識者#可了解,可在硬體、《、或被 。 仃所需万法步驟的更專業化裝置中實施此類方法 _然在本文的用法中,術語,·資源"係與-處理器相關聯 A7 B7 五、發明説明( 28 經濟部中央樣舉局—消費合作社印製 ::是我們當了解,應廣義解釋該術語,以便涵蓋-電腦 η 统的任何實體或邏辑裝置或组件(不論是硬體、 ^古或硬體及軟體的某—组合),其中該電腦或電腦系 、=、有可以某-料速率耗用的某—有限容量。因此,在 >:的用法中,資源"可意指:_處理器(該處理器係在 母秒η個週期的頻率下作業)、—記憶體(可以每秒η個位元 〈速率存取該記憶體)、—通訊鏈路(可分配給該通訊鍵路 的容量係隨著尺寸及時間而變)、―資料庫、及—邏輯鎖 等。此外,對本門技術具有—般知識者當可了解,亦可在 任何類型.的電腦系統環境中實施本發明,這些電腦系統環 境包括·早處理器系統、設有—群緊密鶴合式處理器之系 、.充或者可在鬆脱耦合式電腦叢集構成的網路環境中實 犯本發明。此外’術语"工作’I並非將本發明限於任何特定 的作業系統或環境。"工作"("j0b")類似於或等於,,任務 "("task"、程序(process)、執行绪(executi〇nthread) '要求者(requester)、或以更—般性的説法爲耗用資源 的#何”單位"或工作。 本發明顯然優於習用技術。f知的資源排程機制無法提 供可同時實施使用及回應模式的整合式架構。縱使論及各 別的模式,此類習知的架構也無法提供前文所述動態時基 函數方法所能提供的控制層級。此外,本發明之優點在於 利用了工作類別"階層"的觀念,其中在某一層級中‘,在實 體上將各工作類別分成絕對優先順序互有高低的若干群組 ,而在另一層級中,在邏輯上將個別的類別分成遞迴式次 本紙银尺度適用t國國家標準(CNS ) A4规格(2丨0X297公釐) ----裝-- ·** (請先閱讀背面之注意事¾'再填寫本頁) 1T線----------- ij n · ’· I 五、發明説明(29 經濟部中央標準局員工消費合作社印製 類別陣列。同樣地,可在邏輯上將各次類別分成更精細的 程度。如前文所述,可利用適應性回授機制以動態方式向 階層上方或下方修改時間函數値。 本發明的上述這些及其他的特徵可使本發明之整合方法 得以在一個新的架構内解決習知的排程問題。舉例而言, 一個習知的此類問題爲"優先順序顚倒,,。 、.Ό而„,本發明在單一架構内提供了按照比例分配的 資源利用(使用模式)及按照比例分配的資源回應時間(回應 模式)。該排程機制之優點在於:在按照比例分配的資源 利用類別中提供了按照比例分配的資源回應時間,或在按 照比例分配的資源回應時間類別中提供了按照比例分配 資源利用。因此,例如,在使用模式的情形中,多個一 類別容許有按照使用者或系統指定的比率之資源使用I 二例如這些不同的比率加起來等於刚% 0依照使用者指 定的比率刀配個類別所享有的未使用週期。在回應模式 的清开/ t夕個工作類別設有資源回應延遲時間,以便獲 致使用者或系統指定的一般目標函數,例如將各類別的回 應時間函教之加權總和儘量減小,或者以預定的比率獲致 平均回應延遲時間。佑昭你^ — …、使用者扣疋的比率分配一類別所 享有的未使用週期β 本發月I排私機制可以用具有—般性、彈性、及適應性 之万式有效地控制資源的分配。此外,回應系統工作負荷 的改;,而利用各種機制動態地調整各類別的時間函數, 使所而的使用者或系統目桿得 β知仔以待續元成。同樣地,於不 的 工作 間 I---------种衣------ir------0 * « (請先閱讀背面之注意事項再填寫本頁)
呷間函數 -^ A, . 0a 卜休用各組不同的_ 對應的時間間隔中 呼 至此已説明了本:需的排程目標。 保障的部分係心1 ’我㈣認爲創新且需要專利證4 以於下列的申請專利範圍。 ------Γ--Ί^. I- (請先閱讀背面之注意事項再填寫本頁) 、1Τ 線 經濟部中央標準局員工消費合作社印製 本紙張尺度適用中國國家標隼(CNS ) Α4規格(.2!0Χ297公釐)
Claims (1)
- 8 8 8s ABCD 經濟部中央標準局員工消費合作社印製 種::由一電腦系統中的一資源執行的工之方 击,包含下列各步驟: 將各工作組織成— A, 成個包含若干工作類別群组之階層, 其中至少一個群组 _ .. 、 9工作類別包含至少一個工作類別, 孩工作類別具有—組與其相.關聯的次類別; 據使用目‘,將該資源按照比例分配給該階層;'根據回應目標,將該資源按照比例分配给該階層; 以及 將各工作類別排程以供執行,以便滿足—個自其中 —使用目標、回應時間目標、及使用與回應時間目標 ’且合之目標群中選擇的目標。 :據申睛專利範圍第i項之方法’其中該使用目標將該 '源按照比例分配給—特^群组内的各工作類別。 1據申請專利範圍第2項之方法,其中該回應目標將該 :源按照比例分配给該特定群组内各工作類別中的一特 定工作類別内之各次類別。 、據申印專利範圍第1項之方法,其中該回應目標將該 資源按照比例分配给一特定群組内的各工作類別0 5.根據中請專利範圍第4項之方法,纟中該使用目標將該 2源按照比例分配給該特定群組内各工作類別中的 义工作類別内之各次類別。 6’根據申請專利範圍第1項之方法,其中至少一個第 、'、的工作類別之優先順序高於一第二群組的工作類 優先順序。 — 包 特 群 別之 ---------裝丨--:---^訂L-----線 •· (請先閱讀背面之注意事項再填窝本頁) . -34 - 本^張尺中国國家標準(CNS ) A4· ( 21GX297公釐>ABCD 經濟部十央標隼局員工消費合作社印製 U申請專利範圍第6項之方法,其中該第—群組的工 =包含—些其中包括短系統任務、互動性任務、及 有即時限制的工作之工作類別。 8. :艮據申請專利範圍第7項之方法,其中該第一群組中之 每-工作類別都與一恆定時間函數相關聯。 9. 根據申請專利範圍第7項之方法,其中該第二群组工作 類別中(每—工作類別都與一動態時間函數相關聯。 10. 根射請專利_第丨項之方法,又包含下列步驟: 修改該回應時間目標。 11·根據中請專利_第!㈣之方法,其巾料隸地調整 與-個或多個工作類別相關聯之時間函數値,而修改該 回應時間目標。 .12.根據巾請專㈣圍第丨項之方法,又包含下列步聲♦· 修改該使用時.間目標。 .根據申請專利範圍第12項之方法,其中係適應性地調整 與-個或多個X作類別相關聯之時間函數値,而修改該 使用時間目標。 14. 根據中請專·圍第β之方法,又包竹列步黎: 在一群組的各工作類別之間轉換一工作。 15. 根據申請專利範圍第η項之方法,又包含下列步驟: 如果該工作在-段特定時間内並未使用該資源,則將 該工作送回到一原始工作類別。 16. —種將待由一電腦系統中的一處理器執行的工作排程之 方法,包含下列各步驟:t-- -b (請先閱讀背面之注意事項再填寫本頁) 訂 35 ^—n t—^— , I長 氏 -# 本 ABCD 經濟部中央標準局員工消費合作社印製 六、申請專利範圍 ;. » , 將各工作組織成一個包含若干工作類別群組之階層, 其中至少一個工作類別具有一組與其相關聯的次類別; 根據一使用目標,將該處理器按照比例分配給該階層; 根據一回應目標,將該處理器按照比例分配给該階層 ;以及 · t將各工作類別排程以供執行,以便滿足一個自其中包 含使用目標、回應時間目標、及使用與回應時間目標的 一組合之目標群中選擇的目標。 I7·根據申.請專利範圍第1 6項之方法,其中該使用目標將該 處理器按照比例分配給各工作類別。 18_根據申請專利範圍第1 7項之方法,其中該回應目標將該 處理器按照比例分配給一特定工作類別内的各次類別。 19. 根據申請專利範圍第16項之方法,其中該回應目標將該 處理器按照比例分配給各工作類別。 20. 根據申請專利範圍第19項之方法,其中該使用目標將該 處理器按照比例分配給一特定工作類別内的各次類別。 21. 根據申請專利範圍第丨6項之方法,又包含下列步驟: 動態調整該回應目標。 22. 根據申請專利範圍第1 6項之方法,又包含下列步驟: 動態調整該使用目標。 23. 根據申請專利範圍第16項之方法,又包含下列步驟: 在各工作類別之間選擇性地轉換一工作。 24·根據申請專利範圍第2 3項之方法,又包含下列步驟: 如果該工作在一段特定時間内並未使用該處理器,則 "36 - 本紙張尺度適用中國國袁標準(CNS) A4· Q x 297公缝) ---------裝丨、—:—^訂丨·-----線 *· (請先閲讀背面之注意寧項再填寫本頁)申請專利範圍 送回到一原始工作類別。 將該工作選擇性地 25·~種電腦,包含: 處理器; 一作業系統;以及 :個由該作業系统執行之排程器,用以將待由該處理 器執行的工作排程’該排程器包含: 组織裝置,用以將各工作組織成一個包含若干工作類 〗之1¾層’其中至少—個群组的工作類別包含至少—個 乍y員别❼工作類別具有一組與其相關聯的次類別; 根據使用目‘而將該處理器按照比例分配給該階層 之裝置; 根據一回應目標而將該處理器按照比例分配給該階層 之裝置;以及 工作排程裝置,用以將各工作類別排程以供執行,而 滿足該使用及回應時間目標。 26. —種在一電腦可讀取媒體中之電腦程式產品,包含: .組織裝置,用以將各工作组織成一個包含若干工作類 別之階層,其中至少一個群組的工作類別包含至少一個 工作類別,而該工作類別具有一組與其相關聯的次類別; 根據一使用目標而將該處理器按照比例分配給該階層 之裝置; 根據一回應目標而將該處理器按照比例分配給該階層 之裝置;以及 工作排程裝置,用以將各工作類別排程以供執行,而 37 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) I I n I I I , I n n n n n 線 '* (請先閲讀背面之注^^項再填寫本頁) 經濟部中央標準局員工消費合作社印製 六、申請專利範圍 滿足該使用及回應時間目標。 27.—種將待由—雷H«< $ & 田书知系統中的一資源執行的工 法,包含下列各步驟: 叼工作排馱(万 根據-回應模式目標,將 工作類別,:&由直 τ炊·、、、比例分配给一组 ’ 、每一工作類別具有一個與並相關Μ „ 調非遞增時間函數値;以及 …相關聯的早 將各工作類別排程以供執 標。 以便滿足該回應模式目 28. 根據申請專利範圍第27 一徊罢水& ^ 肀係由工作類別中 -個取老的工作之—等候時間決定每—工作類別 函數値、,㈣在每-排程時機,選擇—個具有最小時^ 函數値<特定工作類別,而將各工作類別排程。 29, 種將待由-電腦系統中的一資源執行的工作排程 法,包含下列各步驟: 根據一使用模式目標,將該資源按照比例分配给—组 工作類別,其中每-工作類別具有—個與其相關聯的單. 調非遞減時間函數値;以及 4濟部中央標準局爲工消費合作社印製 將各工作類別排程以供執行,以便滿足該使用楔 標。 ^ 30.根據申請專利範圍第29項之方法,其中係由工作類別中 所有的工作之一累積使用率決定每一工作類別之時間函 數値,且係在每一排程時機,選擇一個具有最小時間函 數値之特定工作類別’而將各工作類別排程。 31.—種將待由一電腦系統中的一資源執行的工作排程之方 -38 -本紙張度適用中國國家標準(CNS ) A4規格(2丨0X297公餐 經 濟 部 中 央 標 準 Mi 負 X. 消 費 合 作 社 印 製 A8 B8 C8 D8 、申請專利範圍 i 法’包含下列各步驟: 根據一回應模式目標,將該資源按照比例分配给—組 工作類別,其中每一工作類別具有一個與其相關聯的單 調非遞增時間函數値; 根據一使用模式目標’將該資源按照比例分配给—组 工作類別,其中每一工作類別具有一個與其相關聯的單 調非遞減時間函數値;以及 將各工作類別排程以供執行,以便滿足該回應模式目 標、該使用模式目標、或該回應模式與使用模式目標之 一組合。 32. 根據申請專利範圍第3丨項之方法,其中係由工作類別中 一個最老的工作之一等候時間決定與該回應模式目標相 關聯的每一工作類別之時間函數値,且係在每—排程時 機,選擇一個具有最小時間函數値之特定工作類別,而 將各工作類別排程。 33. 根據申請專利範圍第3丨項之方法,其中係由工作類別中 所有的工作之一累積使用率決定與該使用模式目標相關 聯的每二工作類別之時間函數値,且係在每一排程時機 ,選擇一個具有最小時間函數値之特定工作類別,而將 各工作類別排程。 本紙張尺錢财國準(CNi) A4祕( ---------^--^----------線 * %, (請先閏讀背面之注項再填寫本頁) ~ 39 -
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/862,044 US6263359B1 (en) | 1997-05-22 | 1997-05-22 | Computer resource proportional utilization and response time scheduling |
Publications (1)
Publication Number | Publication Date |
---|---|
TW396313B true TW396313B (en) | 2000-07-01 |
Family
ID=25337490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW087102570A TW396313B (en) | 1997-05-22 | 1998-02-23 | Computer resource proportional utilization and response time scheduling |
Country Status (6)
Country | Link |
---|---|
US (1) | US6263359B1 (zh) |
EP (1) | EP0880095B1 (zh) |
KR (1) | KR19980086596A (zh) |
DE (1) | DE69835121T2 (zh) |
IL (1) | IL123700A (zh) |
TW (1) | TW396313B (zh) |
Families Citing this family (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104802A (en) | 1997-02-10 | 2000-08-15 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
US6480600B1 (en) | 1997-02-10 | 2002-11-12 | Genesys Telecommunications Laboratories, Inc. | Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality |
US7031442B1 (en) | 1997-02-10 | 2006-04-18 | Genesys Telecommunications Laboratories, Inc. | Methods and apparatus for personal routing in computer-simulated telephony |
US20010040887A1 (en) * | 1997-10-09 | 2001-11-15 | Yuri Shtivelman | Apparatus and methods enhancing call routing to and within call-centers |
US6985943B2 (en) | 1998-09-11 | 2006-01-10 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US6711611B2 (en) | 1998-09-11 | 2004-03-23 | Genesis Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
USRE46528E1 (en) | 1997-11-14 | 2017-08-29 | Genesys Telecommunications Laboratories, Inc. | Implementation of call-center outbound dialing capability at a telephony network level |
US7907598B2 (en) | 1998-02-17 | 2011-03-15 | Genesys Telecommunication Laboratories, Inc. | Method for implementing and executing communication center routing strategies represented in extensible markup language |
US6332154B2 (en) | 1998-09-11 | 2001-12-18 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface |
GB2337406B (en) * | 1998-05-11 | 2003-05-14 | Fujitsu Ltd | Scheduling circuitry and methods |
US7526767B1 (en) | 1998-08-28 | 2009-04-28 | Oracle International Corporation | Methods for automatic group switching according to a resource plan |
US7451448B1 (en) * | 1998-08-28 | 2008-11-11 | Oracle International Corporation | Methods for selectively quiescing a computer system |
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 |
USRE46153E1 (en) | 1998-09-11 | 2016-09-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment |
JP3537356B2 (ja) * | 1998-12-09 | 2004-06-14 | 株式会社日立製作所 | ジョブシステムにおける遅延要因解析方法 |
GB2344906A (en) * | 1998-12-19 | 2000-06-21 | Int Computers Ltd | Object-oriented job scheduler |
US7295669B1 (en) | 1999-01-21 | 2007-11-13 | Avaya Technology Corp. | Call center telephone and data flow connection system |
KR20000055430A (ko) * | 1999-02-05 | 2000-09-05 | 서평원 | 교환기 입출력계의 동적 시간 할당 방법 |
US6560649B1 (en) * | 1999-02-10 | 2003-05-06 | Avaya Technology Corp. | Hierarchical service level remediation for competing classes based upon achievement of service level goals |
US7200219B1 (en) | 1999-02-10 | 2007-04-03 | Avaya Technology Corp. | Dynamically allocating server resources to competing classes of work based upon achievement of service goals |
US6874144B1 (en) * | 1999-04-05 | 2005-03-29 | International Business Machines Corporation | System, method, and program for implementing priority inheritance in an operating system |
US6691146B1 (en) | 1999-05-19 | 2004-02-10 | International Business Machines Corporation | Logical partition manager and method |
US6467007B1 (en) | 1999-05-19 | 2002-10-15 | International Business Machines Corporation | Processor reset generated via memory access interrupt |
US6681240B1 (en) | 1999-05-19 | 2004-01-20 | International Business Machines Corporation | Apparatus and method for specifying maximum interactive performance in a logical partition of a computer system independently from the maximum interactive performance in other partitions |
US6959291B1 (en) | 1999-05-19 | 2005-10-25 | International Business Machines Corporation | Management of a concurrent use license in a logically-partitioned computer |
US7401112B1 (en) * | 1999-05-26 | 2008-07-15 | Aspect Communication Corporation | Methods and apparatus for executing a transaction task within a transaction processing system employing symmetric multiprocessors |
KR100727901B1 (ko) * | 1999-07-10 | 2007-06-14 | 삼성전자주식회사 | 마이크로 스케듈링 방법 및 운영체제 커널 장치 |
US7929978B2 (en) | 1999-12-01 | 2011-04-19 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network |
US6427152B1 (en) * | 1999-12-08 | 2002-07-30 | International Business Machines Corporation | System and method for providing property histories of objects and collections for determining device capacity based thereon |
CA2328335A1 (en) * | 2000-01-24 | 2001-07-24 | Avaya Technology Corp. | Automated transaction distribution system and method allowing selection of agents by transaction initiators |
US7221377B1 (en) | 2000-04-24 | 2007-05-22 | Aspect Communications | Apparatus and method for collecting and displaying information in a workflow system |
US7739325B1 (en) | 2000-04-24 | 2010-06-15 | Aspect Software, Inc. | Apparatus and method for extensible real-time workflows |
US7844504B1 (en) | 2000-04-27 | 2010-11-30 | Avaya Inc. | Routing based on the contents of a shopping cart |
US6567771B2 (en) * | 2000-08-29 | 2003-05-20 | International Business Machines Corporation | Weighted pair-wise scatter to improve linear discriminant analysis |
US6859926B1 (en) * | 2000-09-14 | 2005-02-22 | International Business Machines Corporation | Apparatus and method for workload management using class shares and tiers |
US7698710B1 (en) * | 2000-10-19 | 2010-04-13 | International Business Machines Corporation | System and method to improve service in a group of servers |
US6785756B2 (en) | 2001-05-10 | 2004-08-31 | Oracle International Corporation | Methods and systems for multi-policy resource scheduling |
US7003654B2 (en) * | 2001-08-16 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Time-based initialization defaults for an electronic information retrieval device |
US7178147B2 (en) * | 2001-09-21 | 2007-02-13 | International Business Machines Corporation | Method, system, and program for allocating processor resources to a first and second types of tasks |
US6804738B2 (en) * | 2001-10-12 | 2004-10-12 | Sonics, Inc. | Method and apparatus for scheduling a resource to meet quality-of-service restrictions |
CA2474477C (en) * | 2002-01-30 | 2011-04-12 | Real Enterprise Solutions Development B.V. | Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor |
US7076781B2 (en) * | 2002-05-31 | 2006-07-11 | International Business Machines Corporation | Resource reservation for large-scale job scheduling |
KR100471746B1 (ko) * | 2002-07-26 | 2005-03-16 | 재단법인서울대학교산학협력재단 | 연성 실시간 태스크 스케줄링 방법 및 그 기록매체 |
US7380247B2 (en) * | 2003-07-24 | 2008-05-27 | International Business Machines Corporation | System for delaying priority boost in a priority offset amount only after detecting of preemption event during access to critical section |
US20050055694A1 (en) * | 2003-09-04 | 2005-03-10 | Hewlett-Packard Development Company, Lp | Dynamic load balancing resource allocation |
US7516455B2 (en) * | 2003-09-05 | 2009-04-07 | Microsoft Corporation | Probabilistic scheduling |
JP2005084800A (ja) * | 2003-09-05 | 2005-03-31 | Fanuc Ltd | プログラマブルコントローラ |
US7770175B2 (en) | 2003-09-26 | 2010-08-03 | Avaya Inc. | Method and apparatus for load balancing work on a network of servers based on the probability of being serviced within a service time goal |
US8094804B2 (en) | 2003-09-26 | 2012-01-10 | Avaya Inc. | Method and apparatus for assessing the status of work waiting for service |
US7383548B2 (en) * | 2003-11-28 | 2008-06-03 | Nortel Networks Limited | CPU usage regulation |
US8275865B2 (en) * | 2004-02-05 | 2012-09-25 | International Business Machines Corporation | Methods, systems and computer program products for selecting among alert conditions for resource management systems |
US8457300B2 (en) | 2004-02-12 | 2013-06-04 | Avaya Inc. | Instant message contact management in a contact center |
US7729490B2 (en) | 2004-02-12 | 2010-06-01 | Avaya Inc. | Post-termination contact management |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
WO2005089239A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method of providing a self-optimizing reservation in space of compute resources |
US7885401B1 (en) | 2004-03-29 | 2011-02-08 | Avaya Inc. | Method and apparatus to forecast the availability of a resource |
US7734032B1 (en) | 2004-03-31 | 2010-06-08 | Avaya Inc. | Contact center and method for tracking and acting on one and done customer contacts |
US7953859B1 (en) | 2004-03-31 | 2011-05-31 | Avaya Inc. | Data model of participation in multi-channel and multi-party contacts |
US8000989B1 (en) | 2004-03-31 | 2011-08-16 | Avaya Inc. | Using true value in routing work items to resources |
US8856793B2 (en) * | 2004-05-11 | 2014-10-07 | International Business Machines Corporation | System, method and program for scheduling computer program jobs |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8261122B1 (en) * | 2004-06-30 | 2012-09-04 | Symantec Operating Corporation | Estimation of recovery time, validation of recoverability, and decision support using recovery metrics, targets, and objectives |
US7836448B1 (en) * | 2004-06-30 | 2010-11-16 | Emc Corporation | System and methods for task management |
US20060031837A1 (en) * | 2004-08-05 | 2006-02-09 | International Business Machines Corporation | Thread starvation profiler |
US20060037021A1 (en) * | 2004-08-12 | 2006-02-16 | International Business Machines Corporation | System, apparatus and method of adaptively queueing processes for execution scheduling |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US7949121B1 (en) | 2004-09-27 | 2011-05-24 | Avaya Inc. | Method and apparatus for the simultaneous delivery of multiple contacts to an agent |
US8234141B1 (en) | 2004-09-27 | 2012-07-31 | Avaya Inc. | Dynamic work assignment strategies based on multiple aspects of agent proficiency |
US7949123B1 (en) | 2004-09-28 | 2011-05-24 | Avaya Inc. | Wait time predictor for long shelf-life work |
US7657021B2 (en) | 2004-09-29 | 2010-02-02 | Avaya Inc. | Method and apparatus for global call queue in a global call center |
US8171474B2 (en) * | 2004-10-01 | 2012-05-01 | Serguei Mankovski | System and method for managing, scheduling, controlling and monitoring execution of jobs by a job scheduler utilizing a publish/subscription interface |
WO2006053093A2 (en) | 2004-11-08 | 2006-05-18 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
DE102004054571B4 (de) | 2004-11-11 | 2007-01-25 | Sysgo Ag | Verfahren zur Verteilung von Rechenzeit in einem Rechnersystem |
US8108871B2 (en) * | 2005-01-13 | 2012-01-31 | Hewlett-Packard Development Company, L.P. | Controlling computer resource utilization |
US7657870B2 (en) * | 2005-02-25 | 2010-02-02 | International Business Machines Corporation | Method and apparatus for implementing dynamic function groups in a data processing system |
US7421616B2 (en) * | 2005-03-09 | 2008-09-02 | International Business Machines Corporation | Replicated state machine |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US7921425B2 (en) * | 2005-03-14 | 2011-04-05 | Cisco Technology, Inc. | Techniques for allocating computing resources to applications in an embedded system |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
ES2614751T3 (es) | 2005-04-07 | 2017-06-01 | Iii Holdings 12, Llc | Acceso bajo demanda a recursos informáticos |
US7817796B1 (en) | 2005-04-27 | 2010-10-19 | Avaya Inc. | Coordinating work assignments for contact center agents |
KR100697866B1 (ko) * | 2005-04-29 | 2007-03-22 | 한국과학기술정보연구원 | 작업대기시간 검출기능을 구비한 작업관리 시스템과작업대기시간 검출 방법 및 그 프로그램을 기록한 기록매체 |
US8881233B2 (en) * | 2005-05-23 | 2014-11-04 | Microsoft Corporation | Resource management via periodic distributed time |
US7809127B2 (en) | 2005-05-26 | 2010-10-05 | Avaya Inc. | Method for discovering problem agent behaviors |
US7779042B1 (en) | 2005-08-08 | 2010-08-17 | Avaya Inc. | Deferred control of surrogate key generation in a distributed processing architecture |
US7881450B1 (en) | 2005-09-15 | 2011-02-01 | Avaya Inc. | Answer on hold notification |
US8577015B2 (en) | 2005-09-16 | 2013-11-05 | Avaya Inc. | Method and apparatus for the automated delivery of notifications to contacts based on predicted work prioritization |
US7822587B1 (en) | 2005-10-03 | 2010-10-26 | Avaya Inc. | Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior |
US8116446B1 (en) | 2005-10-03 | 2012-02-14 | Avaya Inc. | Agent driven work item awareness for tuning routing engine work-assignment algorithms |
US10572879B1 (en) | 2005-10-03 | 2020-02-25 | Avaya Inc. | Agent driven media-agnostic work item grouping and sharing over a consult medium |
US8073129B1 (en) | 2005-10-03 | 2011-12-06 | Avaya Inc. | Work item relation awareness for agents during routing engine driven sub-optimal work assignments |
US8411843B1 (en) | 2005-10-04 | 2013-04-02 | Avaya Inc. | Next agent available notification |
US7787609B1 (en) | 2005-10-06 | 2010-08-31 | Avaya Inc. | Prioritized service delivery based on presence and availability of interruptible enterprise resources with skills |
US7752230B2 (en) | 2005-10-06 | 2010-07-06 | Avaya Inc. | Data extensibility using external database tables |
US8495613B2 (en) * | 2005-12-22 | 2013-07-23 | Microsoft Corporation | Program execution service windows |
US9008075B2 (en) | 2005-12-22 | 2015-04-14 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
US8238541B1 (en) | 2006-01-31 | 2012-08-07 | Avaya Inc. | Intent based skill-set classification for accurate, automatic determination of agent skills |
US8737173B2 (en) | 2006-02-24 | 2014-05-27 | Avaya Inc. | Date and time dimensions for contact center reporting in arbitrary international time zones |
US8127299B2 (en) * | 2006-03-28 | 2012-02-28 | Sap Ag | Landscape reorganization algorithm for dynamic load balancing |
US8442197B1 (en) | 2006-03-30 | 2013-05-14 | Avaya Inc. | Telephone-based user interface for participating simultaneously in more than one teleconference |
US9703285B2 (en) * | 2006-04-27 | 2017-07-11 | International Business Machines Corporation | Fair share scheduling for mixed clusters with multiple resources |
US8213452B2 (en) * | 2006-07-18 | 2012-07-03 | Broadcom Corporation | Optimized scheduling method using ordered grants from a central controller |
US7936867B1 (en) | 2006-08-15 | 2011-05-03 | Avaya Inc. | Multi-service request within a contact center |
US8391463B1 (en) | 2006-09-01 | 2013-03-05 | Avaya Inc. | Method and apparatus for identifying related contacts |
US8938063B1 (en) | 2006-09-07 | 2015-01-20 | Avaya Inc. | Contact center service monitoring and correcting |
US8811597B1 (en) | 2006-09-07 | 2014-08-19 | Avaya Inc. | Contact center performance prediction |
US8855292B1 (en) | 2006-09-08 | 2014-10-07 | Avaya Inc. | Agent-enabled queue bypass to agent |
US7835514B1 (en) | 2006-09-18 | 2010-11-16 | Avaya Inc. | Provide a graceful transfer out of active wait treatment |
US20080077932A1 (en) * | 2006-09-25 | 2008-03-27 | International Business Machines Corporation | Mechanism for Automatically Managing the Resource Consumption of Transactional Workloads |
US7673305B2 (en) * | 2006-10-23 | 2010-03-02 | Hewlett-Packard Development Company, L.P. | System and method of expediting certain jobs in a computer processing system |
US8767944B1 (en) | 2007-01-03 | 2014-07-01 | Avaya Inc. | Mechanism for status and control communication over SIP using CODEC tunneling |
US20080162246A1 (en) * | 2007-01-03 | 2008-07-03 | International Business Machines Corporation | Method and system for contract based call center and/or contact center management |
US7747705B1 (en) | 2007-05-08 | 2010-06-29 | Avaya Inc. | Method to make a discussion forum or RSS feed a source for customer contact into a multimedia contact center that is capable of handling emails |
US8752055B2 (en) * | 2007-05-10 | 2014-06-10 | International Business Machines Corporation | Method of managing resources within a set of processes |
US8806480B2 (en) * | 2007-06-29 | 2014-08-12 | Microsoft Corporation | Virtual machine smart migration |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8504534B1 (en) | 2007-09-26 | 2013-08-06 | Avaya Inc. | Database structures and administration techniques for generalized localization of database items |
US8578381B2 (en) * | 2007-10-26 | 2013-11-05 | Oracle America, Inc. | Apparatus, system and method for rapid resource scheduling in a compute farm |
US8473956B2 (en) * | 2008-01-15 | 2013-06-25 | Microsoft Corporation | Priority based scheduling system for server |
US7487506B1 (en) | 2008-01-16 | 2009-02-03 | International Business Machines Corporation | Autonomous management of system throughput |
US8856182B2 (en) | 2008-01-25 | 2014-10-07 | Avaya Inc. | Report database dependency tracing through business intelligence metadata |
US8831206B1 (en) | 2008-05-12 | 2014-09-09 | Avaya Inc. | Automated, data-based mechanism to detect evolution of employee skills |
US8385532B1 (en) | 2008-05-12 | 2013-02-26 | Avaya Inc. | Real-time detective |
US10375244B2 (en) | 2008-08-06 | 2019-08-06 | Avaya Inc. | Premises enabled mobile kiosk, using customers' mobile communication device |
US8116237B2 (en) | 2008-09-26 | 2012-02-14 | Avaya Inc. | Clearing house for publish/subscribe of status data from distributed telecommunications systems |
US8266477B2 (en) * | 2009-01-09 | 2012-09-11 | Ca, Inc. | System and method for modifying execution of scripts for a job scheduler using deontic logic |
US8316368B2 (en) * | 2009-02-05 | 2012-11-20 | Honeywell International Inc. | Safe partition scheduling on multi-core processors |
US8621011B2 (en) | 2009-05-12 | 2013-12-31 | Avaya Inc. | Treatment of web feeds as work assignment in a contact center |
US8964958B2 (en) | 2009-05-20 | 2015-02-24 | Avaya Inc. | Grid-based contact center |
US8644491B2 (en) | 2009-08-21 | 2014-02-04 | Avaya Inc. | Mechanism for multisite service state description |
US8385533B2 (en) | 2009-09-21 | 2013-02-26 | Avaya Inc. | Bidding work assignment on conference/subscribe RTP clearing house |
US8565386B2 (en) | 2009-09-29 | 2013-10-22 | Avaya Inc. | Automatic configuration of soft phones that are usable in conjunction with special-purpose endpoints |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9516069B2 (en) | 2009-11-17 | 2016-12-06 | Avaya Inc. | Packet headers as a trigger for automatic activation of special-purpose softphone applications |
KR101644800B1 (ko) * | 2010-01-07 | 2016-08-02 | 삼성전자주식회사 | 컴퓨팅 시스템 및 방법 |
US8572619B2 (en) * | 2010-01-28 | 2013-10-29 | Real Time, Inc. | System and method for integrating software schedulers and hardware interrupts for a deterministic system |
US8984521B2 (en) * | 2010-02-18 | 2015-03-17 | International Business Machines Corporation | Computer system performance by applying rate limits to control block tenancy |
US8306212B2 (en) | 2010-02-19 | 2012-11-06 | Avaya Inc. | Time-based work assignments in automated contact distribution |
US8875152B2 (en) * | 2010-04-22 | 2014-10-28 | Salesforce.Com, Inc. | System, method and computer program product for dynamically increasing resources utilized for processing tasks |
US8930954B2 (en) | 2010-08-10 | 2015-01-06 | International Business Machines Corporation | Scheduling parallel data tasks |
EP2707796A4 (en) | 2011-05-13 | 2016-06-08 | Samsung Electronics Co Ltd | METHOD AND APPARATUS FOR ENHANCING APPLICATION PROCESSING SPEED IN DIGITAL DEVICE |
US20130014119A1 (en) * | 2011-07-07 | 2013-01-10 | Iolo Technologies, Llc | Resource Allocation Prioritization Based on Knowledge of User Intent and Process Independence |
US9122782B2 (en) * | 2011-09-28 | 2015-09-01 | International Business Machines Corporation | Apparatus and computer program product for adaptively determining response time distribution of transactional workloads |
US9459930B1 (en) * | 2011-10-27 | 2016-10-04 | Amazon Technologies, Inc. | Distributed complementary workload scheduling |
US8675860B2 (en) | 2012-02-16 | 2014-03-18 | Avaya Inc. | Training optimizer for contact center agents |
US20150082314A1 (en) * | 2012-04-18 | 2015-03-19 | Nec Corporation | Task placement device, task placement method and computer program |
US9348648B2 (en) | 2012-09-12 | 2016-05-24 | Salesforce.Com, Inc. | Providing a routing framework for facilitating dynamic workload scheduling and routing of message queues for fair management of resources for application servers in an on-demand services environment |
US10169090B2 (en) * | 2012-09-12 | 2019-01-01 | Salesforce.Com, Inc. | Facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments |
US20150128149A1 (en) * | 2013-11-01 | 2015-05-07 | Theplatform, Llc | Managing Fairness In Task Bundling Of A Queue |
US10402226B2 (en) * | 2015-06-05 | 2019-09-03 | Apple Inc. | Media analysis and processing framework on a resource restricted device |
CN106250214B (zh) * | 2015-06-05 | 2019-11-26 | 苹果公司 | 资源受限设备上的媒体分析和处理构架 |
US10846148B2 (en) * | 2015-09-10 | 2020-11-24 | Hewlett Packard Enterprise Development Lp | Request of an MCS lock by guests |
US9996393B2 (en) | 2015-11-19 | 2018-06-12 | International Business Machines Corporation | Dynamic virtual processor manager |
CN113742028A (zh) * | 2020-05-28 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 资源使用方法、电子设备和计算机程序产品 |
CN117112236B (zh) * | 2023-10-23 | 2024-02-20 | 山东曙光照信息技术股份有限公司 | 基于数据涌流及波动性预测的辖区服务器配置方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2208551A5 (zh) | 1972-11-27 | 1974-06-21 | Inst Francais Du Petrole | |
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 |
US5504894A (en) | 1992-04-30 | 1996-04-02 | International Business Machines Corporation | Workload manager for achieving transaction class response time goals in a multiprocessing system |
US5442730A (en) | 1993-10-08 | 1995-08-15 | International Business Machines Corporation | Adaptive job scheduling using neural network priority functions |
US5537542A (en) | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system |
JPH0830471A (ja) * | 1994-07-14 | 1996-02-02 | Hitachi Ltd | ジョブの実行プロセサ変更方式 |
US5675739A (en) | 1995-02-03 | 1997-10-07 | International Business Machines Corporation | Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types |
US5838968A (en) * | 1996-03-01 | 1998-11-17 | Chromatic Research, Inc. | System and method for dynamic resource management across tasks in real-time operating systems |
-
1997
- 1997-05-22 US US08/862,044 patent/US6263359B1/en not_active Expired - Fee Related
-
1998
- 1998-02-23 TW TW087102570A patent/TW396313B/zh not_active IP Right Cessation
- 1998-03-16 IL IL12370098A patent/IL123700A/xx active IP Right Grant
- 1998-04-14 KR KR1019980013221A patent/KR19980086596A/ko not_active Application Discontinuation
- 1998-05-21 DE DE69835121T patent/DE69835121T2/de not_active Expired - Lifetime
- 1998-05-21 EP EP98304030A patent/EP0880095B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0880095A3 (en) | 1999-08-04 |
EP0880095B1 (en) | 2006-07-05 |
US6263359B1 (en) | 2001-07-17 |
DE69835121D1 (de) | 2006-08-17 |
IL123700A (en) | 2003-11-23 |
DE69835121T2 (de) | 2006-12-21 |
EP0880095A2 (en) | 1998-11-25 |
KR19980086596A (ko) | 1998-12-05 |
IL123700A0 (en) | 1998-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW396313B (en) | Computer resource proportional utilization and response time scheduling | |
US20220206859A1 (en) | System and Method for a Self-Optimizing Reservation in Time of Compute Resources | |
US6785889B1 (en) | System and method for scheduling bandwidth resources using a Kalman estimator with active feedback | |
US6341303B1 (en) | System and method for scheduling a resource according to a preconfigured plan | |
US9292662B2 (en) | Method of exploiting spare processors to reduce energy consumption | |
US7222345B2 (en) | Resource sharing with sliding constraints | |
Jackson et al. | Core algorithms of the Maui scheduler | |
US6457008B1 (en) | Pluggable resource scheduling policies | |
US7839883B2 (en) | Methods and apparatus for implementing a flexible multi-user advance reservation system where reservation requests are specified in terms of multiple options and where each option has an associated business value | |
US9465663B2 (en) | Allocating resources in a compute farm to increase resource utilization by using a priority-based allocation layer to allocate job slots to projects | |
US10574748B2 (en) | Systems and methods for allocating one or more resources in a composite cloud environment | |
US8255915B1 (en) | Workload management for computer system with container hierarchy and workload-group policies | |
US20120096468A1 (en) | Compute cluster with balanced resources | |
EP2357561A1 (en) | System and method for providing advanced reservations in a compute environment | |
Freund et al. | SmartNet: a scheduling framework for heterogeneous computing | |
US20140250440A1 (en) | System and method for managing storage input/output for a compute environment | |
CA2831359A1 (en) | System and method of co-allocating a reservation spanning different compute resources types | |
Nesmachnow et al. | Efficient heuristics for profit optimization of virtual cloud brokers | |
US20050262324A1 (en) | System and method for reducing accounting overhead during memory allocation | |
CA2559603A1 (en) | System and method for providing advanced reservations in a compute environment | |
CN107851039A (zh) | 用于资源管理的系统和方法 | |
WO2009056371A1 (en) | Method, system and computer program for distributing a plurality of jobs to a plurality of computers | |
Aupy et al. | Reservation strategies for stochastic jobs | |
Qureshi et al. | Grid resource allocation for real-time data-intensive tasks | |
US7526767B1 (en) | Methods for automatic group switching according to a resource plan |
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 |