• / 10
  • 下載費用:30 金幣  

SIESTA的計算任務的實現方法和裝置.pdf

關 鍵 詞:
SIESTA 計算 任務 實現 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
摘要
申請專利號:

CN201310643587.3

申請日:

2013.12.03

公開號:

CN103677818A

公開日:

2014.03.26

當前法律狀態:

駁回

有效性:

無權

法律詳情: 發明專利申請公布后的駁回IPC(主分類):G06F 9/44申請公布日:20140326|||實質審查的生效IPC(主分類):G06F 9/44申請日:20131203|||公開
IPC分類號: G06F9/44; G06F9/45 主分類號: G06F9/44
申請人: 曙光信息產業(北京)有限公司
發明人: 李斌; 馬少杰; 曹振南; 楊亮; 何滄平; 田相桂; 姜金良; 范娟; 沈杰; 易成; 苗春寶; 趙明坤; 陸川; 曹征
地址: 100193 北京市海淀區東北旺西路8號院36號樓
優先權:
專利代理機構: 北京德恒律治知識產權代理有限公司 11409 代理人: 章社杲;孫征
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201310643587.3

授權公告號:

||||||

法律狀態公告日:

2017.09.26|||2014.04.23|||2014.03.26

法律狀態類型:

發明專利申請公布后的駁回|||實質審查的生效|||公開

摘要

本發明公開了一種SIESTA的計算任務的實現方法和裝置,其中,該實現方法包括:獲取用戶輸入的計算指令;對計算指令進行解析,確定計算的類型以及計算指令中包含的計算參數;將計算參數代入到預先配置的與計算類型對應的計算命令語句中,并執行該計算命令語句。借助于本發明的技術方案,能夠實現SIESTA的計算任務的實現過程無需通過命令行,只通過基于圖形界面的簡單的操作,就能完成計算任務,大大降低操作難度,提高執行效率,降低出錯概率。

權利要求書

權利要求書
1.  一種用于分子和固體的電子結構計算和分子動力學模擬軟件SIESTA的計算任務的實現方法,其特征在于,包括:
獲取用戶輸入的計算指令;
對所述計算指令進行解析,確定計算的類型以及所述計算指令中包含的計算參數;
將所述計算參數代入到預先配置的與所述計算類型對應的計算命令語句中,并執行該計算命令語句。

2.  根據權利要求1所述的實現方法,其特征在于,在執行代入計算參數的語句之前,所述實現方法進一步包括:
判斷所述用戶輸入的計算指令是否合法,并在所述判斷的結果為否的情況下,禁止執行計算命令語句并進行提示;
其中,判斷所述用戶輸入的計算指令是否合法的條件包括以下至少之一:
所述計算指令的格式、所述計算指令中計算參數的范圍。

3.  根據權利要求1所述的實現方法,其特征在于,執行代入計算參數的語句之前,所述實現方法進一步包括:
獲取用戶輸入的資源請求指令,對所述資源請求指令進行解析,得到資源參數,其中,所述資源參數用于表示用戶所請求的資源量;
將所述資源參數代入到預先配置的計算資源調度語句,并執行該計算資源調度語句。

4.  根據權利要求3所述的實現方法,其特征在于,在執行計算資源調度語句之前,所述實現方法進一步包括:
判斷所述用戶輸入的資源請求指令是否合法,并在所述判斷結果為否的情況下,禁止執行計算資源調度語句并進行提示;
其中,判斷所述用戶輸入的資源請求指令是否合法的條件包括以下至少之一:
所述計算資源請求指令的格式、用戶所請求的資源量。

5.  根據權利要求3所述的實現方法,其特征在于,所述計算資源包括以下至少之一:
計算節點、CPU核數、計算時長、計算結果的存儲路徑。

6.  根據權利要求1至5中任意一項所述的實現方法,其特征在于,獲取用戶輸入的計算指令包括:
通過預先提供圖形界面,獲取用戶在所述圖形界面中的參數輸入框內輸入的計算參數、和/或根據用戶在所述圖形界面中的路徑輸入框內輸入的存儲路徑獲取包含計算參數的文件并確定該文件中的輸入參數。

7.  根據權利要求1至5中任意一項所述的實現方法,其特征在于,所述圖形界面包括web界面。

8.  一種用于分子和固體的電子結構計算和分子動力學模擬軟件SIESTA的計算任務的實現裝置,其特征在于,包括:
第一獲取模塊,用于獲取用戶輸入的計算指令;
解析模塊,用于對所述計算指令進行解析,確定計算的類型以及所述計算指令中包含的計算參數;
第一執行模塊,用于將所述計算參數代入到預先配置的與所述計算類型對應的計算命令語句中,并執行該計算命令語句。

9.  根據權利要求8所述的實現裝置,其特征在于,進一步包括:
判斷模塊,用于在執行代入計算參數的語句之前,判斷所述用戶輸入的計算指令是否合法,并在所述判斷的結果為否的情況下,禁止執行計算命令語句并進行提示;
其中,判斷所述用戶輸入的計算指令是否合法的條件包括以下至少之一:
所述計算指令的格式、所述計算指令中計算參數的范圍。

10.  根據權利要求8所述的實現裝置,其特征在于,進一步包括:
第二獲取模塊,用于在執行代入計算參數的語句之前,獲取用戶輸入的資源請求指令,對所述資源請求指令進行解析,得到資源參數,其中,所述資源參數用于表示用戶所請求的資源量;
第二執行模塊,用于將所述資源參數代入到預先配置的計算資源調度 語句,并執行該計算資源調度語句。

說明書

說明書SIESTA的計算任務的實現方法和裝置
技術領域
本發明涉及科學計算領域,并且特別地,涉及一種SIESTA的計算任務的實現方法和裝置。
背景技術
SIESTA(Spanish Initiative for Electronic Simulations with Thousands of Atoms)是一個用于分子和固體的電子結構計算和分子動力學模擬的科學計算軟件,SIESTA使用標準的自恰(Kohn-Sham)密度泛函方法,計算使用完全非局域形式(Kleinman-Bylander)的標準守恒贗勢,基組選用局域原子軌道的線性組合(LCAO),程序源碼用Fortran90編寫,可以編譯為串行和MPI并行模式。
該軟件在固體化學、固體物理和材料科學領域有廣泛的應用,可利用較少的計算資源模擬規模較大的體系,采用線性標度算法可以處理多達數千個原子的研究體系。
在傳統的高性能計算集群環境中,用戶要運行SIESTA計算程序通常需要使用遠程字符終端在命令行環境下執行一系列操作,一般有以下幾個流程:
準備好SIESTA計算程序的可執行文件、輸入文件、數據文件等。這些文件通常需要放置在集群的全局共享存儲中,用戶一般使用FTP、SFTP等工具向集群上傳這些文件,在大多數情況下,用戶還需要用文本編輯工具對輸入文件等進行編輯修改。
確定運行需要計算的SIESTA算例需要的進程數,以及在哪些節點上運行,將這些信息通過命令行參數的方式傳遞給MPI的進程啟動器,如mpirun、mpiexec等。通過MPI的進程啟動器啟動運行SIESTA計算程序。
程序運行完成后,查看計算結果,或使用FTP、SFTP等工具下載結果文件到用戶本地終端,再通過分析軟件分析結果。
以上是直接運行SIESTA計算程序的主要流程,實際情況下,用戶在高性能計算集群上提交并行計算任務,需要統一使用作業調度軟件提供的接口,用戶通常還需要再編寫一個作業調度腳本,在腳本中申請計算資源,通過這個腳本提交并行計算任務,由作業調度軟件來處理任務排隊、分配資源、發起并行程序。
上面介紹了在傳統的高性能計算集群環境中,用戶運行SIESTA計算程序的基本流程,這些流程通常需要在遠程字符終端下,通過命令行的方式來實現,對于非骨灰級的廣大普通用戶來說,操作難度大,執行效率低,出錯概率大。
傳統執行方式的弊端主要表現在:
使用難度非常大。想要順利提交一個SIESTA計算任務,用戶往往需要非常熟悉很多與其專業背景無關的很多知識和工具,比如Linux操作系統基本操作、Shell腳本語言、常用的文本編輯和字符處理工具、MPI環境的調用、作業調度軟件的使用等等,這些知識或工具的學習曲線非常陡,熟練掌握常常需要花費若干年的時間,這樣的使用代價對廣大普通用戶來說是非常巨大的。
執行效率低。想要順利提交一個SIESTA計算任務,需要執行多個流程,需要使用一些專業工具,需要在命令行環境執行復雜繁瑣的操作,從而導致并行計算任務的提交費時費力,執行效率低下。
出錯概率大。對于大部分普通用戶來說,在命令行環境執行復雜繁瑣的操作,出現人為操作失誤的概率很大。特別是對于操作流程不熟悉的用戶,在執行的各個環節均容易遇到問題。
另外,對于高性能計算集群的管理員來說,對普通用戶開放命令行終端,也存在安全性的風險。用戶的誤操作可能會影響系統的穩定運行,黑客也有可能趁虛而入。
在現有技術中,雖然存在一些商業計算軟件提供自己的并行計算任務通過圖形化提交界面進行指令提交,但都是針對個別軟件,沒有普適性,并且,還需要專門的客戶端軟件配合完成,與作業調度軟件的結合無法實現或存在不同程度的問題。
針對相關技術中用戶運行SIESTA計算程序時需要在遠程字符終端下通過命令行的方式來實現,操作難度大,執行效率低,出錯概率大的問題,目前尚 未提出有效的解決方案。
發明內容
針對相關技術中用戶運行SIESTA計算程序時需要在遠程字符終端下通過命令行的方式來實現,操作難度大,執行效率低,出錯概率大的問題,本發明提出一種SIESTA的計算任務的實現方法和裝置,能夠使用戶無需通過命令行的方式,只通過簡單的操作輸入計算指令,就能實現整個運算過程。
本發明的技術方案是這樣實現的:
根據本發明的一個方面,提供了一種SIESTA的計算任務的實現方法,該實現方法包括:
獲取用戶輸入的計算指令;
對計算指令進行解析,確定計算的類型以及計算指令中包含的計算參數;
將計算參數代入到預先配置的與計算類型對應的計算命令語句中,并執行該計算命令語句。
此外,在執行代入計算參數的語句之前,該實現方法進一步包括:
判斷用戶輸入的計算指令是否合法,并在判斷的結果為否的情況下,禁止執行計算命令語句并進行提示;
其中,判斷用戶輸入的計算指令是否合法的條件包括以下至少之一:
計算指令的格式、計算指令中計算參數的范圍。
此外,在執行代入計算參數的語句之前,該實現方法進一步包括:
獲取用戶輸入的資源請求指令,對資源請求指令進行解析,得到資源參數,其中,資源參數用于表示用戶所請求的資源量;
將資源參數代入到預先配置的計算資源調度語句,并執行該計算資源調度語句。
此外,在執行計算資源調度語句之前,該實現方法進一步包括:
判斷用戶輸入的資源請求指令是否合法,并在判斷結果為否的情況下,禁止執行計算資源調度語句并進行提示;
其中,判斷用戶輸入的資源請求指令是否合法的條件包括以下至少之一:
計算資源請求指令的格式、用戶所請求的資源量。
其中,計算資源包括以下至少之一:
計算節點、CPU核數、計算時長、計算結果的存儲路徑。
此外,獲取用戶輸入的計算指令包括:
通過預先提供圖形界面,獲取用戶在圖形界面中的參數輸入框內輸入的計算參數、和/或根據用戶在圖形界面中的路徑輸入框內輸入的存儲路徑獲取包含計算參數的文件并確定該文件中的輸入參數。
其中,圖形界面包括web界面。
根據本發明的另一方面,提供了一種SIESTA的計算任務的實現裝置,該實現裝置包括:
第一獲取模塊,用于獲取用戶輸入的計算指令;
解析模塊,用于對計算指令進行解析,確定計算的類型以及計算指令中包含的計算參數;
第一執行模塊,用于將計算參數代入到預先配置的與計算類型對應的計算命令語句中,并執行該計算命令語句。
此外,該實現裝置進一步包括:
判斷模塊,用于在執行代入計算參數的語句之前,判斷用戶輸入的計算指令是否合法,并在判斷的結果為否的情況下,禁止執行計算命令語句并進行提示;
其中,判斷用戶輸入的計算指令是否合法的條件包括以下至少之一:
計算指令的格式、計算指令中計算參數的范圍。
此外,該實現裝置進一步包括:
第二獲取模塊,用于在執行代入計算參數的語句之前,獲取用戶輸入的資源請求指令,對資源請求指令進行解析,得到資源參數,其中,資源參數用于表示用戶所請求的資源量;
第二執行模塊,用于將資源參數代入到預先配置的計算資源調度語句,并執行該計算資源調度語句。
本發明通過從用戶輸入的計算指令中解析得到的計算參數和計算類型,并將計算參數代入到預先配置好的與該計算類型相對應的計算命令語句,并執行該計算命令語句,能夠使用戶只需輸入簡單的計算指令,無需進行復雜的命令 行操作,就能完成計算,降低了用戶使用SIESTA計算程序的難度,提高了執行效率,降低了出錯概率。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是根據本發明實施例的SIESTA的計算任務的實現方法流程圖;
圖2是根據本發明實施例的SIESTA的計算任務的實現裝置框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發明保護的范圍。
根據本發明的實施例,提供了一種SIESTA的計算任務的實現方法。
如圖1所示,該實現方法包括:
步驟S101,獲取用戶輸入的計算指令;
步驟S103,對計算指令進行解析,確定計算的類型以及計算指令中包含的計算參數;
步驟S105,將計算參數代入到預先配置的與計算類型對應的計算命令語句中,并執行該計算命令語句。
此外,在執行代入計算參數的語句之前,該實現方法進一步包括:
判斷用戶輸入的計算指令是否合法,并在判斷的結果為否的情況下,禁止執行計算命令語句并進行提示;
其中,判斷用戶輸入的計算指令是否合法的條件包括以下至少之一:
計算指令的格式、計算指令中計算參數的范圍。
此外,在執行代入計算參數的語句之前,該實現方法進一步包括:
獲取用戶輸入的資源請求指令,對資源請求指令進行解析,得到資源參數,其中,資源參數用于表示用戶所請求的資源量;
將資源參數代入到預先配置的計算資源調度語句,并執行該計算資源調度語句。
此外,在執行計算資源調度語句之前,該實現方法進一步包括:
判斷用戶輸入的資源請求指令是否合法,并在判斷結果為否的情況下,禁止執行計算資源調度語句并進行提示;
其中,判斷用戶輸入的資源請求指令是否合法的條件包括以下至少之一:
計算資源請求指令的格式、用戶所請求的資源量。
其中,計算資源包括以下至少之一:
計算節點、CPU核數、計算時長、計算結果的存儲路徑。
此外,獲取用戶輸入的計算指令包括:
通過預先提供圖形界面,獲取用戶在圖形界面中的參數輸入框內輸入的計算參數、和/或根據用戶在圖形界面中的路徑輸入框內輸入的存儲路徑獲取包含計算參數的文件并確定該文件中的輸入參數。
其中,圖形界面包括web界面。
根據本發明的實施例,還提供了一種SIESTA的計算任務的實現裝置。
如圖2所示,該實現裝置包括:
第一獲取模塊21,用于獲取用戶輸入的計算指令;
解析模塊22,用于對計算指令進行解析,確定計算的類型以及計算指令中包含的計算參數;
第一執行模塊23,用于將計算參數代入到預先配置的與計算類型對應的計算命令語句中,并執行該計算命令語句。
此外,該實現裝置進一步包括:
判斷模塊(未示出),用于在執行代入計算參數的語句之前,判斷用戶輸入的計算指令是否合法,并在判斷的結果為否的情況下,禁止執行計算命令語句并進行提示;
其中,判斷用戶輸入的計算指令是否合法的條件包括以下至少之一:
計算指令的格式、計算指令中計算參數的范圍。
此外,該實現裝置進一步包括:
第二獲取模塊(未示出),用于在執行代入計算參數的語句之前,獲取用戶輸入的資源請求指令,對資源請求指令進行解析,得到資源參數,其中,資源參數用于表示用戶所請求的資源量;
第二執行模塊(未示出),用于將資源參數代入到預先配置的計算資源調度語句,并執行該計算資源調度語句。
例如,在一個實施例中,根據本發明的技術方案,針對SIESTA計算程序進行了web封裝,并編寫了相應軟件界面實現具體功能。
通過封裝,將SIESTA計算程序的任務提交流程隱藏在底層,提供給用戶一個簡單直觀的web界面,用戶只需要在web界面上執行簡單的操作,例如:輸入計算所需參數,選擇計算類型,輸入計算所需要的資源,選擇計算結果的存儲路徑,等等,本發明的實施例所提供的SIESTA計算任務的實現方法和裝置,可以獲取上述用戶輸入的計算參數和計算類型,并將獲取得到的計算參數代入到預先配置的與該計算類型相對應的計算命令語句,執行該計算命令語句并返回計算結果,而且,用戶可以根據自己申請的計算結果的存儲路徑查看計算結果。
并且,根據本發明的實施例所提供的SIESTA計算任務的實現方法和裝置,還可以對用戶輸入的計算指令進行合法性判斷,如果用戶輸入的計算指令格式不能被預先配置好的計算命令語句識別,則拒絕執行該語句,并發出提示消息,從而避免了用戶錯誤操作或者對軟件的惡意攻擊。
此外,在用戶申請計算資源的過程中,只需要將欲申請的計算資源的數量、和/或資源類型在相應的文本框中輸入,或者在相應的下拉菜單中進行選擇,本發明實施例中提供的SIESTA計算任務的實現方法可以獲取用戶輸入的資源請求內容,將服務器中的資源進行調度,提供給用戶,同時,如果用戶所申請的計算資源數量超出了服務器目前能夠提供的資源總量,則拒絕用戶的申請,并發出提示消息。
通過上述實施例提供的web封裝方法,就能實現數據文件準備、計算資源申請、計算任務提交、計算結果查看等整套流程,無需通過命令行的方式,大大降低用戶的使用門檻,提高使用效率,減小出錯概率。
在本實施例中,針對SIESTA計算程序進行web封裝,為用戶帶來全新的使用方式,效果主要體現在:
1.大大降低使用難度。用戶不再需要熟練掌握Linux操作系統基本操作、Shell腳本語言、常用的文本編輯和字符處理工具、MPI環境的調用、作業調度軟件等與其專業背景無關的知識和工具,就能輕松完成SIESTA計算任務的準備、執行等工作,大大降低了使用門檻。
2.大大提高使用效率。繁瑣復雜的命令行操作全部隱藏在底層,在底層自動批量執行,可以節省大量的人為操作時間,提高使用效率。
3.提高任務提交的成功率。根據實施例所提供的web封裝方法,會對用戶在web界面提交的參數和數據進行不同緯度的合法性檢查。比如,檢查用戶申請的計算資源是否超過其權限,用戶輸入的參數是否合法,用戶的輸入文件格式是否正確等,如果判斷出錯誤,會在web界面給出相應提示。通過這些合法性檢查可以大大提高并行任務提交的成功率。
4.輕松實現復雜功能。MPI并行程序運行時的一些復雜或高級功能,比如計算網絡的選擇,啟動CPU進程綁定等,如果通過命令行方式需要指定復雜的參數,操作繁瑣,使用難度較大,進行web封裝后,用戶只需要通過web界面上的一些選項框就能實現這些功能。
5.提高高性能計算集群的使用安全性。將普通用戶的任務提交操作封裝在web界面后,用戶執行的都是封閉式的操作,很大程度上避免了影響系統穩定或安全的用戶非法操作。
綜上所述,借助于本發明的上述技術方案,通過獲取用戶在圖形界面中的參數輸入框內輸入的計算指令、和/或資源申請指令,并將從指令中解析得到的參數信息代入到相應的命令語句,并執行該命令語句,能夠使SIESTA的計算任務的實現過程無需通過命令行,大大降低操作難度,提高執行效率,降低出錯概率,并且,通過對用戶輸入信息的合法性判斷,能夠很好地保證SIESTA計算程序的安全穩定運行。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。

關于本文
本文標題:SIESTA的計算任務的實現方法和裝置.pdf
鏈接地址:http://www.pqsozv.live/p-6180744.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
钻石光影