999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向移動APP的高性能計算作業監控系統

2017-08-12 15:45:56李薛劍俞昳豪華松健
計算機應用與軟件 2017年7期
關鍵詞:作業系統

王 瑋 李薛劍 俞昳豪 華松健 錢 菲

(安徽大學計算機科學與技術學院 安徽 合肥 230601)

?

面向移動APP的高性能計算作業監控系統

王 瑋 李薛劍*俞昳豪 華松健 錢 菲

(安徽大學計算機科學與技術學院 安徽 合肥 230601)

當前高性能計算技術應用廣泛,然而PBS作業管理系統存在操作麻煩、數據顯示不直觀等諸多缺點。結合當前信息化高速發展、智能終端和移動APP進一步普及的現實,利用IOS平臺的Xcode集成開發工具編寫移動端APP、使用PHP語言編寫中間接口程序,設計面向移動端的高性能計算監控系統。使用移動端的監控系統可以避免PBS存在的部分缺點,具有較好的效率和較高的實用性。實驗表明,該APP對移動端的資源占用較少,并且可較好地應用于高性能計算作業調度系統的監控。

移動APP 高性能計算 PBS作業管理系統 IOS平臺

0 引 言

高性能計算技術[1]已經成為推動科技發展、社會進步的重要工具,其涉及范圍包括核武器研究、石油勘探、生物信息技術、醫療技術、計算化學、天氣和災害預報等方面。在國內外,高性能計算應用都已經具有相當的規模。高性能計算利用計算集群強大的計算能力來處理復雜的問題,然而以PBS[2]為代表的作業調度系統作為管理該機群的系統,仍然采用命令行方式。移動端是現在重要的信息交流工具,據2013年Google發布中國智能手機使用情況調查報告,中國城市智能手機的普及率大大提高。由于PBS采用命令行方式,較為復雜、不易操作,所以在移動端采用圖形界面顯示更為友好。

1 高性能計算作業監控APP

1.1 APP簡介

高性能計算作業監控系統主要包括三個部分:(1)移動端APP;(2)服務器端的接口程序;(3)服務器端的PBS系統。通過網絡通信與服務器端進行數據交互,移動端APP對數據進行處理和結果呈現。用戶在移動端就可以方便查詢機群和作業的運行狀態。這里,移動端的APP和接口程序是系統實現的核心,需要采用設計合理且功能完善的設計思想以及實現能滿足功能的中間接口程序。

1.2 軟件架構

桌面應用已經逐漸從C/S架構[3]向B/S架構[4]轉變,目的是為了提升用戶的體驗。而APP的架構恰恰相反,將主要工作交給服務器完成,客戶端則是簡單處理數據和顯示數據。高性能計算作業監控APP同樣是采用C/S架構,分為兩個部分:移動端的APP和接口程序。

整個系統的框架圖如圖1所示。

圖1 系統框架

1.3 軟件功能

綜合移動端的特點,確定高性能計算作業APP應該具有的基本功能,即機群概況查詢功能、作業完成情況查詢功能、用戶登錄及注銷功能。

APP的框架如圖2所示。

圖2 APP框架圖

APP的基本流程如圖3所示。

圖3 APP流程圖

1.4 UI設計

由于手機屏幕比較小,并且需要在有限的空間里展示數據的處理結果,所以構造合理的布局顯得十分重要。對于移動終端屏幕的底部放置toolbar所顯示圖標或者文字而言,不超過5個圖標或者5個按鈕顯得比較合理;其次,機群概況使用圖表的方式會更為直接;最后,對于作業查詢可能出現比較多的作業條目的情況,使用tableview會使得布局較為合理。

對圖標的形狀和大小等細節部分的處理也顯得較為重要,為了避免帶來過于鋒利的感覺,外框使用圓角框處理顯得更加平滑。同時,用戶由于一般用手指進行觸控操作,對于按鈕的大小也要適當,避免用戶一次點擊了多個相距較近的按鈕,導致較差的用戶體驗。

2 APP實現涉及的相關工具和技術

2.1 IOS平臺

IOS[5]是由蘋果公司開發的操作系統,最初是為手機開發的系統,后來也逐漸被用于蘋果公司其他設備,目前已經成為移動端非常流行的操作系統。在IOS系統上,Object-C[6]是必須要掌握的一門語言,最初源自NeXTSTEP系統,之后在OS X和IOS中繼承下來。1988年,蘋果公司CEO喬布斯開發出相關的語言庫和開發環境,由此成為蘋果操作系統極其API、Cocoa和Cocoa Touch的主要編程語言。Xcode[7]是用于在Mac OS和IOS編程的軟件工具,從Xcode3.1開始就支持為IPhone編程。

通過審核的第三方應用程序可通過APP Store進行發布和下載。

2.2 APP關鍵技術

2.2.1 不同VIEW間的傳值方式及分析

對于一個APP而言,一次請求的數據可能會使用多次,在IOS中,為每個View設計界面功能都會新建一個頭文件和一個主文件。因而如果在不同View使用同一組值,請求多次會占用大量的資源,顯然不合理。所以,如果對不同的View進行傳值,會節省資源和時間,同時減輕本地數據處理的負擔。在IOS當中,兩個View傳值大致有六種方式:

1) 正向傳值方式

2) 使用代理傳值

3) 通知傳值

4) 使用全局變量傳值

5) 單例傳值

6) 使用AppDelegate傳值

對上述六種傳值方式:

1) 在面向移動APP的高性能計算作業監控系統中,除登錄界面外,余下的視圖都是同級并列關系,因而并不存在正向、反向的關系;代理傳值和通知傳值都是基于反向傳值的方式,不適合該APP的設計。

2) 使用全局變量的方式最為簡單,但是會引起一些不必要的問題,例如變量名重復等,顯然這并不是好的辦法。

3) 單例傳值和使用AppDelegate傳值有非常相似的地方,都是相當于把需要傳值的東西交付到第三方的手中,經由第三方傳給需要傳給的對象。

單例傳值(一個類中只有一個實例)需要聲明和實現單例方法:

+(SingletonModel *) shareSingleModel;

AppDelegate傳值方法與單例傳值相似,是在AppDelegate中聲明一個屬性,然后在需要保存值的地方中創建一個AppDelegate對象進行保存,示例如下:

AppDelegate *myDelegate=[[UIApplicationsharedApplication]delegate];

myDelegate.un = self.userName.text;

myDelegate.up = self.userPassword.text;

2.2.2 內存管理方式及分析

內存管理在IOS開發中占據這重要地位,甚至是決定軟件質量的關鍵因素。

Cocoa的內存管理規則[8]:

1) 當使用new、alloc或copy方法創建一個對象的時候,該對象的保留計數器就會被置為1。當你向該對象發送一條release或autorelease消息時,該對象將在使用壽命結束被銷毀。

2) 如果通過其他方式獲取一個對象(假設該對象的保留計數器為1)并且該對象被設置了自動釋放,則不需要執行任何操作確保該對象得到清理。

3) 如果保留某個對象,就需要釋放該對象。必須保持retain方法和release方法的使用次數相等。

在IOS中,內存管理存在兩種方式,分別是MRC(MannulReference Counting)和ARC(automatic reference counting)。在Xcode4.2版本以前,內存管理只有MRC管理方式,即需要對每個對象手動編寫語句釋放內存。而ARC機制類似Java或Python語言中的垃圾回收,系統會自動識別并清理不再使用的對象。兩者相對而言,MRC可以使開發者清楚地知道自己所要管理的對象內存,ARC則是系統自動管理,開發者可能會不清楚自己要管理的內存。與此同時,使用MRC機制容易導致內存泄漏,原因就在于開發者可能在編碼的過程中漏寫少數的release等語句,而使用ARC機制時,開發者能集中更多的精力在代碼的功能實現上。

2.2.3 信息交互

IOS客戶端上的APP要與接口程序進行信息交互,所采用的是HTTP[9]中的Get方式和Post方式,兩者之間存在一定的差別。Get方式會將URL的一部分用瀏覽器保存起來,且Get方式的參數一般都跟在URL后面,支持的數據也比較小。相對于Post方式,Get方式更不安全,特別針對與用戶登錄的賬戶名和密碼,因為Post方式的參數不會被瀏覽器記錄下來的,而在Get方式中,數據作為URL的一部分是可以在瀏覽器的歷史中被訪問到的。以下是POST方式請求的關鍵代碼,其中還要涉及到回調方法。

NSString *urlString = @"http://xx.xx.xx.xx";

NSURL *url = [NSURL URLWithString:urlString];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30];

NSString *param = [[NSString alloc] initWithFormat:@"username=%@&userpassword=%@",self.userName.text,self.userPassword.text];

NSData *paramData = [paramdataUsingEncoding:NSUTF8StringEncoding];

[request setHTTPBody:paramData];

[request setHTTPMethod:@"POST"];

NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

2.2.4 接口技術

接口開發主要使用PHP[10]語言以及PHP中的SSH2擴展,分為登錄驗證、作業查詢、節點查詢三個模塊。其中登錄驗證模塊從客戶端接收包含用戶名和密碼的POST請求,作業和節點查詢模塊接收包含用戶名、密碼、指令和參數的POST請求。通過ssh2_connect方法連接目的PBS所在的服務器,然后通過ssh2_auth_password方法進行SSH登錄驗證,登錄模塊通過判斷驗證方法的返回值來返回登錄結果。

查詢模塊通過ssh2_exec方法向遠程主機發送指令并將輸出重定向到文件中,然后調用ssh2_scp_recv方法將文本獲取到服務器端,服務器端解析文本提取出有用數據并轉換成JSON數據返回給客戶端。

2.2.5 數據格式及處理

JSON[11]是一種常用的輕量級交換數據的格式,方便通信之間的傳遞同時方便接口程序和APP解析數據。

JSON 語法是 JavaScript[12]對象表示語法的子集,格式要點如下:

? 數據在鍵值對中

? 數據由逗號分隔

? 花括號保存對象

? 方括號保存數組

數據格式示例如下:

{"calnode1":"down","calnodes_num":"1","calnodes_num_free":"0","calnodes_num_down":"1"}

在IOS5以后,APPLE公司提供了對JSON數據的原生支持,使用NSJSONSerialization方法可以方便處理JSON數據。此方法可以將JSON數據轉為Object-C的字典類型數據以便程序進一步處理。關鍵處理代碼如下:

NSDictionary *Dir = [NSJSONSerialization JSONObjectWithData:[jsonData dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingAllowFragments|NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:nil];

在接口程序中,用如下代碼將數據轉為JSON:

echo json_encode(data);

3 實驗及測試結果分析

3.1 實驗環境

本實驗在浪潮TS10K集群系統平臺上采用5臺(配置為:CPU Intel Xeon X5660 2.8 GHz,內存24 GB,硬盤300 GB ,Redhat Enterprise Linux Server 5.5,OpenMPI并行環境)服務器作為計算節點,1臺(配置為:CPU Intel Xeon E5620 2.4 GHz,內存24 GB,硬盤300 GB ,Redhat Enterprise Linux Server 5.5操作系統)服務器作為管理節點,搭建實驗所需的計算集群;在移動端的IOS平臺下進行了真機測試和模擬器測試。

3.2 實驗與結果分析

3.2.1 移動端APP登錄集群系統

登錄測試如圖4-圖6所示。

圖4 登錄測試_初始界面

圖5 登錄測試_密碼錯誤

圖6 登錄測試_密碼或用戶名為空

由圖4-圖6可以看出,在登錄階段采取了本地和網絡檢測賬戶密碼的兩種方式。本地先對賬戶密碼采取判斷為空的情況,在這種情況下,賬戶密碼不會提交給服務器而是直接判斷登錄失敗并給出相關說明。在賬戶密碼為合理的組合情況下,提交服務器判斷賬戶密碼是否正確并作出相應的響應。

3.2.2 集群及計算作業狀態監控

通過在實驗集群上采用PBS作業調度系統提交VASP、Matlab、和MPI并行計算程序作為計算作業,在移動端APP上對集群和計算作業的運行狀態進行監控。

集群狀態視圖如圖7所示。

圖7 高性能計算集群狀態視圖

計算作業狀態視圖如圖8所示。

圖8 計算作業狀態視圖

由圖7,集群視圖展示繁忙、空閑兩類計算節點的使用情況,并用柱狀圖和數字顯示的方式進行直觀的狀態呈現。由圖8,計算作業的運行狀態內容包括作業名稱、所屬用戶、所處狀態和計算完成所剩余時間,都可以在移動APP端較好地呈現,對用戶關注的計算作業的屬性,已經可以較全面地呈現。

4 結 語

本文通過IOS前端設計、信息交互和接口程序設計等方面介紹了高性能計算作業監控系統移動APP的設計和開發。本APP為專業人員學習PBS、TORQUE高性能計算集群作業調度系統,使用高性能計算集群提供了方便。今后的工作將對高性能計算作業監控系統移動APP與計算集群的交互和統計功能、軟件的性能等方面做進一步的實現和完善。

[1] 趙毅, 朱鵬, 遲學斌,等. 淺析高性能計算應用的需求與發展[J]. 計算機研究與發展, 2007, 44(10):1640-1646.

[2] 李源, 鄭全錄, 曾韻. PBS作業管理系統分析[J]. 現代計算機(專業版),2004(3):17-19,23.

[3] 米軍. 一種基于C/S架構的圖書館管理系統設計[J]. 煤炭技術,2010,29(9):248-251.

[4] 鄭雷雷, 宋麗華, 郭銳, 等. B/S架構軟件的安全性測試研究[J]. 計算機技術與發展,2012,22(1):221-224.

[5] IOS[EB/OL]. [2016-5-19] http://zh.wikipedia.org/zh-cn/iOS.

[6] XCode[EB/OL]. [2016-5-19]. http://en.wikipedia.org/wiki/Xcode.

[7] Scott Knaster,Waqar Malik,Mark DalryMple. Object-C基礎編程[M].2版. 周慶成, 譯. 北京, 人民郵電出版社.

[8] 劉樂廷, 李敬兆. IOS內存開發管理機制的研究[J]. 計算機與現代化,2013(3):196-199,203.

[9] 徐健, 王濤. HTTP/1.1的分析[J]. 西南師范大學學報(自然科學版),2004,29(2):315-319.

[10] 肖維明. 基于PHP+MySQL的網站開發[J]. 物流工程與管理,2009,31(6):90-92.

[11] JSON[EB/OL].[2016-5-19]http://baike.baidu.com/link?url=DmAB7VdaP3Thr6TREqDCHp21uPosO9Nw2ERePZ 75kJkito6LvGOfrZ9axASacwAuY-wWiizUvDZbVu7uta BRqa.

[12] 曹宇,陳海峰. 基于JSON、JavaScript、HTML5和前端存儲技術的均衡運算框架[J]. 實驗室研究與探索,2014,33(5):116-119.

A HIGH-PERFORMANCE COMPUTING MONITORING SYSTEM FOR MOBILE APP OPERATIONS

Wang Wei Li Xuejian*Yu Yihao Hua Songjian Qian Fei

(SchoolofComputerScienceandTechnology,AnhuiUniversity,Hefei230601,Anhui,China)

According to the current high performance computing technology has a very high value in use. But there are many defects such as complex operation, time and space limit and non-intuitive data display exist in PBS Job Management System. Combined with the current rapid development of information technology, intelligent terminal and smart phones are further popularized. Xcode integrated development tool of IOS platform is used to write mobile terminal APP, and PHP language is used to write intermediate interface program, designed for high-performance mobile terminal computing monitoring system. The use of the mobile terminal monitoring system can avoid some of the defects of PBS, with good efficiency and high practicality. The experimental results show that the APP has less resources consumption on mobile terminal, and can be well applied to the monitoring of high performance computing and dispatching system.

Mobile APP High performance computing PBS job management system IOS platform

2016-05-25。國家自然科學基金項目(61300169)。王瑋,學士,主研領域:高性能計算,作業調度。李薛劍,講師。俞昳豪,學士。華松健,學士。錢菲,學士。

TP311

A

10.3969/j.issn.1000-386x.2017.07.032

猜你喜歡
作業系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
讓人羨慕嫉妒恨的“作業人”
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
作業聯盟
學生天地(2020年17期)2020-08-25 09:28:54
快來寫作業
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
作業
故事大王(2016年7期)2016-09-22 17:30:08
主站蜘蛛池模板: 亚洲成人一区二区| 欧日韩在线不卡视频| 国产区在线看| 四虎永久在线精品国产免费| 精品国产中文一级毛片在线看 | 麻豆AV网站免费进入| 夜夜拍夜夜爽| 久久亚洲欧美综合| 欧美精品在线观看视频| 五月婷婷综合网| 2048国产精品原创综合在线| 中文字幕伦视频| 四虎国产精品永久一区| 欧美午夜一区| 国产欧美视频在线观看| 性网站在线观看| 欧美日韩国产成人高清视频| 美女无遮挡拍拍拍免费视频| 国产av色站网站| 国产主播在线一区| 9丨情侣偷在线精品国产| 国产成人久久777777| 欧美成人免费午夜全| 3344在线观看无码| 久久国产亚洲欧美日韩精品| 911亚洲精品| 在线观看国产精美视频| 欧美在线视频a| 国产精品xxx| 欧美综合一区二区三区| 国产成人综合亚洲欧洲色就色| 日韩精品中文字幕一区三区| 人妻精品久久无码区| 少妇人妻无码首页| 真实国产乱子伦视频| 精品剧情v国产在线观看| 亚洲一区第一页| 漂亮人妻被中出中文字幕久久| 国产理论精品| 国产成人精品高清不卡在线| 国产区网址| 在线播放真实国产乱子伦| 四虎影视无码永久免费观看| 欧洲极品无码一区二区三区| 国禁国产you女视频网站| 亚洲精品国产日韩无码AV永久免费网| 美臀人妻中出中文字幕在线| 精品国产美女福到在线不卡f| 欧美亚洲国产精品第一页| 国产拍在线| 日韩区欧美区| 夜夜操天天摸| 亚洲欧州色色免费AV| 国产一级视频久久| 欧美a网站| 欧美日韩亚洲综合在线观看| 免费人成又黄又爽的视频网站| 国产在线观看第二页| 久久福利片| 久热中文字幕在线观看| 亚洲国产综合精品中文第一| 好紧太爽了视频免费无码| 欧美视频在线播放观看免费福利资源| 欧美中文一区| 狠狠色综合网| 免费视频在线2021入口| 欧美成人午夜视频免看| 日韩黄色大片免费看| 一区二区在线视频免费观看| 亚洲自拍另类| 久久精品丝袜高跟鞋| 在线精品欧美日韩| 91精品专区| 亚洲第一色视频| 欧美午夜在线视频| 中文无码精品A∨在线观看不卡 | 日本高清有码人妻| 国产免费a级片| 亚洲最猛黑人xxxx黑人猛交| 国产无遮挡裸体免费视频| 国产成人欧美| 免费高清自慰一区二区三区|