專利名稱:微調(diào)度方法和包含操作系統(tǒng)內(nèi)核的計(jì)算裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種微調(diào)度(micro-scheduling method)方法,具體涉及一種在支持多媒體應(yīng)用的操作系統(tǒng)上實(shí)現(xiàn)的微調(diào)度方法。
此外,本發(fā)明還涉及一種用于實(shí)現(xiàn)上述微調(diào)度方法的操作系統(tǒng)內(nèi)核。
背景技術(shù):
諸如UNIXTM、LINUXTM以及Windows NTTM等操作系統(tǒng)均使用用于支持多用戶的時(shí)間窗口(time window,以下簡稱“時(shí)窗”)約為10毫秒的任務(wù)調(diào)度方法。為了支持多媒體應(yīng)用,在操作系統(tǒng)和網(wǎng)絡(luò)中必須支持滿足服務(wù)品質(zhì)(QoS)需求的功能。然而,如果在處理多個(gè)應(yīng)用的情況下,按照預(yù)定的任務(wù)調(diào)度方法,即使在處理多媒體數(shù)據(jù)時(shí),也要連續(xù)產(chǎn)生中斷。因此,這會中斷多媒體處理或使其不連續(xù)。即,在常規(guī)操作系統(tǒng)中使用的調(diào)度方法的缺點(diǎn)是,不能滿足用于支持多媒體應(yīng)用的QoS需求。
另一種用于支持多用戶的現(xiàn)有技術(shù)采用一種修改進(jìn)程結(jié)構(gòu)例如使堆棧共享的方法。此種方法的缺點(diǎn)是,這樣的修改損失了與現(xiàn)有軟件的兼容性。
如果采用第三種用于支持多用戶的現(xiàn)有技術(shù)的實(shí)時(shí)調(diào)度算法,這會因?yàn)橛糜诒3窒蛳录嫒莸脑S可控制而使性能明顯下降,并且會嚴(yán)重降低QoS。這還會引起在過載狀態(tài)下不能獲得已經(jīng)保證的服務(wù)品質(zhì)的問題。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明的一個(gè)目的是提供一種滿足多媒體應(yīng)用的QoS需求的微調(diào)度方法。
本發(fā)明的另一個(gè)目的是提供一種用于實(shí)現(xiàn)上述微調(diào)度方法的操作系統(tǒng)內(nèi)核。
因此,為了實(shí)現(xiàn)本發(fā)明的上述目的,提供了一種用于在支持多媒體應(yīng)用的操作系統(tǒng)內(nèi)核上實(shí)現(xiàn)的微調(diào)度方法,所述微調(diào)度方法包括下列步驟(a)通過測定所述應(yīng)用中的受I/O限制的作業(yè)性能和受CPU限制的作業(yè)性能,來確定多個(gè)應(yīng)用的性能參數(shù);(b)當(dāng)執(zhí)行作業(yè)許可控制時(shí),按照由系統(tǒng)管理者預(yù)先設(shè)置的策略,對所述性能參數(shù)進(jìn)行調(diào)整;(c)通過對因多媒體應(yīng)用數(shù)據(jù)的特征而無需移動到用戶空間的數(shù)據(jù)的I/O作業(yè)的執(zhí)行周期進(jìn)行調(diào)度,來為多個(gè)應(yīng)用類中的每個(gè)應(yīng)用類確定處理優(yōu)先級;以及,(d)按照在步驟(c)中確定的優(yōu)先級次序,執(zhí)行特殊I/O系統(tǒng)調(diào)用。
最好是,在所述步驟(a)中,通過利用適合于要進(jìn)行性能參數(shù)確定的應(yīng)用類的測試程序,測定所述應(yīng)用所需的受I/O限制的作業(yè)性能和受CPU限制的作業(yè)性能,來確定所述性能參數(shù)。
最好是,通過根據(jù)在步驟(a)中確定的性能參數(shù)、應(yīng)用類的處理優(yōu)先級、和由系統(tǒng)管理者設(shè)置的策略描述表中的資源分配,建立企業(yè)服務(wù)品質(zhì)(E-QoS)模型,來執(zhí)行所述步驟(b)。
最好是,所述步驟(a)還包括下列子步驟執(zhí)行可用性測試;執(zhí)行許可控制和資源保留;描述一個(gè)策略,以便為每個(gè)應(yīng)用確定在系統(tǒng)資源上的資源缺省值和最大范圍;測定受CPU限制的性能;以及,測定受I/O限制的性能。
此外,在確定了在多媒體應(yīng)用中可以出現(xiàn)的I/O服務(wù)類4對應(yīng)于4類I/O作業(yè)的一個(gè)特殊I/O作業(yè)之后,如果在一個(gè)應(yīng)用中的作業(yè)對應(yīng)于一個(gè)特殊I/O,則所述特殊I/O系統(tǒng)調(diào)用負(fù)責(zé)按照由I/O調(diào)度方法分配的資源來執(zhí)行周期性I/O操作,其中將I/O作業(yè)分成以下四類,這包括將數(shù)據(jù)從用戶空間移動到系統(tǒng)的I/O服務(wù)類1,將數(shù)據(jù)從一個(gè)用戶空間移動到另一個(gè)用戶空間的I/O服務(wù)類2,將數(shù)據(jù)從系統(tǒng)移動到用戶空間的I/O服務(wù)類3,以及將數(shù)據(jù)從一個(gè)系統(tǒng)移動到另一個(gè)系統(tǒng)的I/O服務(wù)類4。
最好是,所述特殊I/O分成以下3類在盤文件和網(wǎng)絡(luò)之間執(zhí)行I/O的特殊IO類1、在I/O單元和網(wǎng)絡(luò)之間執(zhí)行I/O的特殊IO類2、以及執(zhí)行與一個(gè)應(yīng)用之間、在線程之間或在循環(huán)返回方法中的I/O的特殊IO類3。
最好是,在所述步驟(c)的調(diào)度中使用的任務(wù)隊(duì)列分成以下三類與I/O服務(wù)類1應(yīng)用有關(guān)的中級隊(duì)列(MQ)、與I/O服務(wù)類2和3應(yīng)用有關(guān)的高級隊(duì)列(HQ)、以及與IO服務(wù)類4應(yīng)用有關(guān)的低級隊(duì)列(LQ)。
最好是,所述步驟(c)在調(diào)度I/O服務(wù)類2和I/O服務(wù)類3的作業(yè)時(shí)采用具有最高優(yōu)先級的HQ。
最好是,在處理I/O服務(wù)類2和I/O服務(wù)類3的作業(yè)時(shí),沒有通過在特定IO單元上的用戶空間。
最好是,所述策略描述表將用于四類I/O作業(yè)的系統(tǒng)資源的資源缺省值和最大使用限度,作為一個(gè)策略來描述。
更可取的是,所述策略描述表包括由具有下述步驟的方法設(shè)置的策略,這些步驟是通過為I/O服務(wù)類1、2、3和4分配與保證每個(gè)應(yīng)用類能夠使用的最小CPU時(shí)間量成正比的最小資源量,來分配資源缺省值;按照各應(yīng)用的使用模式來分配由所述四種應(yīng)用類共享的其余資源;以及,為每個(gè)應(yīng)用類分配CPU資源的特定部分。
最好是,在執(zhí)行新應(yīng)用之前,交換服務(wù)品質(zhì)參數(shù),并通過使用資源缺省值和最大資源范圍值來執(zhí)行許可控制。
所述特殊IO類1執(zhí)行下列步驟(a-1)分配一個(gè)文件緩沖區(qū);(b-1)從緩沖區(qū)中讀出X個(gè)字節(jié),其中X是正整數(shù);(c-1)在協(xié)議數(shù)據(jù)單元(PDU)中檢查是否文件緩沖區(qū)為空;(d-1)如果在步驟(c-1)中檢查出文件緩沖區(qū)為空,則通過喚醒從中讀出數(shù)據(jù)的盤設(shè)備來執(zhí)行派生處理;(e-1)在一個(gè)HQ中保存步驟(d-1)的結(jié)果;(f-1)如果在步驟(c-1)檢查出文件緩沖區(qū)不為空,則傳送在HQ中保存的數(shù)據(jù),并將盤保持在睡眠狀態(tài);(g-1)將用戶數(shù)據(jù)協(xié)議(UDP)數(shù)據(jù)傳送給一個(gè)網(wǎng)絡(luò)系統(tǒng);(h-1)在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存所接收的UDP數(shù)據(jù);以及,(i-1)使用媒體存取控制將在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存的UDP數(shù)據(jù)傳送給網(wǎng)絡(luò)系統(tǒng),其中特殊I/O系統(tǒng)調(diào)用管理從步驟(a-1)一直到(f-1)的各步驟。
所述特殊IO類2執(zhí)行下列步驟(a-2)通過話筒輸入外部的語音;(b-2)將輸入的外部語音變換成電信號;(c-2)在硬件聲碼器中將變換后的語音信號轉(zhuǎn)換成數(shù)字語音數(shù)據(jù);(d-2)在緩沖區(qū)中保存數(shù)字語音數(shù)據(jù);(e-2)將在緩沖區(qū)中保存的數(shù)字語音數(shù)據(jù)封裝成分組數(shù)據(jù);(f-2)在一個(gè)HQ中保存分組化的數(shù)據(jù);(g-2)將實(shí)時(shí)傳輸協(xié)議(RTP)/用戶數(shù)據(jù)協(xié)議(UDP)數(shù)據(jù)傳送給一個(gè)網(wǎng)絡(luò)系統(tǒng);(h-2)在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存所接收的RTP/UDP數(shù)據(jù);以及,(i-2)使用媒體存取控制將在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存的RTP/UDP數(shù)據(jù)傳送給網(wǎng)絡(luò)系統(tǒng),其中特殊I/O系統(tǒng)調(diào)用管理從步驟(e-2)一直到(g-2)的各步驟。
最好是,所述性能測定包括以下步驟(pm-a)將每個(gè)應(yīng)用標(biāo)識為多個(gè)類;以及,(pm-b)利用適合于應(yīng)用類的測試程序來測定性能參數(shù)。
最好是,所述步驟(pm-b)包括以下步驟(pm-b-1)對于關(guān)鍵任務(wù)的作業(yè),利用適用于應(yīng)用特征的基準(zhǔn)檢驗(yàn)程序,來測定能夠處理多少事務(wù),并確定在系統(tǒng)中要處理的最小事務(wù)數(shù)目和最大事務(wù)數(shù)目;(pm-b-2)對于需要資源保留的多媒體應(yīng)用以及符合G.723和H.263標(biāo)準(zhǔn)的交互性應(yīng)用,在用戶描述了有關(guān)重復(fù)使用的重要例程的信息和諸如調(diào)度周期等QoS參數(shù)之后,測定每秒執(zhí)行的編碼或解碼次數(shù);以及,(pm-b-3)省略對不需要實(shí)時(shí)處理的應(yīng)用的性能測定。
最好是,所述步驟(pm-b)包括以下一個(gè)附加步驟如果在所述步驟(pm-b-1)確定甚至僅對于關(guān)鍵任務(wù)的作業(yè)來說系統(tǒng)性能也不足,則通知用戶使用性能更好的系統(tǒng)。
為了實(shí)現(xiàn)本發(fā)明的另一個(gè)實(shí)施例,提供了一種包含用于支持多媒體應(yīng)用的操作系統(tǒng)內(nèi)核的計(jì)算裝置,所述操作系統(tǒng)內(nèi)核包括企業(yè)QoS(E-QoS)資源管理裝置,用于通過測定在給定應(yīng)用中的受I/O限制的作業(yè)性能和受CPU限制的作業(yè)性能來確定性能參數(shù),并且執(zhí)行作業(yè)許可控制以便按照由系統(tǒng)管理者預(yù)先設(shè)置的策略,對所述性能參數(shù)進(jìn)行調(diào)整;特殊I/O調(diào)度裝置,用于通過對因多媒體應(yīng)用特征而無需移動到用戶空間的數(shù)據(jù)的I/O作業(yè)的執(zhí)行周期進(jìn)行調(diào)度;以及,特殊I/O服務(wù)例程裝置,用于按照由特殊I/O調(diào)度裝置設(shè)置的優(yōu)先級次序,執(zhí)行特殊I/O系統(tǒng)調(diào)用。
通過參照附圖詳細(xì)說明本發(fā)明的優(yōu)選實(shí)施例,本發(fā)明的上述目的和優(yōu)點(diǎn)將變得更加清楚。附圖中圖1是表示用于實(shí)現(xiàn)本發(fā)明微調(diào)度方法的操作系統(tǒng)內(nèi)核的結(jié)構(gòu)的方框圖;圖2至圖4分別示出特殊IO類1、2、3;圖5示出一例HQ作業(yè)間隔分布;圖6是表示一例HQ配置的方框圖;以及圖7示出伴隨有盤IO的特殊IO作業(yè)。
具體實(shí)施方式
以下將參照附圖詳細(xì)說明本發(fā)明的優(yōu)選實(shí)施例。圖1是表示用于實(shí)現(xiàn)本發(fā)明微調(diào)度方法的操作系統(tǒng)內(nèi)核的結(jié)構(gòu)的方框圖。參照圖1,按照本發(fā)明的操作系統(tǒng)內(nèi)核12包括企業(yè)QoS(E-QoS)資源管理器120、可用性測試單元122、許可控制和資源保留單元124、受CPU限制的性能測定單元126和受IO限制的性能測定單元128。此外,操作系統(tǒng)內(nèi)核12還包括策略描述表130、資源保留協(xié)議執(zhí)行單元132、內(nèi)核調(diào)度器134、特殊I/O調(diào)度器136和特殊I/O服務(wù)例程138。
E-QoS資源管理器120測定受IO限制的作業(yè)和受CPU限制的作業(yè)的性能,以便按照資源保留協(xié)議和策略分配資源,并執(zhí)行作業(yè)許可從而按照用戶預(yù)設(shè)的策略適當(dāng)調(diào)整性能參數(shù)。
此外,如圖1所示,E-QoS資源管理器120管理資源,其中資源管理器120鏈接到相鄰單元,這包括執(zhí)行可用性測試的可用性測試單元122、執(zhí)行許可控制和資源保留的許可控制和資源保留單元124、測定CPU性能的CPU性能測定單元126、以及測定IO性能的IO性能測定單元128。E-QoS資源管理器120按照鏈接到這些單元的鏈路進(jìn)行資源管理分配。策略描述表130保存每個(gè)應(yīng)用的系統(tǒng)資源的缺省范圍和最大使用限度。即,E-QoS資源管理器120使用基于應(yīng)用10中預(yù)測的性能參數(shù)、應(yīng)用10的類的優(yōu)先權(quán)次序、由用戶設(shè)置的策略描述表中的資源分配的E-QoS模型,執(zhí)行資源管理。
特殊I/O調(diào)度器136對多媒體應(yīng)用數(shù)據(jù)的周期性執(zhí)行的I/O作業(yè)進(jìn)行調(diào)度,由于多媒體應(yīng)用的特性,多媒體應(yīng)用數(shù)據(jù)不必移動到用戶空間。特殊I/O服務(wù)例程138按照由特殊I/O調(diào)度裝置設(shè)置的優(yōu)先級次序,執(zhí)行特殊I/O系統(tǒng)調(diào)用。執(zhí)行特殊I/O服務(wù)的系統(tǒng)調(diào)用負(fù)責(zé)因多媒體應(yīng)用的特性而無需移動到用戶空間的I/O操作??梢栽趯VD播放器中編碼的MPEG數(shù)據(jù)流傳送到網(wǎng)絡(luò)的應(yīng)用中,找到這種I/O操作的例子。在此例中,應(yīng)用程序執(zhí)行傳送的開始和結(jié)束,同時(shí)它僅在傳送間歇期間進(jìn)行監(jiān)測。
一般情況下,I/O作業(yè)分為下面的四種分類1)I/O服務(wù)類1該類將數(shù)據(jù)從用戶空間移動到系統(tǒng)。在該類中包括例如,在從存儲器中讀出用戶數(shù)據(jù)之后,將用戶數(shù)據(jù)保存到盤中,或?qū)⒂脩魯?shù)據(jù)傳送給網(wǎng)絡(luò)。
2)I/O服務(wù)類2該類將數(shù)據(jù)從一個(gè)用戶空間移動到另一個(gè)用戶空間。在該類中包括例如,按照傳輸控制協(xié)議(TCP)/因特網(wǎng)協(xié)議(IP)將數(shù)據(jù)傳送到本地主機(jī),或者在多媒體應(yīng)用如唇同步(發(fā)聲)應(yīng)用之間使用I/O機(jī)制進(jìn)行數(shù)據(jù)通信。
3)I/O服務(wù)類3該類將數(shù)據(jù)從系統(tǒng)移動到用戶空間。在該類中包括例如,寫入從網(wǎng)絡(luò)接收的數(shù)據(jù),或?qū)?shù)據(jù)從盤讀入應(yīng)用程序的數(shù)據(jù)區(qū)。
4)I/O服務(wù)類4該類將數(shù)據(jù)從一個(gè)系統(tǒng)移動到另一個(gè)系統(tǒng)。例如,在該類中包括通過網(wǎng)絡(luò)傳送在如CD-ROM等的存儲介質(zhì)中保存的數(shù)據(jù),或利用遠(yuǎn)程系統(tǒng)訪問在網(wǎng)絡(luò)文件系統(tǒng)中的數(shù)據(jù)。
這里,I/O服務(wù)類4是能夠在多媒體應(yīng)用中出現(xiàn)的特殊I/O。特殊I/O(SIO)分為以下三類1)SIO類1它執(zhí)行從盤文件到網(wǎng)絡(luò)和從網(wǎng)絡(luò)到盤文件的I/O操作。在該類中包括例如,VOD、Web下載和FTP。
2)SIO類2它執(zhí)行從I/O到網(wǎng)絡(luò)或從網(wǎng)絡(luò)到I/O的I/O操作。在該類中包括例如,因特網(wǎng)語音協(xié)議(VoIP)和視頻會議。
3)SIO類3它執(zhí)行與應(yīng)用程序之間、在各線程之間或在循環(huán)返回方法中的I/O操作。在該類中包括例如,唇同步應(yīng)用。
圖2示出一例SIO類1的結(jié)構(gòu)。如圖2所示,首先將SIO類1分配給文件緩沖區(qū)。然后,SIO類1從文件緩沖區(qū)中讀出任意X個(gè)字節(jié)。如果檢查到文件緩沖區(qū)為空,則PDU執(zhí)行派生(fork)處理。PDU喚醒盤設(shè)備,從該設(shè)備中讀出數(shù)據(jù),并將讀出的數(shù)據(jù)保存在HQ中。如果檢查到文件緩沖區(qū)不空,則PDU發(fā)送HQ中保存的數(shù)據(jù),并將盤保存在睡眠狀態(tài)。PDU按照用戶數(shù)據(jù)協(xié)議(UDP)將數(shù)據(jù)傳送給網(wǎng)絡(luò)系統(tǒng),并將傳送給網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)保存在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中。利用媒體存取控制(medium access control)將在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存的UDP數(shù)據(jù)傳送給網(wǎng)絡(luò)系統(tǒng)。這里,特殊I/O(SIO)系統(tǒng)調(diào)用管理從文件緩沖區(qū)分配到喚醒/睡眠狀態(tài)保持和讀盤的各步驟,如圖2的點(diǎn)劃線所示的部分。
圖3示出一例SIO類2的結(jié)構(gòu)。參照圖3,首先將外部語音輸入到話筒并變換成電信號。變換后的語音信號輸入給硬件聲碼器,再轉(zhuǎn)換成數(shù)字語音數(shù)據(jù)。在緩沖區(qū)中保存該數(shù)字語音數(shù)據(jù),然后進(jìn)行分組化處理。在HQ中保存分組化的數(shù)據(jù)。然后按照實(shí)時(shí)傳輸協(xié)議(RTP)/UDP將分組化的數(shù)據(jù)傳送給網(wǎng)絡(luò)系統(tǒng)。在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存通過RTP/UDP傳送的數(shù)據(jù)。利用媒體存取控制將在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存的數(shù)據(jù)傳送給網(wǎng)絡(luò)系統(tǒng)。這里,特殊I/O(SIO)系統(tǒng)調(diào)用管理從保存到緩沖區(qū)到傳送RTP/UDP的各步驟,如圖3的點(diǎn)劃線所示的部分。
圖4示出一例SIO類3的結(jié)構(gòu)。參照圖4,首先SIO類3將通過話筒輸入的外部語音變換成電信號。變換后的語音信號再轉(zhuǎn)換成數(shù)字語音數(shù)據(jù),然后在緩沖區(qū)中保存該數(shù)字語音數(shù)據(jù)。然后,將在緩沖區(qū)中保存的語音數(shù)據(jù)輸入給軟件聲碼器。軟件聲碼器對語音數(shù)據(jù)進(jìn)行分組化處理,然后在HQ中保存分組數(shù)據(jù)。SIO類3的其余操作與圖3中說明的操作相同。
同時(shí),E-QoS資源管理器120按照用戶預(yù)先設(shè)置的策略來測定某類型作業(yè)的性能、和作業(yè)許可控制。對于性能測定來說,12.5微秒被當(dāng)作一個(gè)性能單位(PU)。即,通過確定在應(yīng)用程序中需要多少個(gè)PU,來計(jì)算應(yīng)用程序的執(zhí)行時(shí)間。
在大多數(shù)PentiumTM級系統(tǒng)中,除了“派生”或“執(zhí)行(exec)”,大多數(shù)系統(tǒng)調(diào)用的執(zhí)行時(shí)間在幾微秒至幾十微秒,而在電信網(wǎng)絡(luò)中一個(gè)基本幀單位是12.5微秒。因此,希望將PU定義為12.5微秒。此外,將PU定義為12.5微秒的優(yōu)點(diǎn)是,可以容易地將該P(yáng)U應(yīng)用于下述多媒體應(yīng)用的性能測定和基準(zhǔn)檢驗(yàn)。于是,可用性能的640毫秒等于51,200個(gè)PU。然而,PU的定義不限于12.5微秒,它可以隨系統(tǒng)性能變化。
此外,例如在系統(tǒng)或網(wǎng)絡(luò)中,為了處理MPEG流,每秒必須傳送30至60幀,并且為了執(zhí)行符合G.723標(biāo)準(zhǔn)的的語音呼叫,每30毫秒必須發(fā)送一個(gè)語音分組。在這種情況下,系統(tǒng)性能與影響存儲器復(fù)制性能的因素之間,比與CPU的MIPS值之間更加相關(guān),上述因素例如有系統(tǒng)總線的帶寬、通信協(xié)議和I/O緩沖區(qū)的大小。
也就是說,一般多媒體應(yīng)用中的時(shí)間間隔(time interval)是QoS參數(shù)中最重要的屬性,因此,在本實(shí)施例中,利用時(shí)間間隔而不是MIPS單位作為系統(tǒng)性能。此外,利用時(shí)間間隔還能夠有效地處理多媒體數(shù)據(jù)。
然而,CPU的MIPS值是在諸如MPEG解碼等的受CPU限制的作業(yè)中的重要量度。也就是說,可以按照應(yīng)用類來改變用于性能測定的量度。
因此,為了確定每個(gè)應(yīng)用的性能,首先,按照應(yīng)用的類利用測試程序來測定基本值,然后在實(shí)際操作環(huán)境下對所測定基本值進(jìn)行補(bǔ)償。
1)對于關(guān)鍵任務(wù)的作業(yè),利用適用于諸如“借-貸”等應(yīng)用程序特征的基準(zhǔn)檢驗(yàn)程序,來測定能夠被處理的事務(wù)的數(shù)目。必須確定要處理事務(wù)的最小和最大數(shù)目。如果即使在只有關(guān)鍵任務(wù)的作業(yè)的情況下系統(tǒng)性能也不足,則必須通知用戶要使用具有較好性能的系統(tǒng)。
2)對于需要資源儲備的多媒體應(yīng)用以及符合G.723和H.263標(biāo)準(zhǔn)的交互性應(yīng)用,在用戶描述了諸如調(diào)度周期等QoS參數(shù)以及有關(guān)重復(fù)使用的重要例程的信息之后,測定每秒的編碼和解碼操作數(shù)目。
3)對于其它不需要實(shí)時(shí)處理的應(yīng)用,將省略性能測定,以減小由性能測定帶來的開銷。然而,這種應(yīng)用能夠獲得系統(tǒng)響應(yīng)的性能信息,并且必要時(shí)通知用戶預(yù)測的響應(yīng)時(shí)間。
同時(shí),建立一個(gè)策略來確定四種類型應(yīng)用的缺省和最大的系統(tǒng)資源使用限度。然后,在執(zhí)行一個(gè)新的應(yīng)用之前,根據(jù)缺省和最大范圍來交換QoS參數(shù),之后執(zhí)行許可控制。下面將說明設(shè)置一個(gè)策略的例子。
1)為在系統(tǒng)中使用的每個(gè)類的應(yīng)用確定最小CPU時(shí)間值。假定系統(tǒng)(PU_sys)的PU數(shù)目為51,200,為I/O作業(yè)分配20,000個(gè)PU,為用戶處理的受CPU限制的作業(yè)分配其余的PU。如果分別為I/O作業(yè)類1、2、3和4分配20%、10%、10%和10%的最小資源,則為每個(gè)應(yīng)用分配的最小資源如下PUc1_def(類1應(yīng)用的缺省PU)=4,000PU
PUc2_def(類2應(yīng)用的缺省PU)=2,000PUPUc3_def(類4應(yīng)用的缺省PU)=2,000PUPUc4_def(類4應(yīng)用的缺省PU)=2,000PU2)接著,按照應(yīng)用的使用模式來分配剩余的資源。因?yàn)橐逊峙淞丝偣?0,000個(gè)PU的10,000個(gè)PU,則還可使用剩余的10,000個(gè)PU。上述四個(gè)應(yīng)用類可以共用剩余的資源。如果確定要增加類1應(yīng)用的使用模式中的最大使用值,而且確定不要超過類3應(yīng)用的已經(jīng)設(shè)定的值,則可以如下分配附加的資源PUc1_def(類1應(yīng)用的附加PU)=4,000PUPUc2_def(類2應(yīng)用的附加PU)=2,000PUPUc3_def(類4應(yīng)用的附加PU)=2,000PUPUc4_def(類4應(yīng)用的附加PU)=2,000PU因此,為每個(gè)應(yīng)用分配如下范圍的CPU資源PUc1=(PUcl_def,PUc1_nax)=<4,000,11,500>PUPUc2=(PUc2_def,PUc2_max)=<2,000,4,500>PUPUc3=(PUc3_def,PUc3_max)=<2,000,2,000>PUPUc4=(PUc4_def,PUc4_max)=<2,000,9,500>PU根據(jù)測得的給定應(yīng)用的性能參數(shù)、應(yīng)用類的優(yōu)先級以及由用戶設(shè)置的在策略管理器中的資源分配,如下執(zhí)行E-QoS模型化處理。
首先,將按類說明應(yīng)用的性能參數(shù)。類2應(yīng)用的例子是語音通信和視頻會議。對于語音通信而言,在語音通信中的一個(gè)方向上的處理包括兩個(gè)步驟的任務(wù)。在第一個(gè)步驟中,I/O設(shè)備通過語音編譯碼器讀取數(shù)據(jù),而在第二個(gè)步驟中,通過電信協(xié)議按每30毫秒的間隔以分組的形式傳送數(shù)據(jù)。對于視頻會議而言,在分別通過聲碼器和視頻編譯碼器輸入數(shù)據(jù)之后。按每30毫秒的間隔傳送語音數(shù)據(jù),按每150毫秒的間隔傳送圖像數(shù)據(jù)。
除了類3應(yīng)用使用更多的系統(tǒng)資源之外,類3應(yīng)用的特征與類2應(yīng)用的特征相同。一般情況下,類2和類3應(yīng)用需要10毫秒單位的調(diào)度。如果這種作業(yè)數(shù)目較多,則由于上下文開銷而不可能在現(xiàn)有系統(tǒng)中設(shè)計(jì)出一個(gè)有效的系統(tǒng)。
在本發(fā)明的E-QoS模型中,在特殊I/O中處理類2和類3應(yīng)用而沒有通過用戶空間。因此,最大限度減少了在用戶空間中的上下文切換。此外,如果在特殊I/O中處理應(yīng)用,則較容易預(yù)測作業(yè)執(zhí)行時(shí)間,即PU。
此外,按照本發(fā)明的一個(gè)實(shí)施例,為類2和類3作業(yè)使用在調(diào)度處理中具有最高優(yōu)先級的HQ。在該HQ的結(jié)構(gòu)中可以有時(shí)間間隔,并且調(diào)度器按照該時(shí)間間隔和作業(yè)執(zhí)行時(shí)間布置各作業(yè)。
圖5示出一例HQ作業(yè)間隔分布。參照圖5,在10毫秒中為I/O分配了200個(gè)PU。分別將<20,45>和<20,20>的PU范圍分配給類2和類3的應(yīng)用。此外,留下60個(gè)PU作為儲備,這是類1和類4應(yīng)用的PU缺省值之和。這里,如果類2和類3應(yīng)用的最大PU值以及類1和類4的缺省PU值之和超過200,就不能保證某些類2和類3作業(yè)的QoS。因此,按照本發(fā)明的一個(gè)實(shí)施例,如果類2和類3的最大PU值和類1和類4的缺省PU值之和超過200,則在許可控制中進(jìn)行適當(dāng)?shù)恼{(diào)整。
按照本發(fā)明的一個(gè)實(shí)施例,HQ由作為一個(gè)構(gòu)件單元的在作業(yè)調(diào)度中所需的時(shí)間周期的最大公約數(shù)(以下稱為“GCD”)組成。最好將小于10毫秒的周期當(dāng)作10毫秒的周期。此外,以GCD為周期順序地處理在某個(gè)隊(duì)列中的作業(yè),直到該隊(duì)列為空。
圖6是一例HQ配置的方框圖。參照圖6,在一個(gè)HQ中布置了七個(gè)類2和類3的作業(yè)。因?yàn)轭?應(yīng)用的事務(wù)處理無需實(shí)時(shí)的硬件,所以能夠適當(dāng)?shù)夭贾酶髯鳂I(yè)的特定PU。類1的調(diào)度采用輪式(Round robin-RR)調(diào)度技術(shù)。類4的應(yīng)用具有最低優(yōu)先級,同類1的調(diào)度一樣,類4的調(diào)度也采用RR技術(shù)。
在HQ中保存了各作業(yè)之后,執(zhí)行在MQ中保存的類1的作業(yè),然后執(zhí)行在LQ中保存的類4的作業(yè)。然而,雖然類1的應(yīng)用具有單獨(dú)的隊(duì)列即MQ,但是在某些資源中可以給類1的應(yīng)用賦予較高的優(yōu)先級,因?yàn)镠Q總是保留有用于MQ缺省值的儲備。
有兩種從I/O設(shè)備向網(wǎng)絡(luò)移送數(shù)據(jù)的方式。第一種方式是,從I/O緩沖區(qū)向網(wǎng)絡(luò)緩沖區(qū)移送數(shù)據(jù)。另一種是,讀出盤中保存的數(shù)據(jù),再將數(shù)據(jù)傳送給網(wǎng)絡(luò)。上述的SIO類2采用第一種方式,其中從I/O緩沖區(qū)將數(shù)據(jù)傳送給網(wǎng)絡(luò)緩沖區(qū)。具體例子有VoIP和視頻會議。在VoIP應(yīng)用中,在第一個(gè)地方利用TCP設(shè)置一個(gè)呼叫,接著,通過TCP/UDP將經(jīng)由話筒/聲碼器設(shè)備輸入的各分組傳送給網(wǎng)絡(luò)。這時(shí),必須每30毫秒傳送約30字節(jié)的實(shí)際數(shù)據(jù)。若將該應(yīng)用設(shè)置到睡眠狀態(tài),則僅處理RTP會話的被監(jiān)測事件,假若該事件出現(xiàn)。因此,無需將數(shù)據(jù)從內(nèi)核空間讀入用戶空間以及從用戶空間讀入內(nèi)核空間,也無需調(diào)度用于執(zhí)行讀操作的VoIP用戶處理。
本發(fā)明的方法能夠進(jìn)行周期性調(diào)度并大大減少系統(tǒng)開銷。
可以在諸如VOD或HTML文檔等應(yīng)用中,找到讀出如MPEG流的文件數(shù)據(jù)并傳送給網(wǎng)絡(luò)的例子。在這些應(yīng)用中,打開文件,然后讀出用戶空間緩沖區(qū)中的文件數(shù)據(jù)。
圖7示出一例伴隨盤IO操作的特殊IO作業(yè)。在圖7中,示出了在內(nèi)核中處理伴隨盤讀取的特殊IO系統(tǒng)調(diào)用的方法。如果必須將MPEG流以每幀500字節(jié)且每秒30幀的速度傳送,則按照三個(gè)事件來處理該特殊I/O例程。首先,如果數(shù)據(jù)被保存在文件緩沖區(qū)中,則直接對數(shù)據(jù)進(jìn)行分組,并作為UDP數(shù)據(jù)發(fā)送。然而,如果在文件緩沖區(qū)中沒有接著要傳送的數(shù)據(jù),則立即調(diào)用一個(gè)用于從盤讀取數(shù)據(jù)的例程。因?yàn)楸PI/O需要大約20毫秒,所以如果產(chǎn)生盤中斷,就響應(yīng)該中斷將數(shù)據(jù)寫入文件緩沖區(qū)。
本發(fā)明的操作系統(tǒng)將多媒體應(yīng)用如交互式多媒體或MPEG視頻播放以及關(guān)鍵任務(wù)的應(yīng)用分成各類,并按類分配和調(diào)整系統(tǒng)和網(wǎng)絡(luò)資源,從而即使是在不是專用服務(wù)網(wǎng)絡(luò)的內(nèi)部網(wǎng)和因特網(wǎng)中,也能夠有效地支持多媒體QoS。
如上所述,本發(fā)明的微調(diào)度方法能夠應(yīng)用于其中存在處理多媒體數(shù)據(jù)的操作系統(tǒng)的任何計(jì)算機(jī)的操作系統(tǒng)、諸如Web服務(wù)器和多媒體服務(wù)器等的服務(wù)器、諸如路由器等的網(wǎng)絡(luò)設(shè)備、以及計(jì)算機(jī)交換設(shè)備。
具體地講,本發(fā)明的上述微調(diào)度方法可以編碼成計(jì)算機(jī)程序??梢栽诓僮飨到y(tǒng)中通過將該程序納入操作系統(tǒng)內(nèi)核來實(shí)現(xiàn)該程序。上述程序包括代碼和代碼段,并且本領(lǐng)域普通程序員可以容易編制出該程序。而且,還可以在一般用途的數(shù)字計(jì)算機(jī)中通過運(yùn)行來自計(jì)算機(jī)可讀介質(zhì)的上述程序來實(shí)現(xiàn)本發(fā)明。該介質(zhì)包括如軟盤和硬盤等磁性存儲介質(zhì)、如CD-ROM和DVD等光學(xué)可讀介質(zhì)。此外,也可以通過如因特網(wǎng)等電信載波設(shè)施來傳送上述程序。按照如上所述的本發(fā)明,通過在其中存在處理多媒體數(shù)據(jù)的操作系統(tǒng)的任何計(jì)算機(jī)的操作系統(tǒng)、諸如Web服務(wù)器和多媒體服務(wù)器等的服務(wù)器、諸如路由器等的網(wǎng)絡(luò)設(shè)備、以及計(jì)算機(jī)交換設(shè)備中采用一個(gè)附加的系統(tǒng)調(diào)用,能夠有效地支持多媒體QoS。
權(quán)利要求
1.一種用于在支持多媒體應(yīng)用的操作系統(tǒng)內(nèi)核上實(shí)現(xiàn)的微調(diào)度方法,所述微調(diào)度方法包括下列步驟(a)通過測定所述應(yīng)用中的受I/O限制的作業(yè)性能和受CPU限制的作業(yè)性能,來確定多個(gè)應(yīng)用的性能參數(shù);(b)當(dāng)執(zhí)行作業(yè)許可控制時(shí),按照由系統(tǒng)管理者預(yù)先設(shè)置的策略,對所述性能參數(shù)進(jìn)行調(diào)整;(c)通過對因多媒體應(yīng)用數(shù)據(jù)的特征而無需移動到用戶空間的數(shù)據(jù)的I/O作業(yè)的執(zhí)行周期進(jìn)行調(diào)度,來為多個(gè)應(yīng)用類中的每個(gè)應(yīng)用類確定處理優(yōu)先級;以及(d)按照在步驟(c)中確定的優(yōu)先級次序,執(zhí)行特殊I/O系統(tǒng)調(diào)用。
2.如權(quán)利要求
1所述的微調(diào)度方法,其中,在所述步驟(a)中,通過利用適合于要進(jìn)行性能參數(shù)確定的應(yīng)用類的測試程序,測定所述應(yīng)用所需的受I/O限制的作業(yè)性能和受CPU限制的作業(yè)性能,來確定所述性能參數(shù)。
3.如權(quán)利要求
1所述的微調(diào)度方法,其中,通過根據(jù)在步驟(a)中確定的性能參數(shù)、應(yīng)用類的處理優(yōu)先級、和由系統(tǒng)管理者設(shè)置的策略描述表中的資源分配,建立企業(yè)服務(wù)品質(zhì)模型,來執(zhí)行所述步驟(1)。
4.如權(quán)利要求
1所述的微調(diào)度方法,其中,所述步驟(a)包括下列子步驟執(zhí)行可用性測試;執(zhí)行許可控制和資源保留;描述一個(gè)策略,以便為每個(gè)應(yīng)用確定在系統(tǒng)資源上的資源缺省值和最大范圍;測定受CPU限制的性能;以及測定受I/O限制的性能。
5.如權(quán)利要求
1至4之一所述的微調(diào)度方法,其中,將I/O作業(yè)分成以下四類,這包括將數(shù)據(jù)從用戶空間移動到系統(tǒng)的I/O服務(wù)類1,將數(shù)據(jù)從一個(gè)用戶空間移動到另一個(gè)用戶空間的I/O服務(wù)類2,將數(shù)據(jù)從系統(tǒng)移動到用戶空間的I/O服務(wù)類3,以及將數(shù)據(jù)從一個(gè)系統(tǒng)移動到另一個(gè)系統(tǒng)的I/O服務(wù)類4;在確定了在多媒體應(yīng)用中可能出現(xiàn)的I/O服務(wù)類4的一個(gè)作業(yè)對應(yīng)于一個(gè)特殊I/O之后,如果在一個(gè)應(yīng)用中的作業(yè)對應(yīng)于一個(gè)特殊I/O,則所述特殊I/O系統(tǒng)調(diào)用負(fù)責(zé)按照由I/O調(diào)度方法分配的資源來執(zhí)行周期性I/O操作。
6.如權(quán)利要求
5所述的微調(diào)度方法,其中,所述特殊I/O分成以下3類在盤文件和網(wǎng)絡(luò)之間執(zhí)行I/O的特殊IO類1、在I/O單元和網(wǎng)絡(luò)之間執(zhí)行I/O的特殊IO類2、以及執(zhí)行與一個(gè)應(yīng)用之間、在線程之間或在循環(huán)返回方法中的I/O的特殊IO類3。
7.如權(quán)利要求
6所述的微調(diào)度方法,其中,在所述步驟(c)的調(diào)度中使用的任務(wù)隊(duì)列分成以下三類與I/O服務(wù)類1應(yīng)用有關(guān)的中級隊(duì)列、與I/O服務(wù)類2和3應(yīng)用有關(guān)的高級隊(duì)列、以及與I/O服務(wù)類4應(yīng)用有關(guān)的低級隊(duì)列。
8.如權(quán)利要求
7所述的微調(diào)度方法,其中,所述步驟(c)在調(diào)度I/O服務(wù)類2和I/O服務(wù)類3的作業(yè)時(shí)采用具有最高優(yōu)先級的高級隊(duì)列。
9.如權(quán)利要求
7所述的微調(diào)度方法,其中,在處理I/O服務(wù)類2和I/O服務(wù)類3的作業(yè)時(shí),沒有通過在特定IO單元上的用戶空間。
10.如權(quán)利要求
5所述的微調(diào)度方法,其中,所述策略描述表將用于四類I/O作業(yè)的系統(tǒng)資源的資源缺省值和最大使用限度,作為一個(gè)策略來描述。
11.如權(quán)利要求
10所述的微調(diào)度方法,其中,所述策略描述表包括由具有下述步驟的方法設(shè)置的策略,這些步驟是通過為I/O服務(wù)類1、2、3和4分配與保證每個(gè)應(yīng)用類能夠使用的最小CPU時(shí)間量成正比的最小資源量,來分配資源缺省值;按照各應(yīng)用的使用模式來分配由所述四種應(yīng)用類共享的其余資源;以及為每個(gè)應(yīng)用類分配CPU資源的特定部分。
12.如權(quán)利要求
11所述的微調(diào)度方法,其中,在執(zhí)行新應(yīng)用之前,交換服務(wù)品質(zhì)參數(shù),并通過使用資源缺省值和最大資源范圍值來執(zhí)行許可控制。
13.如權(quán)利要求
6所述的微調(diào)度方法,其中,所述特殊IO類1執(zhí)行下列步驟(a-1)分配一個(gè)文件緩沖區(qū);(b-1)從緩沖區(qū)中讀出X個(gè)字節(jié),其中X是正整數(shù);(c-1)在協(xié)議數(shù)據(jù)單元中檢查是否文件緩沖區(qū)為空;(d-1)如果在步驟(c-1)中檢查出文件緩沖區(qū)為空,則通過喚醒將從中讀出數(shù)據(jù)的盤設(shè)備來執(zhí)行派生處理;(e-1)在一個(gè)高級隊(duì)列中保存步驟(d-1)的結(jié)果;(f-1)如果在步驟(c-1)檢查出文件緩沖區(qū)不為空,則傳送在高級隊(duì)列中保存的數(shù)據(jù),并將盤保持在睡眠狀態(tài);(g-1)將用戶數(shù)據(jù)協(xié)議數(shù)據(jù)傳送給一個(gè)網(wǎng)絡(luò)系統(tǒng);(h-1)在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存所接收的用戶數(shù)據(jù)協(xié)議數(shù)據(jù);以及(i-1)使用媒體存取控制將在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存的用戶數(shù)據(jù)協(xié)議數(shù)據(jù)傳送給網(wǎng)絡(luò)系統(tǒng),其中特殊I/O系統(tǒng)調(diào)用管理從步驟(a-1)一直到(f-1)的各步驟。
14.如權(quán)利要求
6所述的微調(diào)度方法,其中,所述特殊IO類2執(zhí)行下列步驟(a-2)通過話筒輸入外部的語音;(b-2)將輸入的外部語音變換成電信號;(c-2)在硬件聲碼器中將變換后的語音信號轉(zhuǎn)換成數(shù)字語音數(shù)據(jù);(d-2)在緩沖區(qū)中保存數(shù)字語音數(shù)據(jù);(e-2)將在緩沖區(qū)中保存的數(shù)字語音數(shù)據(jù)封裝成分組數(shù)據(jù);(f-2)在一個(gè)高級隊(duì)列中保存分組化的數(shù)據(jù);(g-2)將實(shí)時(shí)傳輸協(xié)議/用戶數(shù)據(jù)協(xié)議數(shù)據(jù)傳送給一個(gè)網(wǎng)絡(luò)系統(tǒng);(h-2)在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存所接收的實(shí)時(shí)傳輸協(xié)議/用戶數(shù)據(jù)協(xié)議數(shù)據(jù);以及(i-2)使用媒體存取控制將在網(wǎng)絡(luò)系統(tǒng)的緩沖區(qū)中保存的實(shí)時(shí)傳輸協(xié)議/用戶數(shù)據(jù)協(xié)議數(shù)據(jù)傳送給網(wǎng)絡(luò)系統(tǒng),其中特殊I/O系統(tǒng)調(diào)用管理從步驟(e-2)一直到(g-2)的各步驟。
15.如權(quán)利要求
1所述的微調(diào)度方法,其中,所述性能測定包括以下步驟(pm-a)將每個(gè)應(yīng)用標(biāo)識為多個(gè)類;以及(pm-b)利用適合于應(yīng)用類的測試程序來測定性能參數(shù)。
16.如權(quán)利要求
15所述的微調(diào)度方法,其中,所述步驟(pm-b)包括以下步驟(pm-b-1)對于關(guān)鍵任務(wù)的作業(yè),利用適用于應(yīng)用特征的基準(zhǔn)檢驗(yàn)程序,來測定能夠處理多少事務(wù),并確定在系統(tǒng)中要處理的最小事務(wù)數(shù)目和最大事務(wù)數(shù)目;(pm-b-2)對于需要資源保留的多媒體應(yīng)用以及符合G723和H.263標(biāo)準(zhǔn)的交互性應(yīng)用,在用戶描述了有關(guān)重復(fù)使用的重要例程的信息和諸如調(diào)度周期的服務(wù)品質(zhì)參數(shù)之后,測定每秒執(zhí)行的編碼或解碼次數(shù);以及(pm-b-3)省略對不需要實(shí)時(shí)處理的應(yīng)用的性能測定。
17.如權(quán)利要求
16所述的微調(diào)度方法,其中,所述步驟(pm-b)包括以下一個(gè)附加步驟如果在所述步驟(pm-b-1)確定甚至僅對于關(guān)鍵任務(wù)的作業(yè)來說系統(tǒng)性能也不足,則通知用戶使用性能更好的系統(tǒng)。
18.一種包含用于支持多媒體應(yīng)用的操作系統(tǒng)內(nèi)核的計(jì)算裝置,所述操作系統(tǒng)內(nèi)核包括企業(yè)服務(wù)品質(zhì)資源管理裝置,用于通過測定在給定應(yīng)用中的受I/O限制的作業(yè)性能和受CPU限制的作業(yè)性能來確定性能參數(shù),并且執(zhí)行作業(yè)許可控制以便按照由系統(tǒng)管理者預(yù)先設(shè)置的策略,對所述性能參數(shù)進(jìn)行調(diào)整;特殊I/O調(diào)度裝置,用于通過對因多媒體應(yīng)用特征而無需移動到用戶空間的數(shù)據(jù)的I/O作業(yè)的執(zhí)行周期進(jìn)行調(diào)度;以及特殊I/O服務(wù)例程裝置,用于按照由特殊I/O調(diào)度裝置設(shè)置的優(yōu)先級次序,執(zhí)行特殊I/O系統(tǒng)調(diào)用。
19.如權(quán)利要求
18所述的計(jì)算裝置,其中,所述企業(yè)服務(wù)品質(zhì)資源管理裝置通過根據(jù)測得的給定應(yīng)用的性能參數(shù)、應(yīng)用類的優(yōu)先級次序、和由用戶設(shè)置的策略描述表中的資源分配,建立企業(yè)服務(wù)品質(zhì)模型,來管理資源。
專利摘要
一種在支持多媒體應(yīng)用的操作系統(tǒng)內(nèi)核上實(shí)現(xiàn)的微調(diào)度方法,包括步驟測定給定應(yīng)用中的受I/O限制的作業(yè)性能和受CPU限制的作業(yè)性能,確定性能參數(shù);當(dāng)執(zhí)行作業(yè)許可控制時(shí),按照由系統(tǒng)管理者預(yù)先設(shè)置的策略,適當(dāng)調(diào)整性能參數(shù);根據(jù)性能測定和作業(yè)許可控制,通過調(diào)度因多媒體應(yīng)用特征而無需移動到用戶空間的數(shù)據(jù)的I/O作業(yè)的執(zhí)行周期,來確定應(yīng)用類處理優(yōu)先級次序;以及,按照處理優(yōu)先級次序,執(zhí)行特殊I/O系統(tǒng)調(diào)用。它使任何支持多媒體應(yīng)用的操作系統(tǒng)都能夠支持準(zhǔn)確的QoS。
文檔編號G06F15/16GKCN1198210SQ00104714
公開日2005年4月20日 申請日期2000年3月24日
發(fā)明者俞恒載, 金鉉植 申請人:三星電子株式會社導(dǎo)出引文BiBTeX, EndNote, RefMan