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

生物信息計算網格系統(tǒng)的制作方法

文檔序號:7697961閱讀:210來源:國知局

專利名稱::生物信息計算網格系統(tǒng)的制作方法
技術領域
:本發(fā)明涉及生物信息計算領域。
背景技術
:自20世紀80年代末起,隨著基因組測序數據的迅猛增長,生物信息學(Bioinformatics)正逐步成為一門獨立的新興學科,而生物信息服務開發(fā)也成了一個專門領域。數據庫搜索程序Blast、多序列聯(lián)配程序ClustalW、生物種系發(fā)生分析軟件Phylip,以及大型序列分析軟件包EMBOSS等,已經成為分子生物學研究不可缺少的工具。公開、公共、公用,是生物信息服務的主要特征。這些軟件和服務通常采用各種形式的開放源代碼版權聲明,多以開源的Limix操作系統(tǒng)為主要平臺,多由科研機構、高等院校等學術部門自由開發(fā),并提供公眾使用,是當前生物信息應用開發(fā)的主流。復用這些現有的生物軟件,加之引入新出現的其他生物軟件,建立一個通用的生物信息計算平臺,有其重要的作用和深遠的影響。而且,生物信息計算通常是計算密集型的應用,需要大量的計算資源,單機很難完成如此大規(guī)模的作業(yè)。網格是一種先進的技術和基礎設施,是繼Internet之后又一次重大的科技進步。網格(Grid)是一個集成的計算和資源環(huán)境,或者說一個計算資源池。網格能夠充分利用各種計算資源,并將它們轉化為一種隨處可得的、可靠的、標準的同時也是經濟的計算能力。除了各種能力的計算機,這里的計算資源還包括網絡通信能力、數據資料、儀器設備、甚至是人力等各種相關的資源。
發(fā)明內容本發(fā)明的目的是提供一種生物信息計算網格系統(tǒng),以解決單個計算機難以完成大規(guī)模的生物信息計算的問題。它包括生物信息計算門戶網站服務器1、多個生物信息計算服務的發(fā)布者終端2和多個服務的使用者終端4;生物信息計算服務的發(fā)布者終端2向生物信息計算門戶網站服務器1提供服務的源代碼或可執(zhí)行程序;服務的使用者終端4從生物信息計算門戶網站服務器1尋找自己需要的服務,并通過生物信息計算門戶網站服務器1運行生物信息計算服務的發(fā)布者終端2上的可執(zhí)行程序以獲得結果,或者服務的使用者終端4根據生物信息計算服務的發(fā)布者終端2所提供的源代碼自行編寫程序在生物信息計算服務的發(fā)布者終端2上運行以獲得結果;生物信息計算服務的發(fā)布者終端2所提供的源代碼或可執(zhí)行程序以XML文件形式發(fā)布。由于本發(fā)明利用了網格技術,把生物信息計算放到網格系統(tǒng)中交給多個生物信息計算服務的終端完成,解決了單個計算機難以完成大規(guī)模的生物信息計算的問題。另外,本發(fā)明還把生物信息計算服務的發(fā)布者終端所提供的源代碼或可執(zhí)行程序以標準的XML文件形式發(fā)布。這樣做有四個好處其一,由于不需要制成多種標準的文件,可以節(jié)省服務發(fā)布方的部署資本,使其更關注于服務本身的完善;其二,可以使網格系統(tǒng)集成眾多服務,并提供通用的服務;其三,用戶可以無縫的使用各種生物信息計算服務而無需關注各種服務之間的差異;其四,由于描述文件嚴格規(guī)范,用戶通過程序調用系統(tǒng)的API(軟件操作系統(tǒng)本身提供的接口函數)即可自動完成服務的發(fā)現和作業(yè)的操作。本發(fā)明提出的生物信息計算網格系統(tǒng)解決了生物應用中存在的計算和存儲瓶頸,使得大規(guī)模的生物信息計算應用共享服務成為可能,同時向生物學家屏蔽上述復雜的底層實現。。圖l是本發(fā)明實施方式一和二的結構示意圖,圖2是實施方式三的結構示意圖,圖3是實施方式四中最快處理器速度優(yōu)先調度算法、最大處理器數目優(yōu)先調度算法、最大處理器總量優(yōu)先調度算法、最大空閑內存容量優(yōu)先調度算法、最大內存總容量優(yōu)先調度算法、最大帶寬優(yōu)先調度算法、最大空閑磁盤容量優(yōu)先調度算法、最大磁盤總容量優(yōu)先調度算法、隨機調度算法進行比較的實驗結果示意圖,圖4是實施方式四中最快處理器速度優(yōu)先調度算法、最大空閑內存容量優(yōu)先調度算法和隨機調度算法進行對比的實驗結果示意圖,圖5是實施方式四中在線調度算法的比較結果示意圖。圖3橫坐標中的A代表最快處理器速度優(yōu)先調度算法、B代表最大處理器數量優(yōu)先調度算法、C代表最大處理器總量優(yōu)先調度算法、D代表最大空閑內存容量優(yōu)先調度算法、E代表最大內存總容量優(yōu)先調度算法、F代表最大帶寬優(yōu)先調度算法、G代表最大空閑磁盤容量優(yōu)先調度算法、H代表最大磁盤總容量優(yōu)先調度算法、I代表隨機調度算法,每處的三個灰度柱狀體依次表示非阻塞20、非阻塞40和非阻塞80。圖4橫坐標中的J代表最快處理器速度優(yōu)先調度算法、K代表最大空閑內存容量優(yōu)先調度算法、L代表隨機調度算法,每處的四個灰度柱狀體依次表示非阻塞20、非阻塞40、非阻塞80和阻塞20。圖5橫坐標中的M指非阻塞20、N指非阻塞40、O指非阻塞80,每處的九個灰度柱狀體依次表示最快處理器速度優(yōu)先調度算法、最大處理器數量優(yōu)先調度算法、最大處理器總量優(yōu)先調度算法、最大空閑內存容量優(yōu)先調度算法、最大內存總容量優(yōu)先調度算法、最大帶寬優(yōu)先調度算法、最大空閑磁盤容量優(yōu)先調度算法、最大磁盤總容量優(yōu)先調度算法、隨機調度算法。具體實施例方式具體實施方式一下面結合圖1具體說明本實施方式。本實施方式的生物信息計算網格系統(tǒng)由接入Internet等互聯(lián)網服務的生物信息計算門戶網站服務器1、多個生物信息計算服務的發(fā)布者終端2和多個服務的使用者終端4組成;生物信息計算服務的發(fā)布者終端2向生物信息計算門戶網站服務器1提供服務的源代碼或可執(zhí)行程序;服務的使用者終端4從生物信息計算門戶網站服務器1尋找自己需要的服務,并通過生物信息計算門戶網站服務器1運行生物信息計算服務的發(fā)布者終端2上的可執(zhí)行程序以獲得結果,或者服務的使用者終端4根據生物信息計算服務的發(fā)布者終端2所提供的源代碼自行編寫程序在生物信息計算服務的發(fā)布者終端2上運行以獲得結果;生物信息計算服務的發(fā)布者終端2所提供的源代碼或可執(zhí)行程序以XML文件形式發(fā)布。網格有接入方便以及終端用戶也可以貢獻資源的優(yōu)勢。網格基礎設施可以建立在全世界最大的網絡^Internet上,如此,普通的終端用戶可以通過訪問互聯(lián)網就能接入網格,日益增長的互聯(lián)網使得Internet用戶急劇增長,為網格的應用的提供了巨大的潛力。此外,網格不僅能夠使用比較固定的服務器資源,也可以使用終端用戶的主機資源,終端用戶可以選擇將自己的資源加入到網格的基礎設施中,為網格應用貢獻資源,這樣就為網格應用提供了無形中的巨大計算和存儲資源。在電子科學中,經常需要整合分布、動態(tài)、異構的有不同的資源組成的"虛擬組織"的服務,這種整合可能會十分困難,因為資源都處于不同的平臺上。例如,它們可能存在于不同的操作系統(tǒng)上,如Linux,Unix,Windows以及MacOS;或者它們可能處于不同的地域的網絡中,等等。網格可以應用于分布式超級計算、高吞吐量計算和數據密集型計算。網格技術將游離在互聯(lián)網中的閑散計算資源集成為一個統(tǒng)一的計算平臺,故為生物信息計算的大規(guī)模集成應用提供了可能。具體實施方式二本實施方式與實施方式一的不同點是所述生物信息計算網格系統(tǒng)還包括多個服務的部署者服務器3,服務的部署者服務器3從生物信息計算服務的發(fā)布者終端2的官方站點或者生物信息計算門戶網站服務器1的鏡像下載生物信息計算服務的發(fā)布者終端2所發(fā)布的服務,部署到自己的服務器上,供所有的服務的使用者終端4使用,并將自己的服務部署信息登記到生物信息計算門戶網站服務器l上。本實施方式中,服務的部署者終端3把自己的計算資源提供出來,給服務的使用者終端4提供生物信息計算服務。在計算機科學和應用中,術語"服務"通常是指運行在某一個資源上的一類軟件程序,為用戶提供某一種功能。由于本發(fā)明只是研究網格中的軟件程序,所以,在本文中,"服務"一詞特指Web上的服務,即Web服務(WebService)。具體實施方式三本實施方式與實施方式二的不同點是所述生物信息計算門戶網站服務器l包括用戶管理模塊l-l、服務發(fā)布模塊l-2、服務部署模塊1-3、服務監(jiān)測模塊1-4、作業(yè)調度模塊1-5和作業(yè)狀態(tài)檢測模塊1-6;用戶管理模塊1-1:以完成對不同的用戶提供相應的服務和規(guī)定相應的操作權限;從功能上分,連接到生物信息計算門戶網站服務器1上的用戶有三種角色服務的發(fā)布者,服務的部署者和服務的使用者。生物信息計算門戶網站服務器1在以上三種用戶在其網站上注冊的時候會讓用戶選擇自己的角色,保存到網站數據庫中。當使用時,可以根據用戶的角色顯示不同的功能菜單。生物信息計算門戶網站服務器1也會根據用戶的角色,給相應的用戶發(fā)送郵件提示。從權限上分,生物信息計算門戶網站服務器l的用戶有三類普通用戶、管理員和系統(tǒng)維護者。普通用戶使用生物信息計算門戶網站服務器1發(fā)布、注冊或使用服務;管理員負責控制用戶權限,管理用戶資料等,系統(tǒng)維護者配置系7統(tǒng)的運行參數,備份系統(tǒng)數據,維護系統(tǒng)的正常運行。生物信息計算門戶網站服務器1為管理員提供更改用戶信息的操作,管理員可以在此批準、修改普通用戶的信息。系統(tǒng)為維護者提供了修改配置文件的功能,維護者修改配置文件之后,可以直接重啟系統(tǒng)的配置,無需重啟服務器。服務發(fā)布模塊1-2:以完成生物信息計算服務的發(fā)布者終端2在生物信息計算門戶網站服務器1上發(fā)布其生物信息計算服務并注冊其服務;服務的發(fā)布者在編寫完服務軟件的代碼之后,可以在系統(tǒng)的生物信息計算門戶網站服務器l上發(fā)布服務,供服務的使用者終端4使用。服務的發(fā)布者在發(fā)布服務之后,需要到生物信息計算門戶網站服務器1上注冊服務,使生物信息計算門戶網站服務器1的服務數據庫中增加該服務的基本信息,并返回一個服務編號給服務的發(fā)布者。服務的發(fā)布者在注冊服務的時候需要提供服務名、參數輸入頁面模板以及服務的通用描述文件URL。當注冊成功之后,系統(tǒng)返回一個服務編號,這個服務編號就能在系統(tǒng)中標識該服務。而服務的部署者和服務使用者就能夠根據這個服務號在系統(tǒng)中直接定位服務。服務部署模塊1-3:以完成對服務的部署者服務器3服務部署信息的登記,生成服務的部署信息文件;當服務生產商的服務發(fā)布之后,服務部署者可以從服務生產商的官方站點或者生物信息計算門戶網站服務器1的鏡像下載該服務,并部署到自己的服務器上,然后將自己服務器上的服務部署信息文件登記到生物信息計算門戶網站服務器1上,供所有的終端用戶使用'。在部署的時候,每個服務對應一臺服務的部署者服務器3中的服務器,每一臺服務器上的服務配置也不相同,所以服務的部署信息文件中需要加入到資源服務器(此服務器屬于生物信息計算門戶網站服務器l中的服務器,主要負責記錄服務路徑等信息,幫助用戶查找服務的信息)中,包括該服務器的IP地址和端口,以及服務在本地的路徑等信息。最終的服務部署登記頁面需要的信息有服務名稱、服務的部署描述文件。當部署完畢之后,部署者可以在系統(tǒng)網站上注冊,此時部署者需要根據系統(tǒng)規(guī)定的格式,根據自己資源的部署情況,提交一份服務部署的信息文件,也是xml格式。當部署者注冊完畢之后,該服務的可用資源便增加了一個。普通用戶也可以使用此資源上的服務。服務監(jiān)測模塊1-4:每隔一段時間對所有的生物信息計算服務的發(fā)布者終端2、服務的使用者終端4和服務的部署者服務器3資源的狀態(tài)進行一次檢測,如果遇到資源失效,則會將其標記為不可用;如果資源恢復,則將其重新標記為可用。同時,檢測過程中,系統(tǒng)還會收集資源的硬件和軟件信息,用于調度決策的依據。資源狀態(tài)檢測包括(1)硬件資源的監(jiān)測服務監(jiān)測模塊卜4定時監(jiān)測機群中的節(jié)點的增刪情況,并更新節(jié)點的硬件信息。其中對靜態(tài)硬件信息(如主機名稱、CPU、數目、內存總容量等)的監(jiān)測頻率稍低,因為它們幾乎固定不變;對動態(tài)硬件信息(如內存占用率、進出網卡包數等)的監(jiān)測則要頻繁得多,因為它們幾乎每時每刻都在變化。(2)服務資源的監(jiān)測服務資源的監(jiān)測是為了監(jiān)測已經注冊的服務資源(resource)的信息,亦即資源中的軟件信息。服務監(jiān)測模塊1-4會定時啟動一個監(jiān)測程序,其任務是定期監(jiān)測資源列表中的服務是否存在或者是否可用。服務資源監(jiān)測的方式是調度節(jié)點或機群首節(jié)點與曾經注冊過服務的節(jié)點建立套接字連接,調度節(jié)點或機群首節(jié)點查詢它們提供的服務是否仍在運行。這里存在一個效率的問題,由于網格環(huán)境下網絡機群之間延遲可能比較大,所以監(jiān)測事件發(fā)生的比較頻繁,那么査詢最好能夠在每一個機群的首節(jié)點發(fā)起,這樣查詢的開銷比較小,然后所有機群的首節(jié)點向調度器匯聚,將分布式的資源信息合成一個集中式的資源信息數據庫。服務的檢查是定時執(zhí)行,系統(tǒng)會啟動一個單獨的進程,并發(fā)的檢查各個服務器上的服務。進程需要檢查每一個服務器的基本測試服務,如果查詢出錯,可以從系統(tǒng)數據庫中標注出錯,并將其內所有服務設置為暫不可用。當進程禁用某一個服務器后,為了以后檢査正常時恢復,需設定一個整數frozentime(凍結時間)。初始和正常服務的frozentime值均為1,系統(tǒng)檢查到服務異常后,會將該值遞增。系統(tǒng)檢查異常服務的時間開始是線性增長,幅度不太大,此時是考慮到網絡原因,下次檢查服務可能正常,但是如果時間超過某一個閾值,則說明該服務9可能長期不可用,此時檢查間隔是指數級增長。這種設計,既可以即使檢査到服務的失效和恢復狀態(tài),同時又可以減少系統(tǒng)的開銷。上述方法解決了檢査整個服務器失效的問題。還有單個服務失效的情況,這種情況一般有兩種可能,一種是服務被服務部署者刪除,這種情況需要用戶報告,經確認后系統(tǒng)將其設置為暫不可用,同時系統(tǒng)發(fā)郵件給服務部署者,經部署者確認服務正常之后再恢復;另一種是服務本身有bug(指軟件缺陷或軟件漏洞),這種情況需要聯(lián)系服務生產商,并在服務的說明中添加bug追蹤。復雜的網格環(huán)境必然決定了資源的不穩(wěn)定性,而失效的資源對調度的成功性和效率造成了很大的影響。所以維護一張可用資源的列表,是系統(tǒng)十分重要的工作。系統(tǒng)資源是以網格機群的形式進行管理的,即一個網格環(huán)境中有若干個機群,一個機群中有若干個節(jié)點,機群之間的節(jié)點的物理距離或網絡距離很近,而機群之間的節(jié)點的物理距離或網絡距離相對較遠。作業(yè)調度模塊1-5:以完成服務的使用者終端4所要求的生物信息計算服務在多個生物信息計算服務的發(fā)布者終端2和多個服務的部署者服務器3之間的任務布置和調度指揮。作業(yè)狀態(tài)檢測模塊1-6:以完成作業(yè)進程的狀態(tài)跟蹤和顯示。作業(yè)的運行時間很長,所以需要加入狀態(tài)檢測,以供普通用戶了解作業(yè)的運行情況。作業(yè)狀態(tài)分為未提交、傳輸輸入文件、等待、開始執(zhí)行、掛起、傳輸輸出文件、清理作業(yè)、失敗、完成。系統(tǒng)需要對這些狀態(tài)進行檢測,獲得準確的狀態(tài)信息,進而處理相應的場景。系統(tǒng)使用GlobusToolKit提供的網格基礎構架組建中的GRAM組件來幫助我們實現將用戶的作業(yè)提交到網格組織中某一執(zhí)行節(jié)點,并對該作業(yè)控制管理,得到最終結果的過程。當用戶提交一個作業(yè)時,GRAM創(chuàng)建一個ManagedJob對象,并返回其句柄。然后就可以使用這個句柄與這個作業(yè)進行交互,這實際上是一個WS-AddressingEndpointReference(EPR)。GRAM提供了作業(yè)和執(zhí)行管理服務來提交、監(jiān)視和控制作業(yè),但是這都依賴于用來傳輸文件和管理證書所使用的支持服務。GridFTP所提供的文件服務用來幫助GRAM實現對輸入和輸出文件的分段傳輸。證書管理服務處理證書,對其他服務和所需要的分布式網格資源進行委托。利用GRAM提交作業(yè)需要一個前提,那就是用戶必須通過身份驗證并具有有效的證書。這是因為這個作業(yè)可能需要將證書委托給他人來執(zhí)行遠程操作,例如分段傳輸文件。通常,可以在CA服務器上申請證書;申請成功后將證書拷貝到你的作業(yè)提交機器上便可。GRAM調用過程中,作業(yè)提交以后就開始了GRAM的作業(yè)狀態(tài)轉變的過程。本實施方式中的生物信息計算門戶網站服務器1是一個集成了生物服務發(fā)布、檢測管理和服務應用的生物信息計算門戶站點。本發(fā)明的系統(tǒng)為服務本身的屬性和部署在資源上的服務屬性提供了統(tǒng)一的描述,使得服務能夠以統(tǒng)一的方式集成到門戶中;可以無縫的整合現有的各種生物信息計算軟件,終端用戶可以不關注服務之間的差異,使用統(tǒng)一的方式定位服務,運行服務,最后獲得運行結果。具體實施方式四本實施方式與實施方式三的不同點是作業(yè)調度模塊1-5使用在線啟發(fā)式的調度算法;所述在線啟發(fā)式的調度算法由最快處理器速度優(yōu)先調度算法、最大處理器數目優(yōu)先調度算法、最大處理器總量優(yōu)先調度算法、最大內存總容量優(yōu)先調度算法、最大空閑內存容量優(yōu)先調度算法、最大磁盤總容量優(yōu)先調度算法、最大空閑磁盤容量優(yōu)先調度算法、最大帶寬優(yōu)先調度算法和隨機調度算法組成,在具體的服務中由服務的使用者終端4在作業(yè)調度模塊1-5的提示下選擇使用哪一個調度算法。在異構的網絡環(huán)境下的作業(yè)調度算法是一個NP完全問題(NP完全問題是指針對某個問題在有限的時間內無法通過窮舉的方法得到最優(yōu)解的問題。這種問題是計算機領域最難解決的問題,因此需要借助一些近似算法即啟發(fā)式算法來獲得近似最優(yōu)解),一般會采用啟發(fā)式的算法,主要有兩類批處理調度和在線調度。由于系統(tǒng)關注作業(yè)操作的實時性,所以使用在線調度方式。在線調度啟發(fā)式算法的思想是當作業(yè)一旦到達調度器,就被調度到一個資源上。同時根據作業(yè)的特點,采用了如下在線的啟發(fā)式的調度算法1.最快處理器速度優(yōu)先調度算法很多生物信息計算的軟件都是計算密集型的,所以一個直觀的想法就是處理器速度越快,作業(yè)的完成時間就越短。所以最快處理器速度優(yōu)先調度算法是在可用資源中選擇擁有最大的處理器速度的資源。2.最大處理器數目優(yōu)先調度算法處理器越多,完成作業(yè)的時間有可能越短,特別是支持多線程的程序,這種效果更明顯。所以最大處理器數目優(yōu)先調度算法是在可用資源中選擇擁有最大的處理器數目的資源。3.最大處理器總量優(yōu)先調度算法最大處理器總量優(yōu)先調度算法是在可用資源中選擇擁有最大的處理器速度和數目乘積的資源。由于有一些作業(yè)可能存在多線程或多進程,所以處理器性能發(fā)揮的瓶頸可能不僅僅在于處理器的速度,還在于處理器的個數,例如低速多核的處理器(2xl000M)執(zhí)行任務可能會快于高速的單核(lxl500M)的處理器。所以我們設計的這種算法的關鍵在于對處理器的速度和數目的綜合值進行比較。4.最大內存總容量優(yōu)先調度算法最大內存總容量優(yōu)先調度算法是在可用資源中選擇擁有最大的內存的資源。由于有的生物信息計算會花費大量的內存資源,最大內存容量調度算法能夠減少內存頁面換出的幾率,加快作業(yè)運行的時間。5.最大空閑內存容量優(yōu)先調度算法最大空閑內存容量優(yōu)先調度算法是在可用資源中選擇擁有最大的空閑內存的資源。由于資源的內存不是專供一個服務使用,有可能一個資源的內存很大,但是可以使用的空閑內存卻很小,這種情況下再使用最大內存容量的調度算法就不明智了,所以我們引入了最大空閑內存容量的調度。6.最大磁盤總容量優(yōu)先調度算法最大磁盤總容量優(yōu)先調度算法是在可用資源中選擇擁有最大的磁盤容量的資源。由于有的生物信息計算需要存儲數據,會花費大量的磁盤資源,最大磁盤容量調度算法能夠滿足作業(yè)運行的要求。7.最大空閑磁盤容量優(yōu)先調度算法最大空閑磁盤容量優(yōu)先調度算法是在可用資源中選擇擁有最大的空閑磁盤容量的資源。由于資源的磁盤不是專供一12個服務使用,有可能一個資源的磁盤很大,但是可以使用的空閑磁盤空間卻很小,這種情況下使用最大磁盤容量的調度算法有可能不滿足作業(yè)運行的要求,所以我們引入了最大空閑磁盤容量的調度。8.最大帶寬優(yōu)先調度算法最大帶寬優(yōu)先調度算法是選擇可用資源中帶寬最大的資源進行調度,當作業(yè)的輸入輸出文件相當大的時候,網絡傳輸時間會在作業(yè)完成時間中占相當大的部分,這種情況下,使用最大帶寬調度的方法會減少傳輸時間,加快作業(yè)的完成時間。9.隨機調度算法隨機調度算法就是在現有的可用資源中隨機選出一個資源進行調度,隨機調度沒有考慮到資源和作業(yè)的特性,不能發(fā)揮QoS的優(yōu)勢,但是隨機調度算法的時間復雜性為O(l),這種算法在候選資源多,作業(yè)運行時間短的條件下會有一定優(yōu)勢。在線調度比其他的調度算法有更快的終端響應,能更快的完成生物學家提交的作業(yè)。下面進行實驗驗證本實施方式在線調度的性能。本實驗是真實的系統(tǒng)運行的一個作業(yè)流,從運行的情況獲得實驗數據。實驗環(huán)境中,有四臺服務器,硬件配置和操作系統(tǒng)信息如表5-l:表5-l主機硬件信息<table>tableseeoriginaldocumentpage13</column></row><table>四臺服務器都安裝了Globus-4.0.2,其中一臺調度服務器(202.118.236.132),本身不運行作業(yè),只運行Portal的Web前端,我們在這臺服務器上提交作業(yè)流,服務器對每一個作業(yè)進行調度,向計算節(jié)點傳輸輸入文件,獲得作業(yè)的輸出文件,并且記錄作業(yè)的狀態(tài)和時間;另有三臺計算服務器(202.118.236.136、202.118.236.137和202.118.236.138),計算資源部署了服務,接受調度服務器的輸入文件,啟動作業(yè),在作業(yè)完成后向調度服務器傳輸輸出文件。進行實驗,必需首先有一個作業(yè)流(workload)的輸入文件。調度節(jié)點對該文件進行批處理。我們設計一個作業(yè)流文件workload.txt,其中內容例如133246638610212113716618620622825127457659461863465867169171173174976434433443334444444444第一列表示作業(yè)到達的時間,單位為秒;第二列為服務號,表示啟動哪個作業(yè)類型,例如3為seqret,4為getorf;第三列為調度策略。其中,調度算法和數值的對應關系如表5-2所示表5-2調度算法對應關系<table>tableseeoriginaldocumentpage15</column></row><table>調度服務器每隔一段時間檢查作業(yè)流文件,如果當前時間>=下一個作業(yè)的時間+第一個作業(yè)的時間,則對該作業(yè)進行調度。所以整個測試作業(yè)流的過程和真實提交作業(yè)沒有區(qū)別。(一)阻塞調度和非阻塞調度的關系首先我們需要明確阻塞調度和非阻塞調度的定義。給定自然數NX),假設實驗環(huán)境有三臺計算資源A、B和C,調度器在調度之前會依次檢査每一個資源,如果調度器檢査到某一個資源已有大于N個作業(yè),則將其從可用資源列表中刪除;檢查完畢之后生成一個可用列表,調度器在該可用資源列表中繼續(xù)使用某一個在線調度算法進行調度,提交作業(yè),這種調度策略我們稱之為非阻塞調度。相反,如果調度器沒有檢查資源上是否存在大于N個作業(yè)的過程,那么我們稱之為阻塞調度。由于某些在線調度算法的結果比較穩(wěn)定,例如最快處理器速度優(yōu)先調度算法總會選擇有最快處理器的資源,不妨設為A,而在線資源的處理器速度是永遠不變的,所以調度器都會向A提交作業(yè),所以作業(yè)的分布情況如表5-4所示。表5-4阻塞調度典型映射<table>tableseeoriginaldocumentpage15</column></row><table>表5-3作業(yè)周期樣例資源到達時間調度時間提交時間開始時間完成時間執(zhí)行時間運行時間136121265065812126506581212650658121265068912126509712823131361212650734121265073412126507341212650966121265124928351513612126508261212650826121265082612126512361212651515279689136121265090912126509091212650909121265150912126517842758751361212651006121265100612126510061212651778121265203325510271361212651089121265108912126510891212652031121265228525411961361212651158121265115812126511591212652282121265253825613801361212651231121265123112126512311212652531121265279025915591361212651309121265130912126513101212652784121265304125717321361212651384121265138412126513841212653034121265329225819081361212651464121265146412126514651212653285121265353925420751361212651552121265155212126515521212653536121265379425822421361212651631121265163112126516311212653790121265403824824071361212651710121265171012126517101212654031121265428024925701361212651792121265179212126517921212654277121265452524827331371212651889121265188912126518891212651918121265221830032913712126519641212651964121265196412126522151212652493278529137121265202412126520241212652024121265249012126527642747401361212652115121265211512126521151212654476121265472424826091371212652180121265218012126521801212652761121265304528486513712126522581212652258121265225812126530411212653319278腿...……………...…13612126536151212653615121265361512126558971212656144247252913712126537101212653711121265371112126561781212656444266273413812126537861212653786121265378612126538151212654083268297這樣,所有的作業(yè)都堆積在A上,B和C始終處于空閑狀態(tài),這樣資源利用率不高,必然會增加總的作業(yè)運行時間。而用非阻塞方式,上面的問題就會減少,當A上的作業(yè)大于某一個閾值N,調度器則會向其他資源調度,所以一種作業(yè)的典型分布情況如表5-5所示。表5-5非阻塞調度典型映射ABC作業(yè)l作業(yè)216作業(yè)3作業(yè)N我們設計以下實驗證實如上推測一個作業(yè)流序列,共有四十個作業(yè),作業(yè)的到達滿足泊松分布(Poissondistribution)。第一組實驗,每一個作業(yè)的泊松分布滿足P(20),也就是說該作業(yè)流作業(yè)平均到達時間間隔為20秒,調度策略為非阻塞,記為unblock20;第二組實驗,每一個作業(yè)的泊松分布滿足P(40),調度策略為非阻塞,記為unblock40;第三組實驗,每一個作業(yè)的泊松分布滿足P(80),調度策略為非阻塞,記為unblock80;第四組實驗,每一個作業(yè)的泊松分布滿足P(20),調度策略為阻塞,記為block20。我們分別使用最快處理器速度優(yōu)先調度算法、最大空閑內存容量優(yōu)先調度算法和隨機調度算法進行比較。實驗結果如圖3所示??梢钥闯?,在平均到達時間20秒的條件下,在比較穩(wěn)定的調度算法中,例如最快處理器速度優(yōu)先調度算法,非阻塞的調度策略比阻塞的調度策略快2.87倍,次穩(wěn)定的最大內存調度算法,非阻塞的調度策略比阻塞的調度策略快1.97倍,而比較均勻的隨機調度算法,非阻塞的調度策略比阻塞的調度策略快1.24倍。如上數據可以證實,在阻塞的策略下,比較穩(wěn)定的調度算法會導致更長的作業(yè)運行時間,而比較隨機的調度算法,會有比較短的作業(yè)運行時間。同時,隨著平均到達時間的增長,作業(yè)的總運行時間也會增加,但是即使從20秒增加到80秒,非阻塞調度的效果也好于阻塞調度。(二)作業(yè)平均到達時間和作業(yè)總運行時間的關系從上個實驗可以看出,作業(yè)平均到達時間增加,可能會造成作業(yè)的總完成時間的增加。我們設計如下實驗進行驗證第一組實驗,每一個作業(yè)的泊松分布滿足P(20),記為unblock20;第二組實驗,每一個作業(yè)的泊松分布滿足P(40),記為unblock40;第三組實驗,每一個作業(yè)的泊松分布滿足P(80),記為unblock80。以上三組實驗均的調度策略均為非阻塞。實驗對最快處理器速度優(yōu)先調度算法(cpuspeed)、最大處理器數目優(yōu)先調度算法(cpunum)、最大處理器總量優(yōu)先調度算法(cputotal)、最大空閑內存容量優(yōu)先調度算法(memfree)、最大內存總容量優(yōu)先調度算法(memtotal)、17最大帶寬優(yōu)先調度算法(band)、最大空閑磁盤容量優(yōu)先調度算法(diskfree)、最大磁盤總容量優(yōu)先調度算法(disktotal)、隨機調度算法(random)進行比較。結果如圖4所示。將第二組的結果除以第一組,再將第三組的結果除以第二組,我們得到表5-6:表5-6作業(yè)平均到達時間對作業(yè)總完成時間的影響<table>tableseeoriginaldocumentpage18</column></row><table>可以看出,隨著任務平均達到時間的增加,作業(yè)總運行時間會增加,但是并不是正比關系,而是一種緩慢增加的趨勢。因為作業(yè)總的完成時間不僅涉及到任務平均到達時間,還涉及到作業(yè)的調度時間和執(zhí)行時間。因為作業(yè)的執(zhí)行時間比較穩(wěn)定,所以,任務平均達到時間的增加造成作業(yè)總的完成時間增長的趨勢會變緩。(三)在線調度算法的比較我們對我們提出的各種在線調度算法進行比較??梢詮纳厦嬲鹿?jié)中給出的表看出,測試環(huán)境中計算資源的性能基本差別不大,在這種情況下我們猜想針對特定資源的異構特性設計的在線調度算法不會有特別好的效果,相反,隨機性比較大的調度算法會比較均勻的分配作業(yè),可能會達到我們設計如下實驗進行驗證第一組實驗,每一個作業(yè)的泊松分布滿足P(20),記為unblock20;第二組實驗,每一個作業(yè)的泊松分布滿足P(40),記為unblock40;第三組實驗,每一個作業(yè)的泊松分布滿足P(80),記為unblock80。以上三組實驗均的調度策略均為非阻塞。實驗對比如圖5所示。由圖5看出,在作業(yè)平均到達時間20秒的對比實驗中,各個調度算法之間的差距并不大,結果是最大內存總容量優(yōu)先調度算法<最快處理器速度優(yōu)先調度算法<最大磁盤總容量優(yōu)先調度算法<隨機調度算法<最大處理器數量優(yōu)先調度算法<最大帶寬優(yōu)先調度算法<最大可用磁盤容量優(yōu)先調度算法<最大可用內存容量優(yōu)先調度算法<最大處理器總量調度算法;在作業(yè)平均到達時間40秒的對比實驗中,有些算法之間還有一些起伏,但是大致作業(yè)總的運行時間差別不大,結果為最大處理器數量優(yōu)先調度算法<隨機調度算法<最大可用磁盤容量優(yōu)先調度算法<最大帶寬優(yōu)先調度算法<最大處理器總量優(yōu)先調度算法<最快處理器速度優(yōu)先調度算法<最大磁盤總容量優(yōu)先調度算法<最大內存總容量優(yōu)先調度算法<最大可用內存容量優(yōu)先調度算法;但是在作業(yè)平均到達時間80秒的對比實驗中,結果為隨機調度算法<最大可用內存容量優(yōu)先調度算法<最大帶寬優(yōu)先調度算法<最大內存總容量優(yōu)先調度算法<最大處理器速度優(yōu)先調度算法<最大磁盤總容量優(yōu)先調度算法<最大處理器數量優(yōu)先調度算法<最大可用磁盤容量優(yōu)先調度算法<最快處理器總量優(yōu)先調度算法。可見,隨機性比較大的最大空閑內存優(yōu)先調度算法和隨機調度算法的作業(yè)總運行時間比其他調度算法的作業(yè)總運行時間短很多,以最差的最快處理器總量優(yōu)先調度算法為基準,其它算法中最好的最大帶寬優(yōu)先調度算法比最快處理器總量優(yōu)先調度算法快2.967°/。,而最大可用內存容量優(yōu)先調度算法比最快處理器總量調度算法快7.6739%,而隨機算法則比最快處理器總量調度算法快30.4493%。性能-我們給出了阻塞調度和非阻塞調度的定義;完成了阻塞調度和非阻塞調度的對比實驗,驗證了非阻塞調度在作業(yè)到達時間較大的情況下,效果好于阻塞調度。我們研究了作業(yè)平均到達時間和作業(yè)總運行時間的關系,隨著作業(yè)平均到達時間的增加,作業(yè)總運行時間也增加,但是兩者不是正比關系,作業(yè)總運行時間的增長速度會隨作業(yè)平均到達時間的增加而放緩。最后我們對比了我們設計的各種在線調度算法,在作業(yè)平均到達時間比較小的時候,各個調度算法的區(qū)別并不明顯,偶爾還有顛簸現象。當作業(yè)平均到達時間較大時,隨機性較強的隨機調度算法和最大空閑內存容量優(yōu)先調度算法有很好的效果。結論適用于不同生物信息計算應用、適用于不同規(guī)模的異構網絡,均可使用此發(fā)明中的方法。20權利要求1、生物信息計算網格系統(tǒng),其特征在于它包括生物信息計算門戶網站服務器(1)、多個生物信息計算服務的發(fā)布者終端(2)和多個服務的使用者終端(4);生物信息計算服務的發(fā)布者終端(2)向生物信息計算門戶網站服務器(1)提供服務的源代碼或可執(zhí)行程序;服務的使用者終端(4)從生物信息計算門戶網站服務器(1)尋找自己需要的服務,并通過生物信息計算門戶網站服務器(1)運行生物信息計算服務的發(fā)布者終端(2)上的可執(zhí)行程序以獲得結果,或者服務的使用者終端(4)根據生物信息計算服務的發(fā)布者終端(2)所提供的源代碼自行編寫程序在生物信息計算服務的發(fā)布者終端(2)上運行以獲得結果;生物信息計算服務的發(fā)布者終端(2)所提供的源代碼或可執(zhí)行程序以XML文件形式發(fā)布。2、根據權利要求1所述的生物信息計算網格系統(tǒng),其特征在于它還包括多個服務的部署者服務器(3),服務的部署者服務器(3)從生物信息計算服務的發(fā)布者終端(2)的官方站點或者生物信息計算門戶網站服務器(1)的鏡像下載生物信息計算服務的發(fā)布者終端(2)所發(fā)布的服務,部署到自己的服務器上,供所有的服務的使用者終端(4)使用,并將自己的服務部署信息登記到生物信息計算門戶網站服務器(l)上。3、根據權利要求2所述的生物信息計算網格系統(tǒng),其特征在于所述生物信息計算門戶網站服務器(l)包括用戶管理模i央(l-l)、服務發(fā)布模±央(1-2)、服務部署模塊(l-3)、服務監(jiān)測模塊(l-4)、作業(yè)調度模塊(l-5)和作業(yè)狀態(tài)檢測模塊(1-6);用戶管理模塊(l-l):以完成對不同的用戶提供相應的服務和規(guī)定相應的操作權限;服務發(fā)布模塊(l-2):以完成生物信息計算服務的發(fā)布者終端(2)在生物信息計算門戶網站服務器(1)上發(fā)布其生物信息計算服務并注冊其服務;服務部署模塊(l-3):以完成對服務的部署者服務器(3)服務部署信息的登記,生成服務的部署信息文件;服務監(jiān)測模塊(l-4):每隔一段時間對所有的生物信息計算服務的發(fā)布者終端(2)、服務的使用者終端(4)和服務的部署者服務器(3)資源的狀態(tài)進行一次檢測,如果遇到資源失效,則會將其標記為不可用;如果資源恢復,則將其重新標記為可用;同時,檢測過程中,系統(tǒng)還會收集資源的硬件和軟件信息,用于調度決策的依據;作業(yè)調度模塊(l-5):以完成服務的使用者終端(4)所要求的生物信息計算服務在多個生物信息計算服務的發(fā)布者終端(2)和多個服務的部署者服務器(3)之間的任務布置和調度指揮;作業(yè)狀態(tài)檢測模塊(l-6):以完成作業(yè)進程的狀態(tài)跟蹤和顯示。4、根據權利要求3所述的生物信息計算網格系統(tǒng),其特征在于作業(yè)調度模塊(1-5)使用在線啟發(fā)式的調度算法;所述在線啟發(fā)式的調度算法由最快處理器速度優(yōu)先調度算法、最大處理器數目優(yōu)先調度算法、最大處理器總量優(yōu)先調度算法、最大內存總容量優(yōu)先調度算法、最大空閑內存容量優(yōu)先調度算法、最大磁盤總容量優(yōu)先調度算法、最大空閑磁盤容量優(yōu)先調度算法、最大帶寬優(yōu)先調度算法和隨機調度算法組成,在具體的服務中由服務的使用者終端(4)在作業(yè)調度模塊(l-5)的提示下選擇使用哪一個調度算法。全文摘要生物信息計算網格系統(tǒng),本發(fā)明涉及生物信息計算領域。它解決了單個計算機難以完成大規(guī)模的生物信息計算的問題。它包括生物信息計算門戶網站服務器、多個生物信息計算服務的發(fā)布者終端和多個服務的使用者終端;生物信息計算服務的發(fā)布者終端向生物信息計算門戶網站服務器提供服務的源代碼或可執(zhí)行程序;服務的使用者終端從生物信息計算門戶網站服務器尋找自己需要的服務,并通過生物信息計算門戶網站服務器運行生物信息計算服務的發(fā)布者終端上的可執(zhí)行程序以獲得結果,或者服務的使用者終端根據提供的源代碼自行編寫程序在生物信息計算服務的發(fā)布者終端上運行;生物信息計算服務的發(fā)布者終端所提供的源代碼或可執(zhí)行程序以XML文件形式發(fā)布。文檔編號H04L12/18GK101488872SQ200910071229公開日2009年7月22日申請日期2009年1月9日優(yōu)先權日2009年1月9日發(fā)明者慧何,劉文懋,吳太康,張偉哲,張宏莉,笑許申請人:哈爾濱工業(yè)大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1