嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個(gè)部分組成,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或管理等功能。它具有小型化、低成本、高可靠、高靈活性等特點(diǎn)。
由于上述優(yōu)點(diǎn),曙光4000A大規(guī)模機(jī)群監(jiān)控系統(tǒng)在信息數(shù)據(jù)流的傳輸過(guò)程中,采用嵌入式系統(tǒng)作為數(shù)據(jù)信息匯總并且發(fā)送到監(jiān)控節(jié)點(diǎn)的平臺(tái)。
本文介紹了首先介紹了曙光4000A大規(guī)模機(jī)群監(jiān)控系統(tǒng)的功能和結(jié)構(gòu),然后介紹了嵌入式系統(tǒng)在其中的應(yīng)用,最后提出了這個(gè)實(shí)例今后的發(fā)展方向并總結(jié)全文。
一:曙光4000A大規(guī)模機(jī)群監(jiān)控系統(tǒng)
1.1 背景分析及項(xiàng)目意義
隨著機(jī)群系統(tǒng)的發(fā)展,機(jī)群的規(guī)模越來(lái)越大。當(dāng)機(jī)群的節(jié)點(diǎn)數(shù)達(dá)到幾百個(gè)以上時(shí),對(duì)這種大規(guī)模機(jī)群的管理和維護(hù)就會(huì)有很大的困難。一種解決方案就是對(duì)機(jī)群從硬件上配備監(jiān)控系統(tǒng)。這種監(jiān)控系統(tǒng)一方面需要收集所有節(jié)點(diǎn)機(jī)的硬件和軟件的實(shí)時(shí)信息,另外一方面需要隨時(shí)登陸出問(wèn)題的節(jié)點(diǎn)機(jī)上進(jìn)行管理,或者進(jìn)行遠(yuǎn)程安裝操作系統(tǒng)等工作。有時(shí)監(jiān)控系統(tǒng)還需要遠(yuǎn)程啟動(dòng)機(jī)器或者遠(yuǎn)程對(duì)機(jī)器進(jìn)行熱啟動(dòng)。
曙光4000A超級(jí)計(jì)算機(jī)由640個(gè)計(jì)算節(jié)點(diǎn)構(gòu)成,這樣的大規(guī)模機(jī)群監(jiān)控系統(tǒng)中,針對(duì)上述問(wèn)題,可以在節(jié)點(diǎn)機(jī)上安裝專門負(fù)責(zé)收集節(jié)點(diǎn)機(jī)信息以及節(jié)點(diǎn)機(jī)鼠標(biāo)鍵盤和VGA信號(hào)的節(jié)點(diǎn)卡。這樣大大簡(jiǎn)化了系統(tǒng)的連接方式,使系統(tǒng)管理員可以在控制室監(jiān)視整個(gè)機(jī)群系統(tǒng)的運(yùn)行情況并可以對(duì)任意一臺(tái)節(jié)點(diǎn)進(jìn)行類似本地的操作,而不需要進(jìn)入機(jī)房。
1.2監(jiān)控系統(tǒng)的各部分功能劃分
曙光4000A大規(guī)模機(jī)群監(jiān)控系統(tǒng)從硬件上分成四部分,包括節(jié)點(diǎn)卡、采集卡(多路器)、監(jiān)控屏幕、終端機(jī)等四個(gè)部分。整個(gè)系統(tǒng)架構(gòu)如圖1所示:
圖1 系統(tǒng)結(jié)構(gòu)圖
采集卡(多路器)最多支持8組節(jié)點(diǎn)機(jī),每組最多可支持128個(gè)節(jié)點(diǎn)機(jī)。節(jié)點(diǎn)卡安裝在節(jié)點(diǎn)機(jī)內(nèi)部,每個(gè)節(jié)點(diǎn)卡有兩個(gè)RJ45接口,作為數(shù)據(jù)總線接口,負(fù)責(zé)傳送鍵盤鼠標(biāo)操作信息、KVM命令信息、以及監(jiān)控信息。同時(shí)由于主板提供開機(jī)、重啟等電信號(hào)的接口,可以通過(guò)KVM系統(tǒng)來(lái)進(jìn)行節(jié)點(diǎn)機(jī)的開機(jī)、重啟等工作。
該監(jiān)控系統(tǒng)需要完成以下功能:
1.收集所有節(jié)點(diǎn)機(jī)的硬件信息并發(fā)送給監(jiān)控節(jié)點(diǎn);
2.實(shí)現(xiàn)機(jī)群最大1024節(jié)點(diǎn)任意節(jié)點(diǎn)的KVM切換和登陸,KVM支持OSD操作;
3.通過(guò)KVM系統(tǒng)可以進(jìn)行對(duì)任意節(jié)點(diǎn)進(jìn)行開機(jī),重啟(冷啟動(dòng))等工作(按需求待定);
4.節(jié)點(diǎn)機(jī)監(jiān)控屏顯示,節(jié)點(diǎn)號(hào)設(shè)置,自動(dòng)順序開機(jī)等(按需求看是否需要監(jiān)控屏)。
二:嵌入式系統(tǒng)的引入
2.1 采集卡(多路器)的結(jié)構(gòu)
曙光4000A大規(guī)模機(jī)群監(jiān)控系統(tǒng)的核心是采集卡,采集卡集成多路器功能。一方面,采用8×1的模擬開關(guān),支持1個(gè)終端盒,通過(guò)終端盒就可以操作整個(gè)機(jī)群中的任意一個(gè)節(jié)點(diǎn),從而實(shí)現(xiàn)了多路器的功能。另一方面,采集卡還要運(yùn)行應(yīng)用程序,分別收集8路總線上節(jié)點(diǎn)的監(jiān)控信息,然后通過(guò)采集卡集成的8路網(wǎng)口把收集的節(jié)點(diǎn)機(jī)的信息通過(guò)以太網(wǎng)傳送給監(jiān)控節(jié)點(diǎn),最終由監(jiān)控節(jié)點(diǎn)顯示在監(jiān)控屏幕上。
雖然采集卡總的數(shù)據(jù)流量并不是很大,性能的要求也不是很高,但是考慮到系統(tǒng)的可移植性、易用性和系統(tǒng)的可擴(kuò)展性,這個(gè)環(huán)節(jié)最好用一個(gè)嵌入式系統(tǒng)來(lái)實(shí)現(xiàn)。
每個(gè)節(jié)點(diǎn)機(jī)上的信息由節(jié)點(diǎn)卡收集,這些信息在匯總的過(guò)程中,采取輪循的方式收集,可以避免遺漏節(jié)點(diǎn)機(jī)信息。如果直接使用采集卡主芯片輪循收集,不但占用了采集卡的大量資源,更重要的是不能保證采集卡及時(shí)響應(yīng)監(jiān)控節(jié)點(diǎn)命令,從而不能把匯總的信息及時(shí)發(fā)送給監(jiān)控節(jié)點(diǎn),這樣會(huì)在監(jiān)控屏幕上顯示錯(cuò)誤的節(jié)點(diǎn)機(jī)信息。因此在采集卡中還集成了一個(gè)單片機(jī),這個(gè)單片機(jī)的作用就是收集相連的這一組節(jié)點(diǎn)機(jī)的信息,保存在本地緩沖區(qū)中,然后通過(guò)IIC總線發(fā)送給采集卡的主芯片。
對(duì)于采集卡主芯片的選擇,由于需要支持TCP/IP網(wǎng)絡(luò),需要支持IIC接口,同時(shí)還可以支持內(nèi)存控制以及Flash控制器,因此選擇了三星公司的ARM芯片S3C4510B,該芯片采用ARM7TDI內(nèi)核,32位RISC架構(gòu)。對(duì)于嵌入式操作系統(tǒng)的選擇,uClinux具有免費(fèi)、開源、可裁減性好、對(duì)TCP/IP網(wǎng)絡(luò)協(xié)議支持的較好并且穩(wěn)定性高等優(yōu)點(diǎn),因此選擇uClinux作為嵌入式操作系統(tǒng)。同時(shí)由于IIC總線技術(shù)有連接簡(jiǎn)單、數(shù)據(jù)傳輸速率高、高可靠性等優(yōu)點(diǎn),所以采集卡的主芯片和采集單片機(jī)使用IIC總線相連。
2.2 采集卡(多路器)的功能
采集卡的主要作用,一方面是從與每組節(jié)點(diǎn)機(jī)相連的采集單片機(jī)中通過(guò)IIC總線讀取節(jié)點(diǎn)機(jī)的信息,另一方面*自身的事先約定的端口,當(dāng)有連接請(qǐng)求并收到發(fā)送數(shù)據(jù)的命令后送出從采集卡中讀取的數(shù)據(jù)。硬件上已經(jīng)有了IIC和網(wǎng)絡(luò)接口,軟件方面,可以從網(wǎng)上資源中獲取S3C4510B芯片的IIC控制器和網(wǎng)絡(luò)驅(qū)動(dòng)程序,然后集成到uClinux嵌入式操作系統(tǒng)中。此外還需要一段采集程序?qū)崿F(xiàn)系統(tǒng)的主要功能。
采集程序根據(jù)系統(tǒng)需要的功能,分為兩個(gè)部分,一部分定時(shí)從IIC總線讀取數(shù)據(jù),另一部分*某個(gè)約定端口、收取命令并發(fā)送數(shù)據(jù)。這兩個(gè)部分分別由兩個(gè)線程來(lái)執(zhí)行。兩個(gè)線程共享同一塊數(shù)據(jù)緩沖區(qū)。線程一通過(guò)IIC總線讀取采集卡中的數(shù)據(jù),寫入緩沖區(qū)中,線程二一方面讀取緩沖區(qū)中的數(shù)據(jù)發(fā)送,另一方面在發(fā)送完畢后,把已經(jīng)發(fā)送了的緩沖區(qū)填寫為無(wú)效數(shù)據(jù)。由于數(shù)據(jù)緩沖區(qū)屬于臨界區(qū)域,這兩個(gè)線程在使用緩沖區(qū)的時(shí)候要嚴(yán)格互斥。
程序的主體結(jié)構(gòu)如下:
read_iic(){ //線程一運(yùn)行的函數(shù)
打開iic設(shè)備;
while(1) {
讀取iic設(shè)備的數(shù)據(jù);
寫入全局緩沖區(qū)中;
休眠一定的時(shí)間;
}
}
send_data() { //線程二運(yùn)行的函數(shù)
綁定本地端口;
*本地端口;
while(1) {
收到命令;
發(fā)送全局緩沖區(qū)中的數(shù)據(jù);
填寫無(wú)效數(shù)據(jù);
}
}
main() {
初始化全局緩沖區(qū);
創(chuàng)建線程一;
創(chuàng)建線程二;
}
2.3 運(yùn)行情況以及發(fā)展方向
在實(shí)際運(yùn)行1周后,曙光4000A大規(guī)模集群監(jiān)控系統(tǒng)運(yùn)行狀況良好,其中采集卡功能良好,在規(guī)定的延遲內(nèi)數(shù)據(jù)傳輸流暢,沒(méi)有出現(xiàn)數(shù)據(jù)漏傳、丟失等現(xiàn)象,說(shuō)明監(jiān)控系統(tǒng)中的嵌入式系統(tǒng)運(yùn)行很穩(wěn)定,發(fā)揮了預(yù)期的作用。
在將來(lái)的監(jiān)控系統(tǒng)升級(jí)工作中,可以考慮在這個(gè)采集卡中加入嵌入式數(shù)據(jù)庫(kù)技術(shù),把收到的數(shù)據(jù)存儲(chǔ)起來(lái),并且和uClinux提供的Web服務(wù)結(jié)合,在Web服務(wù)中顯示監(jiān)控系統(tǒng)的數(shù)據(jù),這樣就可以在任何一臺(tái)機(jī)器上以瀏覽網(wǎng)頁(yè)的形式監(jiān)控整個(gè)集群,從而節(jié)省了監(jiān)控節(jié)點(diǎn)的開銷,提高了采集卡的利用率。
三:結(jié)束語(yǔ)
嵌入式系統(tǒng)體積小、靈活性高,已經(jīng)被應(yīng)用到各行各業(yè),例如汽車、家電、航空、精密儀器等等。本文介紹的嵌入式系統(tǒng)在曙光4000A大規(guī)模機(jī)群監(jiān)控系統(tǒng)中的應(yīng)用,結(jié)合了ARM技術(shù)、IIC總線技術(shù),采用了uClinux嵌入式操作系統(tǒng),體積小、可擴(kuò)展性好、成本低,數(shù)據(jù)流向清晰明確,現(xiàn)在已經(jīng)作為配套產(chǎn)品提供給用戶。
責(zé)任編輯:gt
-
嵌入式
+關(guān)注
關(guān)注
5090文章
19176瀏覽量
306886 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7534瀏覽量
88449 -
監(jiān)控系統(tǒng)
+關(guān)注
關(guān)注
21文章
3939瀏覽量
176326
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論