亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

計(jì)算機(jī)系統(tǒng)、方法及程序的制作方法

文檔序號:6360451閱讀:150來源:國知局
專利名稱:計(jì)算機(jī)系統(tǒng)、方法及程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及在計(jì)算機(jī)系統(tǒng)中,按照網(wǎng)絡(luò)流量(traffic)等的狀態(tài),用于動態(tài)地進(jìn)行資源分配的技術(shù),更詳細(xì)地,涉及轉(zhuǎn)換資源分配的構(gòu)成的技術(shù)。
背景技術(shù)
以前,按照運(yùn)行的應(yīng)用程序的運(yùn)行狀況、網(wǎng)絡(luò)流量的狀態(tài)等,進(jìn)行動態(tài)地變更資源的分配以優(yōu)化計(jì)算機(jī)的處理。為此,提出以下技術(shù)。
特開2005-174201號公報(bào)及特開2007-48315號公報(bào)公開了以下內(nèi)容包括服務(wù)器、網(wǎng)絡(luò)、存儲器的資源表;表示在這些資源上運(yùn)行的應(yīng)用的構(gòu)成要素的應(yīng)用表;保持向資源的應(yīng)用的分配表,從這些構(gòu)成信息生成性能信息的測量項(xiàng)目的性能測量項(xiàng)目模板;根據(jù)性能測量引擎測量這個(gè)性能信息的測量項(xiàng)目的性能測量引擎;生成依據(jù)上述構(gòu)成信息用于資源的分配變更的資源分配變更規(guī)則的部件;和根據(jù)上述生成的資源分配變更規(guī)則和構(gòu)成信息,進(jìn)行資源的分配變更。資源分配變更規(guī)則包括對測量的性能指標(biāo)的聽的閾值。
為了提供能在不受服務(wù)器的性能和/或線路質(zhì)量影響并且無額外空間下使系統(tǒng)穩(wěn)定地操作的應(yīng)用執(zhí)行系統(tǒng),特開2008-191737號公報(bào)公開了以下內(nèi)容將客戶終端和應(yīng)用執(zhí)行裝置連接至第I網(wǎng)絡(luò),同時(shí),將應(yīng)用執(zhí)行裝置和代理服務(wù)器連接至第2網(wǎng)絡(luò)的應(yīng)用執(zhí)行系統(tǒng)中,應(yīng)用執(zhí)行裝置包括執(zhí)行應(yīng)用的執(zhí)行部;與執(zhí)行部獨(dú)立工作,并按照執(zhí)行部的狀態(tài),將接收的執(zhí)行請求傳送給執(zhí)行部或代理服務(wù)器的轉(zhuǎn)換部。此時(shí),代理服務(wù)器,基于執(zhí)行請求,執(zhí)行代理應(yīng)用。
這些的以前技術(shù)公開了在服務(wù)器上測量性能,按照其結(jié)果使處理能力提高地來變更系統(tǒng)配置的技術(shù),但是,在以前技術(shù)中有在變更系統(tǒng)配置時(shí)偶爾系統(tǒng)停止這樣的問題。
近來,許多企業(yè)引入的基于云計(jì)算的服務(wù)中,采用SLA(服務(wù)質(zhì)量保證約定)這個(gè)概念,若系統(tǒng)停止的時(shí)間長,則服務(wù)提供商承擔(dān)損失。
然而,上述的以前技術(shù),關(guān)于在系統(tǒng)配置的轉(zhuǎn)換時(shí)縮短系統(tǒng)停止時(shí)間方面,未提及特別的解決辦法。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)
專利文獻(xiàn)I :特開2005-174201號公報(bào)
專利文獻(xiàn)2 :特開2007-48315號公報(bào)
專利文獻(xiàn)3 :特開2008-191737號公報(bào)發(fā)明內(nèi)容
從而,本發(fā)明的目的在于,在由計(jì)算機(jī)進(jìn)行的動態(tài)資源分配系統(tǒng)中,降低依據(jù)狀況變更系統(tǒng)配置時(shí)的、伴隨構(gòu)成變更的系統(tǒng)停止時(shí)間。
本發(fā)明的系統(tǒng),首先,作為事先處理,橫跨某個(gè)時(shí)間收集系統(tǒng)運(yùn)行期間的流量數(shù)據(jù)。并且,從收集的流量數(shù)據(jù),提取典型的的若干圖形。
本發(fā)明的系統(tǒng),其次,對那些典型的圖形的每個(gè),不限于此,但是,例如,使用本申請人涉及的專利申請2009-271308號說明書記載的技術(shù),分別制作流程序,隨后可以參照地預(yù)先保存。
本發(fā)明的系統(tǒng),其次,保持用于在不同的流程序間遷移的代理任務(wù)的ID。
這樣,在實(shí)際的系統(tǒng)的運(yùn)行中,本發(fā)明的系統(tǒng)定期地或在任意的時(shí)刻測量流量數(shù)據(jù),將作為其結(jié)果得到的圖形與上述的典型的圖形相比較,選擇與最近的典型的圖形相對應(yīng)的流程序作為下一相位。
此時(shí),從當(dāng)前的步驟的流程序,向下一相位轉(zhuǎn)移時(shí),根據(jù)本發(fā)明,通過計(jì)算機(jī)的處理,考慮任務(wù)的轉(zhuǎn)換成本、資源間的數(shù)據(jù)傳送成本等,通過作為代理任務(wù)逐漸向相位的流程序轉(zhuǎn)移現(xiàn)在的相位的空閑任務(wù),程序的停止時(shí)間被抑制。
此時(shí),代理任務(wù)的選擇預(yù)先測量和保存相關(guān)的任務(wù)的管線間距、相關(guān)的任務(wù)間的轉(zhuǎn)換成本、和包括在相關(guān)的相位間的資源間的數(shù)據(jù)發(fā)送接收的時(shí)間的成本,考慮對當(dāng)前的相位的下一相位、使用資源的轉(zhuǎn)移、執(zhí)行任務(wù)的轉(zhuǎn)移,以成本減少的方式進(jìn)行。
根據(jù)本發(fā)明,能得到這樣的效果在由計(jì)算機(jī)進(jìn)行的動態(tài)資源分配系統(tǒng)中,依據(jù)狀況從原來的構(gòu)成向隨后的構(gòu)成轉(zhuǎn)移時(shí),通過從原來的構(gòu)成選擇代理任務(wù)使之執(zhí)行途中的處理,減少處理的空閑時(shí)間,降低程序的停止時(shí)間。


圖I是表示用于實(shí)施本發(fā)明的硬件構(gòu)成的概要的圖。
圖2是用于實(shí)施本發(fā)明的功能塊圖。
圖3是表示構(gòu)成表的例子的圖。
圖4是表示流程序的例子的圖。
圖5是事先處理的流程圖。
圖6是表不通信量信息的時(shí)間推移的圖。
圖7是表示提取的步驟的例子的圖。
圖8是表示流程序的例子的圖。
圖9是表示流程序的例子的圖。
圖10是表示流程序的例子的圖。
圖11是表示向UDOP分配計(jì)算資源的處理的流程圖的圖。
圖12是表示流圖表、可以利用的資源的例子的圖。
圖13是表示向UDOP分配計(jì)算資源之后所請求的資源的例子的圖。
圖14是表示分配變更處理的例子的圖。
圖15是表示用于確定任務(wù)的代理資源的處理的流程圖的圖。
圖16是表示每個(gè)資源的當(dāng)前任務(wù)、和代理任務(wù)的表的圖。
圖17是表示用于相位轉(zhuǎn)換判斷的處理的流程圖的圖。
圖18是表示由代理任務(wù)進(jìn)行的執(zhí)行處理的流程圖的圖。
圖19是表示計(jì)算資源的拓?fù)涞睦拥膱D。
圖20是表示相位的轉(zhuǎn)換、由代理任務(wù)進(jìn)行的執(zhí)行例的圖。
圖21是表示代理方法的執(zhí)行任務(wù)的遷移循環(huán)的例子的圖。
具體實(shí)施方式
以下,根據(jù)附圖,說明本發(fā)明的實(shí)施例。除非另外說明,否則附圖中相同的引用標(biāo)號指代相同的對象。再者,可理解,以下說明是本發(fā)明的一個(gè)實(shí)施方式,并沒有意圖將本發(fā)明限定在這個(gè)實(shí)施例說明的內(nèi)容中。
圖I是表示用于實(shí)施本發(fā)明的硬件構(gòu)成的方塊圖。特別地這個(gè)例子使用PRISM等的多核多處理器路由器設(shè)備100,但是本發(fā)明不限于此。
在圖1,總線102連接至多核處理器104、多核處理器106、RAM 108、以太網(wǎng)堆棧及以太網(wǎng)端口 110、和閃速ROM 112。
作為多核處理器104及106不限于此,但是,網(wǎng)絡(luò)處理器例如能使用Intel(R) IXP425Network Processor。網(wǎng)絡(luò)處理器嵌有以太網(wǎng)(R)MAC、密碼處理等的功能。
因?yàn)槎嗪颂幚砥?04和多核處理器106具有實(shí)質(zhì)相同的構(gòu)成,若代表性地說明多核處理器104,則多核處理器104包括多個(gè)核104a、104b、104c及104d,核104a、104b、104c 及104d經(jīng)由L2高速緩存104e與總線102結(jié)合。
核104a、104b、104c及104d的各個(gè)能運(yùn)行多個(gè)線程。例如,在核104a中,表示塊 SI及S2,但是,這些分別是單獨(dú)的線程SI和S2。因?yàn)樵诤?04b、104c及104d中也同樣,個(gè)別的說明省略。
這個(gè)實(shí)施例中,如圖所示,在多核處理器106的核106d上,執(zhí)行本發(fā)明涉及的主要功能的管理線程Sn運(yùn)行。
RAM 108用于多核處理器104及多核處理器106暫時(shí)保持和讀出處理結(jié)果的值。
隨未圖示,以太網(wǎng)堆棧及以太網(wǎng)端口 110連接至其他的計(jì)算機(jī)系統(tǒng)、網(wǎng)絡(luò)連接存儲器(NAS)、存儲區(qū)域網(wǎng)絡(luò)(SAN)、和另外的路由器等。多核多處理器路由器設(shè)備100承擔(dān)在那些的設(shè)備之間通信數(shù)據(jù)的作用。
在閃速ROM 112中包括使多核處理器104及多核處理器106作為路由器驅(qū)動的 Juniper Networks的Junos (R)或Cisco Systems Inc的IOS等的網(wǎng)絡(luò)操作系統(tǒng)、和后述的本發(fā)明涉及的處理模塊。
其次,參照圖2的功能塊圖,說明閃速ROM 112、RAM 108等包括的、本發(fā)明涉及的處理模塊。
在圖2,統(tǒng)計(jì)信息收集模塊202具有按每時(shí)間間隔收集到達(dá)以太網(wǎng)堆棧及以太網(wǎng)端口 Iio的流量的功能。作為用于收集流量的以前的典型的方法有使用SNMP協(xié)議的方法。 或者,也可使用稱為tcpdump的分組分析命令。此外,還可以使用從Fluke Networks公司可以得到的"NetFlowTracker"等的商業(yè)工具。在這里收集的信息是郵件、FTP、動畫、Web 等的流量的比例。
統(tǒng)計(jì)信息收集模塊202典型地收集至少平日的一天、假日的一天的流量信息,在未圖示的計(jì)算機(jī)系統(tǒng)的硬盤驅(qū)動器等中保存。
模式圖形提取模塊204分析在硬盤驅(qū)動器等中保存的流量信息,提取典型的多個(gè)圖形,作為模式圖形群206典型地保存在RAM 108。模式圖形群206能通過使用每一定時(shí)間間隔的流量圖形的收集、或K平均法等的聚類(clustering)來確定。
構(gòu)成表208具有與模式圖形群206的各流量圖形的每個(gè)對應(yīng)的項(xiàng)目,例如,等同于本申請人涉及的申請2009-271308號說明書中記述的圖6所示的表格,因此作為圖3,再次展示。
在圖3,UDOP是在流程序設(shè)計(jì)中用戶定義的運(yùn)算子,例如,可以是以太網(wǎng)(商標(biāo)) 協(xié)議堆棧、IP協(xié)議堆棧、TCP協(xié)議堆棧、UDP協(xié)議堆棧、SSL協(xié)議堆棧、病毒掃描、和XML加速器等,但這個(gè)實(shí)施例不限于此。
圖3中,內(nèi)核(kernel)是對各個(gè)的UDOP準(zhǔn)備的I個(gè)或多個(gè)模塊,在多個(gè)的場合, 分組的一元排列的大小各不相同。
執(zhí)行圖形例如依據(jù)下列的規(guī)則來表述。
循環(huán)(Rollingloop) A+A+A. . . . A=>loop (n, A)
這里,A+A+A. ... A是A的串聯(lián)處理,loop (n, A)表示使A進(jìn)行n次的循環(huán)。
去除循環(huán)(Unrollingloop) loop (n, A) =>Α+Α+Α. ... A
循環(huán)的串聯(lián)(SeriesRolling) split_join (A, A. . . A) =>loop (n, A)
這里,將并行運(yùn)行的A, A. · · A表示成loop (n, A)。
循環(huán)的并行(Pararell unrolling loop) : loop (n, A) =>sp I i t_ join (A, A, A........A)
這里,將loop (n, A)表示成并行的A, A. . . A。
循環(huán)的分割(Loopsplitting) loop (n, A) =>loop (x, A) +loop (n-x, A)
并行循環(huán)分割(PararellLoop splitting) loop (n, A) =>spliT_ join(loop(x, A), loop (n-x,A))
循環(huán)融合(Loopfusion) loop (n, A) +loop (n, B) =>loop (η, A+B)
循環(huán)融合的串聯(lián)(SeriesLoop fusion) split_join (loop (n, A), loop (n, B)) =>1 oop(n, A+B)
循環(huán)分配(Loopdistribution) loop (n, A+B) =>loop (n, A) +loop (η, B)
并行循環(huán)分配(PararellLoop distribution) :loop(n, A+B)=>split_ join (loop (n, A), loop (n, B))
節(jié)點(diǎn)結(jié)合(Nodemerging) A+B=> {A, B}
節(jié)點(diǎn)分割(Nodesplitting) {A, B} =>A+B
循環(huán)置換(Loopreplacement) :loop (n, A) =>X/*X 是較低成本 */
節(jié)點(diǎn)置換(Nodereplacement) :A=>X/*X 是較低成本 */
圖3中,間距是管線間距,即,管線處理的I個(gè)步驟的處理時(shí)間。還有,所謂資源是使用的CPU的數(shù)目。在圖3的資源欄,在這個(gè)實(shí)施的場合,記載圖I的系統(tǒng)的線程的數(shù)目。
構(gòu)成表208的項(xiàng),基于包括與以太網(wǎng)堆棧及以太網(wǎng)端口 110連接的硬件及軟件的系統(tǒng)環(huán)境209,通過未圖示的預(yù)定的處理模塊來制作。這可通過以下方式來達(dá)成對每個(gè) UDOP取得實(shí)現(xiàn)UDOP的內(nèi)核定義,取得執(zhí)行對象的硬件配置,組合使用架構(gòu)而準(zhǔn)備使用資源的組,關(guān)于這些,選擇可以執(zhí)行的內(nèi)核,生成執(zhí)行圖形,關(guān)于使用資源的組全部執(zhí)行測量管線間距這樣的處理。其更詳細(xì)的處理請參照與本申請人涉及的申請2009-271308號說明書的圖3相對應(yīng)的說明書的記述。
編譯器210對模式圖形群206的各模式圖形的每個(gè),參照構(gòu)成表208的項(xiàng),對各模式圖形的每個(gè),制作流形式編碼。
還有,作為用于記述流形式編碼的流程序設(shè)計(jì)語言,已知有國際商業(yè)機(jī)器公司的 SPADE、麻省理工學(xué)院的Streamlt等。根據(jù)Streamlt,如圖4所示的流圖表,用以下的編碼來記述。
add splitjoin {split roundzobin(); add pipeline {add A(); add B(); add CO add D () ,*}add pipeline { add EU ;add F{)I join roundrobin();}
關(guān)于Streamlt的更詳細(xì)的說明,請參照
http://groups.csail.mit.edu/cag/streamit/ 或 http://groups.csail.mit. edu/cag/streamit/papers/streamit-cookbook. pdf。
還有,關(guān)于SPADE,請參照
http://domino, research, ibm. com/comm/research_projects. nsf/pages/esps. spade, html。
編譯器210基于各模式圖形制作流形式編碼。關(guān)于更詳細(xì)的處理,稍后更詳細(xì)地說明。流形式編碼以圖表形式記述執(zhí)行處理的任務(wù)和執(zhí)行其任務(wù)的硬件資源。
若這樣,流形式編碼對各模式圖形的每個(gè)而生成,則未圖示的特定的處理程序生成與各模式圖形相對應(yīng)的流形式編碼之間的遷移表214。再者,遷移表214的生成也可由編譯器210進(jìn)行。再者,以下,將流形式編碼的集稱為流形式編碼群212。
以上敘述了的為事先準(zhǔn)備的模式圖形群206、流形式編碼群212、遷移表214的模塊,但是,其次,說明實(shí)際的路由器設(shè)備100的工作之間的模塊群。
模式圖形測量模塊216,在路由器設(shè)備100的工作期間,適當(dāng)?shù)?,采用對每類型將比統(tǒng)計(jì)信息收集模塊202輕量的、流形式編碼的前端的任務(wù)處理數(shù)據(jù)計(jì)數(shù)這樣的處理,來測量模式圖形。測量例如在路由器設(shè)備100處理的流量的性質(zhì)適當(dāng)?shù)闹芷谶M(jìn)行。
模式圖形比較模塊218具有將模式圖形測量模塊216測量的模式圖形和模式圖形群206的各模式圖形相比較的功能。其比較的結(jié)果,由流形式編碼選擇模塊220從流形式編碼群212選出與最接近的模式圖形相對應(yīng)的流形式編碼。
轉(zhuǎn)換模塊222具有從在目前執(zhí)行環(huán)境224執(zhí)行的流形式編碼轉(zhuǎn)換成基于模式圖形比較模塊218的比較結(jié)果而選擇的流形式編碼,并在執(zhí)行環(huán)境224執(zhí)行的功能。
此時(shí),根據(jù)本發(fā)明的特征,轉(zhuǎn)換模塊222通過設(shè)定從當(dāng)前的流形式編碼轉(zhuǎn)換成下面的流形式編碼時(shí)的適當(dāng)?shù)拇砣蝿?wù),使程序停止時(shí)間減少。這個(gè)處理的詳情稍后使用流程圖等說明。
其次,參照圖5的流程圖,關(guān)于統(tǒng)計(jì)信息的收集及事先處理的流動來說明。這個(gè)處理,例如,在依據(jù)本發(fā)明的功能使路由器設(shè)備100工作之前,通過用戶的操作開始。
在步驟502,統(tǒng)計(jì)信息收集模塊202按每時(shí)間間隔收集到達(dá)以太網(wǎng)堆棧及以太網(wǎng)端口 Iio的流量。統(tǒng)計(jì)信息收集模塊202使用SNMP協(xié)議、稱為tcpdump的分組分析命令, 或從NetFlow Tracker公司可以得到的"NetFlowTracker"的商業(yè)工具等。在這里收集的信息是郵件、FTP、動畫、Web等的流量的比例。統(tǒng)計(jì)信息收集模塊202典型地收集至少平日的一天、假日的一天的流量信息,在未圖示的計(jì)算機(jī)系統(tǒng)的硬盤驅(qū)動器等中保存。在圖6示意性表示流量信息隨時(shí)間一起變化的情況。在這里,例示地表示郵件、FTP、動畫及Web,但是,可理解,這僅是一個(gè)例子,實(shí)際上可能有更多種的類型的內(nèi)容的流量。
在步驟504,模式圖形提取模塊204從統(tǒng)計(jì)信息收集模塊202收集的流量信息提取如圖7所示的多個(gè)典型的模 式圖形702、704 · · · 706。
模式圖形702、704 · · · 706也可以是每一定時(shí)間間隔提取的流量信息的圖形,或者,也可以聚集每一定時(shí)間間隔提取的流量信息的多個(gè)圖形,從通過例如K平均法聚類而得到的簇取出代表性的圖形。模式圖形(相位)702、704 · · · 706,作為模式圖形群206, 適當(dāng)?shù)乇4嬖赗AM 108。向這樣生成的模式圖形702、704 · · · 706分別賦予特有的相位 ID。
在步驟506,編譯器210參照構(gòu)成表208的項(xiàng)目,對模式圖形群206的各模式圖形 (相位)的每個(gè),生成流形式編碼。若換句話說,對每個(gè)相位,導(dǎo)出基于流處理的資源映射。
圖8是作為基本的流程序的例子,如圖示,以太網(wǎng)協(xié)議堆棧與IP協(xié)議堆棧連接,從后者那里,分成TCP協(xié)議堆棧和UDP協(xié)議堆棧,TCP協(xié)議堆棧和UDP協(xié)議堆棧與病毒掃描連接,并且也與SSL協(xié)議堆棧連接,SSL協(xié)議堆棧與病毒掃描連接,病毒掃描與XML加速器連接。
在圖8,沒考慮流程序的各處理要素的負(fù)載,但是,如圖9的模式902,對應(yīng)特定的流量信息的模式,流程序的各處理要素涉及的負(fù)載變化。即,在圖9,包圍各處理要素的塊的大小表示負(fù)載。
圖10表示對另外的流量信息的模式1002,各處理要素的負(fù)載涉及的分散不同的情況。即,在流量信息的模式變化時(shí),流程序的特定的各處理要素上消耗過多負(fù)載,那里變成瓶頸,全部的處理速度下降。
在那里,在流程序中,通過資源映射,謀求處理的優(yōu)化。作為用于實(shí)現(xiàn)的方法,如下。
-數(shù)據(jù)并行化、管線的確定
此時(shí),由于任務(wù)也并行利用,能得到存儲器訪問的局域性的提高、通信競爭的抑制、通信延遲的隱藏等的效果。
-通過處理中負(fù)載重的協(xié)議堆棧分成多個(gè)步驟,將負(fù)載輕的協(xié)議堆棧整合成一個(gè)步驟,取得每個(gè)資源的負(fù)載及管線間距的平衡。
因?yàn)橛糜诖说脑敿?xì)的處理稍稍復(fù)雜,稍后另外說明。生成的流形式編碼群212適當(dāng)?shù)乇4嬖赗AM 108。
在步驟508,制作以這樣方式被制作的流形式編碼群212的流形式編碼間的遷移表214。遷移表214包含對于每個(gè)概況的相位在每處理器的流形式編碼的當(dāng)前任務(wù)、和從I 個(gè)流形式編碼向另外的流形式編碼轉(zhuǎn)換時(shí)的代理任務(wù)。關(guān)于遷移表214的內(nèi)容,稍后詳細(xì)地說明。
其次,以下參照圖11,關(guān)于生成流形式編碼的處理來說明。
在圖11,事先準(zhǔn)備系統(tǒng)環(huán)境209,即資源限制(硬件配置)、和構(gòu)成表208。在圖12 表示由功能塊A、B、C、D組成的流圖表和資源限制的例子。在這里,系統(tǒng)環(huán)境209是連接至圖I的以太網(wǎng)堆棧及以太網(wǎng)端口 110的系統(tǒng)配置。
編譯器210,在步驟1102,進(jìn)行過濾。即,從給定的硬件配置和構(gòu)成表208僅提取可以執(zhí)行的圖形,制作優(yōu)化表(A)。
編譯器210,在步驟1104,參照優(yōu)化表(A),制作向流圖表中的各UDOP分配管線間距最短的執(zhí)行圖形的執(zhí)行圖形群⑶。在圖13表示向流圖表的各塊分配這樣圖形的情況的例子。
其次,在步驟1106,編譯器210判斷執(zhí)行圖形群⑶是否滿足給定的資源限制。
在步驟1106,若編譯器210判斷執(zhí)行圖形群(B)滿足給定的資源限制,則這個(gè)處理完成。
在步驟1106,若編譯器210判斷執(zhí)行圖形群(B)沒滿足給定的資源限制,則進(jìn)入步驟1108,制作按管線間距順序排序執(zhí)行圖形群⑶中的執(zhí)行圖形群的列表(C)。
其次,進(jìn)入步驟1110,編譯器210從列表(C)選擇管線間距最短的執(zhí)行圖形的 UDOP (D)。
其次,進(jìn)入步驟1112,編譯器210關(guān)于UDOP(D)判斷消耗資源較少的執(zhí)行圖形(下一候選項(xiàng))(E)是否存在于優(yōu)化表(A)中。
如果為肯定,則進(jìn)入步驟1114,編譯器210關(guān)于UDOP(D)判斷執(zhí)行圖形(下一候選項(xiàng))(E)的管線間距是否小于列表(C)內(nèi)的最長值。
如果是肯定,則進(jìn)入步驟1116,編譯器210分配執(zhí)行圖形(下一候選項(xiàng))(E)作為 UDOP⑶的新的執(zhí)行圖形,更新執(zhí)行圖形群(B)。
從步驟1116,返回到步驟1106的判斷。
如果在步驟1112的判斷是否定,則進(jìn)入步驟1118,在那里,編譯器210從(C)移除該 UDOP。
其次,進(jìn)入階段1120,在那里,編譯器210判斷要素是否存在于列表(C)中。如果是肯定,則返回到步驟1108。
如果在步驟1120判斷要素不存在于列表(C)中,則進(jìn)入步驟1122,在那里,編譯器 210制作按執(zhí)行圖形群(B)的最長管線間距和下一候選項(xiàng)的管線間距的差的順序排序執(zhí)行圖形群(B)中的執(zhí)行圖形群的列表(F)。
其次,在步驟1124,編譯器210,判斷關(guān)于列表(F)中管線間距的差最短的執(zhí)行圖形(G),其請求的資源是否小于現(xiàn)在關(guān)注的資源。
如果是肯定,則進(jìn)入步驟1126,在那里,編譯器210分配執(zhí)行圖形(G)作為新的執(zhí)行圖形,更新執(zhí)行圖形群(B),進(jìn)入步驟806。如果不是肯定,則在步驟1128,從(F)移除該 UD0P,返回到步驟1122。
圖14是表示由這樣的執(zhí)行圖形群的置換而優(yōu)化的例子的圖。在圖14,為解除資源限制,D4被D5置換。
若這樣進(jìn)行資源的分配,其各個(gè)流形式編碼優(yōu)選地作為流形式編碼群212在RAM 108中。再者,向各個(gè)流形式編碼的各任務(wù)賦予特有的任務(wù)ID。
其次,參照圖15的流程圖,說明選擇在相位轉(zhuǎn)換時(shí)的代理任務(wù)的處理。這個(gè)處理, 通過在處理器104或處理器106運(yùn)行的預(yù)定的線程來執(zhí)行。
在進(jìn)行圖15的流程圖的說明之前,說明以下使用的記號或算式的定義。
定義
task(b, r):資源r在相位b的任務(wù)
Pre (t):任務(wù)t的前端任務(wù)的集合
Post(t):任務(wù)t的后續(xù)任務(wù)的集合
※I :在相位b的任務(wù)t的開始時(shí)間
start (b, t) =max {start (b, p) : p e Pre (t)} +pitch
pitch :管線間距(各任務(wù)的執(zhí)行時(shí)間)
※2:cost (t, r) =D+C+T
D=max {O, start (a, task (a, r)) -start (b, task (t)}
D是包含到代理任務(wù)執(zhí)行開始為止的空閑時(shí)間的成本。
C=max {delay (i, r), delay (r, j) : i e Deputize (a, b, s), s e Pre (t), j e Resource ( b, u), u e Post (t)}
Resource (b, t):在相位b承承擔(dān)務(wù)t的資源的集合
Deputize (a, b, t):從相位a向相位b轉(zhuǎn)換時(shí)代理任務(wù)t的資源的集合
delay (a, b):從資源a開始數(shù)據(jù)的發(fā)送,到資源b完成數(shù)據(jù)的接收的時(shí)間
T=change (task (a, r), t) +change (t, task (b, r))
change (tl, t2):如果任務(wù)tl與t2相同則為0,如果不同則為TC (每任務(wù)切換I次的成本,任意的常數(shù))
返回到圖15的流程圖,在步驟1502,輸入資源的集合R和相位a、b。此時(shí),在資源的集合R,包括資源ID和各資源間的通信延遲。還有,相位a、b包括任務(wù)ID、承擔(dān)各任務(wù)的資源ID、各任務(wù)的前端及后續(xù)任務(wù)的集合、各任務(wù)的執(zhí)行時(shí)間。這個(gè)與圖5的步驟508相對應(yīng)。
在步驟1504,制作按任務(wù)開始時(shí)間的升序排序相位b的任務(wù)(若更嚴(yán)密說,與相位 b相對應(yīng)的流圖表的任務(wù))的列表Tb。在這里,任務(wù)開始時(shí)間,由上述※I定義。
在步驟1506,將Tb的前端的任務(wù)設(shè)置為t。
其次,步驟1508、步驟1510、步驟1512、步驟1514、直到步驟1516,為在相位b承擔(dān) t的各資源rb的處理。
在步驟1510,將R中包含的且與rb相同的類型的資源r中cost(t,r)最小的r設(shè)為rb’。在這里,資源的類型是通用處理器、作為圖形處理單元的加速器等。還有,cost (t,r) 由上述的※2定義。
在步驟1512,rb’的代理任務(wù)設(shè)為t。其次,在步驟1514,從R刪除rb’。
因此,返回到步驟1508,只要在相位b承擔(dān)t的資源rb存在,則重復(fù)步驟1510、步驟1512、步驟1514、步驟1516。
在步驟1518,從Tb刪除前端的要素t,在步驟2320,判斷Tb是否清空。如果不是肯定,則處理返回到步驟1506。在步驟1506的前端,是在步驟1518從Tb刪除前端的要素 t之后的下一要素。
若在步驟2320,判斷Tb清空,則能得到各任務(wù)的代理資源的集合。S卩,在步驟 1512,確定資源rb’的代理任務(wù)t,可得到那樣的(rb’,t)的集合。
圖15的流程圖的處理,關(guān)于互相不同的相位a、b的所有組合來進(jìn)行。其結(jié)果,如圖16所示,關(guān)于與路由器設(shè)備100連接的可以利用的全部的資源的各個(gè),制作相位ID和當(dāng)前任務(wù)的ID的對應(yīng)表、以及、相位ID和代理任務(wù)的ID的對應(yīng)表。相位ID和代理任務(wù)的ID 的對應(yīng)表作為2維表來表不,以表不雙向的轉(zhuǎn)移。這些對應(yīng)表,在圖2中作為遷移表214來表不。
S卩,相位ID和當(dāng)前任務(wù)的ID的對應(yīng)表在圖5的步驟506中制作,相位ID和代理任務(wù)的ID的對應(yīng)表在圖5的步驟508中制作。
在各資源上執(zhí)行的程序可通過準(zhǔn)備切換基于任務(wù)ID調(diào)用的函數(shù)這樣的包裝 (wrapper)來轉(zhuǎn)換。
上述是通常任務(wù)用的表,但是,也可以準(zhǔn)備監(jiān)視任務(wù)用的表。這樣,保持用于相位轉(zhuǎn)換時(shí)的判斷的閾值,在每時(shí)間帶的轉(zhuǎn)換的場合,成為時(shí)間和相位ID的組合,在關(guān)于K平均法的場合,成為重心和相位ID的組合。
圖17是表示準(zhǔn)備流形式編碼群212和遷移表之后的,模式圖形測量模塊216和模式圖形比較模塊218的工作的流程圖。
在圖17,步驟1702,模式圖形測量模塊216進(jìn)行負(fù)載測量,S卩,收集到達(dá)以太網(wǎng)堆棧及以太網(wǎng)端口 Iio的流量。模式圖形比較模塊218,在步驟1702,計(jì)算其測量的流量的模式(相位)和當(dāng)前選擇的相位的距離,進(jìn)行相位轉(zhuǎn)換判斷。即,如果其距離是在預(yù)定的閾值以內(nèi),則進(jìn)行不轉(zhuǎn)換這樣的判斷,返回到步驟1702。還有,如果其距離是在預(yù)定的閾值以上, 則進(jìn)行轉(zhuǎn)換這樣的判斷,進(jìn)入步驟1706。
還有,如圖7所示,相位能考慮以郵件、FTP、動畫、Web等的流量的比例作為成分的特征向量,于是,在那些特征向量之間,能定義歐幾里得(Euclid)距離、曼哈頓 (Manhattan)距離、內(nèi)積等的值。并且,優(yōu)選地查看這樣的內(nèi)積和距離是否在閾值內(nèi)。
在步驟1706,模式圖形比較模塊218,對流形式編碼選擇模塊220,發(fā)送圖表前端的資源相位轉(zhuǎn)換指示。那樣處理,返回到步驟1702。
圖18是表示流形式編碼選擇模塊220、轉(zhuǎn)換模塊222及執(zhí)行環(huán)境224的工作的流程圖的圖。
在步驟1802,執(zhí)行環(huán)境224執(zhí)行在當(dāng)前選擇的流形式編碼中的當(dāng)前任務(wù)。在步驟 1804,判斷轉(zhuǎn)換模塊222判斷是否從全部的先前資源接收了相位轉(zhuǎn)換指示。如果不是肯定, 則返回到步驟1802,執(zhí)行環(huán)境224繼續(xù)執(zhí)行當(dāng)前任務(wù)。
在步驟1804,若轉(zhuǎn)換模塊222從全部的前端資源接收相位轉(zhuǎn)換指示,則進(jìn)入步驟 1806,在那里,通過監(jiān)視任務(wù)已經(jīng)選擇的流形式編碼作為后續(xù)流形式編碼。
因?yàn)樵谀抢?,相位轉(zhuǎn)換指示包括后續(xù)流形式編碼的ID,所以在步驟1806,轉(zhuǎn)換模塊222,將相位轉(zhuǎn)換指示追加到全部的后續(xù)資源的數(shù)據(jù)隊(duì)列的末尾。
其次,進(jìn)入步驟1808,判斷轉(zhuǎn)換模塊222是否超過了后續(xù)流形式編碼的當(dāng)前任務(wù)開始時(shí)刻。如果不是肯定,則在步驟1810,執(zhí)行環(huán)境224執(zhí)行相位轉(zhuǎn)換指示的相位ID的代理任務(wù),并返回到步驟1808。代理任務(wù),如圖16所示,能從使用中的資源的之前的相位ID 和當(dāng)前的相位ID來確定。
若在步驟1808,轉(zhuǎn)換模塊222判斷超過了后續(xù)流形式編碼的當(dāng)前任務(wù)開始時(shí)刻, 則進(jìn)入步驟1812。
在步驟1812,轉(zhuǎn)換模塊222,在步驟1812,判斷代理任務(wù)的數(shù)據(jù)是否留在隊(duì)列中。 如果不是肯定,則處理返回到步驟1802的當(dāng)前任務(wù)執(zhí)行。
如果在步驟1812,轉(zhuǎn)換模塊222,在步驟1812,判斷代理任務(wù)的數(shù)據(jù)留在隊(duì)列中, 則處理進(jìn)入步驟1814,轉(zhuǎn)換模塊222使執(zhí)行環(huán)境224執(zhí)行代理任務(wù),將其輸出發(fā)送至本來執(zhí)行后續(xù)的任務(wù)的資源。
以下,關(guān)于使用代理任務(wù)的相位轉(zhuǎn)換工作,通過示意性例子,更具體地說明。首先, 圖19是連接至路由器設(shè)備100的以太網(wǎng)堆棧及以太網(wǎng)端口 110的計(jì)算資源的拓?fù)?。這是物理的拓?fù)?,而不是軟件的,不能動態(tài)地重構(gòu)。
圖20示出,對由這樣的資源I-資源6組成的物理的拓?fù)涞挠?jì)算資源,在從如⑴ 所示作為相位α以流形式進(jìn)行資源的分配的狀態(tài)轉(zhuǎn)移至如(3)所示作為相位β以流形式進(jìn)行資源的分配的狀態(tài)轉(zhuǎn)移時(shí),經(jīng)過使用如(2)所示的代理任務(wù)的經(jīng)過狀態(tài),伴隨相位轉(zhuǎn)換降低系統(tǒng)停止時(shí)間。
S卩,為了從在圖20(1)中相位α的狀態(tài)(資源I執(zhí)行任務(wù)a,資源2執(zhí)行任務(wù)C, 資源3執(zhí)行任務(wù)d,資源4執(zhí)行任務(wù)e,資源5執(zhí)行任務(wù)f,資源6執(zhí)行任務(wù)b)轉(zhuǎn)移至在圖 20 (3)的相位β的狀態(tài)(資源I執(zhí)行任務(wù)Α,資源2執(zhí)行任務(wù)B,資源3執(zhí)行任務(wù)C,資源 4執(zhí)行任務(wù)Ε,資源5執(zhí)行任務(wù)D,資源6執(zhí)行任務(wù)F),在圖20 (2),如步驟1810,資源3執(zhí)行任務(wù)D并向資源5發(fā)送,其次,如步驟1814,資源3執(zhí)行任務(wù)D并向資源6發(fā)送,轉(zhuǎn)移至圖20 (3),其次,如步驟1802,資源3執(zhí)行任務(wù)C并向資源5發(fā)送。同樣,資源6也是,在圖 20 (2),代理執(zhí)行任務(wù)C,向資源4和資源3發(fā)送。
圖21是表示執(zhí)行任務(wù)的遷移循環(huán)的圖。在圖中,特別地,資源6的任務(wù)C的執(zhí)行和資源3的任務(wù)D的執(zhí)行是作為代理任務(wù)的執(zhí)行。
S卩,因?yàn)楦飨辔槐还芫€化,從前端的任務(wù)按順序結(jié)束。在那里,根據(jù)本發(fā)明的基本的方案,先結(jié)束相位α的資源代理相位β的前方的資源,若全部的資源結(jié)束相位α的任務(wù),則開始本來的任務(wù)。
以上,依據(jù)特定的實(shí)施例說明了本發(fā)明,但是,所表示的硬件、軟件、網(wǎng)絡(luò)構(gòu)成僅是例示,應(yīng)理解,本發(fā)明能通過與這些功能等同的任意的構(gòu)成實(shí)現(xiàn)。
符號的說明
100路由器設(shè)備
IO2 總線
104多核處理器
106多核處理器
108RAM
110以太網(wǎng)端口
112閃光ROM
202統(tǒng)計(jì)信息收集模塊
204模式圖形提取模塊
206模式圖形群
208構(gòu)成表
209系統(tǒng)環(huán)境
210編譯器
212流形式編碼群
214遷移表
216模式圖形測量模塊
218模式圖形比較模塊
220流形式編碼選擇模塊
222轉(zhuǎn)換模塊
224執(zhí)行環(huán)境
702模式圖形
704模式圖形
706模式圖形
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng)的控制方法,用于通過計(jì)算機(jī)的處理,按照網(wǎng)絡(luò)流量信息的內(nèi)容,以適合處理的方式動態(tài)地變更構(gòu)成,包括以下步驟預(yù)先保存以分別適合與網(wǎng)絡(luò)流量信息不同的多個(gè)內(nèi)容相對應(yīng)的相位的方式以流形式指定任務(wù)和執(zhí)行該任務(wù)的資源分配的信息;測量網(wǎng)絡(luò)流量信息;選擇與測量的上述網(wǎng)絡(luò)流量信息相對近的流形式的資源分配信息作為下一相位;從已經(jīng)選擇的當(dāng)前的相位的流形式的資源分配轉(zhuǎn)換成上述下一相位的流形式的資源分配,其執(zhí)行方式為,在當(dāng)前的相位的流形式的資源分配中先結(jié)束處理的上述資源過渡性地代理在上述下一相位的流形式的資源分配的任務(wù)。
2.如權(quán)利要求I所述的方法,還包括以下步驟對每個(gè)可以利用的上述資源,計(jì)算相位間轉(zhuǎn)移的代理任務(wù)并作為表來存儲,上述轉(zhuǎn)換的步驟從當(dāng)前的相位和下一相位檢索并代理執(zhí)行與該資源對應(yīng)存儲的上述代理任務(wù)。
3.如權(quán)利要求2所述的方法,其中選擇上述相位間轉(zhuǎn)移的代理任務(wù),以減少相關(guān)的任務(wù)間的轉(zhuǎn)換成本、包含直到代理任務(wù)執(zhí)行開始為止的空閑時(shí)間的成本、和包含在相關(guān)的相位間的資源間的數(shù)據(jù)發(fā)送接收的時(shí)間的成本。
4.一種計(jì)算機(jī)系統(tǒng),用于通過計(jì)算機(jī)的處理,按照網(wǎng)絡(luò)流量信息的內(nèi)容,以適合處理的方式動態(tài)地變更構(gòu)成,包括以下部件存儲部件;在上述存儲部件中保存以分別適合與網(wǎng)絡(luò)流量信息不同的多個(gè)內(nèi)容相對應(yīng)的相位的方式以流形式指定任務(wù)和執(zhí)行該任務(wù)的資源分配的信息的部件;測量網(wǎng)絡(luò)流量信息的部件;測量網(wǎng)絡(luò)·流量信息的手段,選擇與測量的上述網(wǎng)絡(luò)流量信息相對近的流形式的資源分配信息作為下一相位的部件;從已經(jīng)選擇的當(dāng)前的相位的流形式的資源分配轉(zhuǎn)換成上述下一相位的流形式的資源分配的部件,其執(zhí)行方式為,在當(dāng)前的相位的流形式的資源分配中先結(jié)束處理的上述資源過渡性地代理在上述下一相位的流形式的資源分配的任務(wù)。
5.如權(quán)利要求4所述的系統(tǒng),還包括以下部件對每個(gè)可以利用的上述資源,計(jì)算相位間轉(zhuǎn)移的代理任務(wù)并作為表來存儲,上述轉(zhuǎn)換的部件從當(dāng)前的相位和下一相位檢索并代理執(zhí)行與該資源對應(yīng)存儲的上述代理任務(wù)。
6.如權(quán)利要求5所述的系統(tǒng),其中選擇上述相位間轉(zhuǎn)移的代理任務(wù),以減少相關(guān)的任務(wù)間的轉(zhuǎn)換成本、包含直到代理任務(wù)執(zhí)行開始為止的空閑時(shí)間的成本、和包含在相關(guān)的相位間的資源間的數(shù)據(jù)發(fā)送接收的時(shí)間的成本。
7.一種計(jì)算機(jī)系統(tǒng)的控制程序,用于通過計(jì)算機(jī)的處理,按照網(wǎng)絡(luò)流量信息的內(nèi)容,以適合處理的方式動態(tài)地變更構(gòu)成,上述計(jì)算機(jī)執(zhí)行以下步驟預(yù)先保存以分別適合與網(wǎng)絡(luò)流量信息不同的多個(gè)內(nèi)容相對應(yīng)的相位的方式以流形式指定任務(wù)和執(zhí)行該任務(wù)的資源分配的信息;測量網(wǎng)絡(luò)流量信息;選擇與測量的上述網(wǎng)絡(luò)流量信息相對近的流形式的資源分配信息作為下一相位;從已經(jīng)選擇的當(dāng)前的相位的流形式的資源分配轉(zhuǎn)換成上述下一相位的流形式的資源分配,其執(zhí)行方式為,在當(dāng)前的相位的流形式的資源分配中先結(jié)束處理的上述資源過渡性地代理在上述下一相位的流形式的資源分配的任務(wù)。
8.如權(quán)利要求7所述的程序,還包括以下步驟對每個(gè)可以利用的上述資源,計(jì)算相位間轉(zhuǎn)移的代理任務(wù)并作為表來存儲,上述轉(zhuǎn)換的步驟從當(dāng)前的相位和下一相位檢索并代理執(zhí)行與該資源對應(yīng)存儲的上述代理任務(wù)。
9.如權(quán)利要求7所述的程序,其中選擇上述相位間轉(zhuǎn)移的代理任務(wù),以減少相關(guān)的任務(wù)間的轉(zhuǎn)換成本、包含直到代理任務(wù)執(zhí)行開始為止的空閑時(shí)間的成本、和包含在相關(guān)的相位間的資源間的數(shù)據(jù)發(fā)送接收的時(shí)間的成本。
全文摘要
在由計(jì)算機(jī)進(jìn)行的動態(tài)資源分配系統(tǒng)中,降低依據(jù)狀況變更系統(tǒng)配置時(shí)的、伴隨構(gòu)成變更的系統(tǒng)停止時(shí)間。作為事先處理,橫跨某個(gè)時(shí)間收集系統(tǒng)運(yùn)行期間的流量數(shù)據(jù)。并且,從收集的流量數(shù)據(jù),提取典型的若干圖形。其次,對那些典型的圖形的每個(gè),分別制作流程序,隨后可以參照地預(yù)先保存。其次,保持用于在不同的流程序間遷移的代理任務(wù)的ID。在實(shí)際的系統(tǒng)的運(yùn)行中,本發(fā)明的系統(tǒng)定期地或在任意的時(shí)刻測量流量數(shù)據(jù),將作為其結(jié)果得到的圖形與上述的典型的圖形相比較,選擇與最近的典型的圖形相對應(yīng)的流程序作為下一相位。從當(dāng)前的相位的流程序,向下一相位轉(zhuǎn)移時(shí),根據(jù)本發(fā)明,考慮任務(wù)的轉(zhuǎn)換成本、資源間的數(shù)據(jù)傳送成本等,通過作為代理任務(wù)逐漸向相位的流程序轉(zhuǎn)移現(xiàn)在的相位的空閑任務(wù),程序的停止時(shí)間被抑制。
文檔編號G06F9/48GK102947798SQ20118002379
公開日2013年2月27日 申請日期2011年4月21日 優(yōu)先權(quán)日2010年5月14日
發(fā)明者前田久美, 村瀨正名, 吉澤武朗, 土居意弘, 小松秀昭 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1