沈 琳
(云南機(jī)電職業(yè)技術(shù)學(xué)院,昆明 650000)
數(shù)據(jù)處理速度作為網(wǎng)絡(luò)篩選技術(shù)的重要指標(biāo),反映了互聯(lián)網(wǎng)數(shù)據(jù)篩選技術(shù)的發(fā)展水平。為了能夠提供更佳性能帶寬的I/O,通常會(huì)采取在網(wǎng)絡(luò)硬件體系中添加虛擬磁盤的考慮方案。但是在添加虛擬磁盤的操作過程之中,有兩個(gè)至關(guān)重要的因素需要考慮:一個(gè)是I/O子系統(tǒng)的實(shí)現(xiàn)方式,二是關(guān)于體量較大的文件儲(chǔ)存問題。為了能夠保障I/O中文件的瀏覽和訪問的速率,一般并列文件體系都是借助了文件分片的方法,具體指的是將體量較大的數(shù)據(jù)文件分成若干個(gè)分片文件。綜觀所有高性能的I/0案例,基本上滿足高帶寬的解決措施都是采取循環(huán)分片的措施,通過將體量巨大的數(shù)據(jù)文件進(jìn)行分割,并且分割后的文件安排在工作網(wǎng)點(diǎn)的相關(guān)節(jié)點(diǎn)之上,保證了文件的瀏覽和訪問,提高了數(shù)據(jù)的運(yùn)算和處理速度。工作站網(wǎng)絡(luò)中的結(jié)點(diǎn)是平等的關(guān)系,循環(huán)分片十分的方便,利用CollectiveI/O就是為了提高磁盤的存取效率,這也是充分利用了工作站的網(wǎng)絡(luò)特點(diǎn),本文就對(duì)數(shù)據(jù)篩選技術(shù)在并行I/O中的應(yīng)用進(jìn)行分析。
隨著科技的不斷發(fā)展,并行處理技術(shù)也在日益成熟,基于并行計(jì)算機(jī)系統(tǒng)的并行數(shù)據(jù)庫系統(tǒng)能夠解決數(shù)據(jù)系統(tǒng)的I/O瓶頸,近些年來,國內(nèi)外掀起了系統(tǒng)研究的熱潮,國內(nèi)外的研究水平也在不斷的提高,具有高性能、高擴(kuò)充性的并行數(shù)據(jù)庫系統(tǒng)還需要做更多的工作,為以后的工作打下堅(jiān)實(shí)基礎(chǔ)。
I/O技術(shù)將程序所產(chǎn)生的大的小的I/O請(qǐng)求合并成少量大的I/O請(qǐng)求,這樣就能夠提高磁盤讀寫的速度,這也是該技術(shù)中最關(guān)鍵的部分,通過信息篩選工具,將時(shí)間跨度相對(duì)較小的瀏覽命令,計(jì)算機(jī)內(nèi)部系統(tǒng)只執(zhí)行唯一的磁盤處理,將體量較為龐大的文件夾,開始于字節(jié)位置最低的部分,在字節(jié)處理達(dá)到接近閉環(huán)的階段,文件數(shù)據(jù)被導(dǎo)向到計(jì)算機(jī)內(nèi)部的緩沖區(qū)域之中,然后繼續(xù)對(duì)該數(shù)據(jù)塊進(jìn)行進(jìn)一步的處理和篩選,與此同時(shí)通過減少操作指令的執(zhí)行頻次來提高數(shù)據(jù)處理的整體速度。數(shù)據(jù)篩選技術(shù)寫操作的過程與一般的方式不同,可以采用先讀再修改的方法,然后將要寫入的數(shù)據(jù)進(jìn)行覆蓋,這時(shí)的操作并不是直接寫回,而是需要考慮到文件共享的問題,在寫操作的過程中當(dāng)前進(jìn)程將原來的數(shù)據(jù)寫入,從而導(dǎo)致數(shù)據(jù)的丟失,因此要對(duì)所有的數(shù)據(jù)進(jìn)行加鎖。另一方面,因?yàn)榇嬖跀?shù)據(jù)矩陣讀取的狀況,例如在一個(gè)磁盤儲(chǔ)存了一個(gè)數(shù)據(jù)矩陣,那么在矩陣中的數(shù)據(jù)讀取過程之中,由于類似[3,1][3,4][3,6][3,9]這些矩陣數(shù)據(jù)并非是連續(xù)的有序排列,因此無法根據(jù)指令進(jìn)行相關(guān)的復(fù)合處理,I/O技術(shù)也不能適用,于是只能借助四個(gè)I/O整合調(diào)用,但調(diào)取的數(shù)據(jù)體量較小,執(zhí)行指令加上其間的間隔空隙可以形成一個(gè)數(shù)據(jù)模塊,通過將操作者所需文件數(shù)據(jù)移交給執(zhí)行程序,應(yīng)用程序工作過程之中又會(huì)多處讀取一些數(shù)據(jù),但總體來看數(shù)據(jù)存取的模式處理下,執(zhí)行請(qǐng)求的間隔很小,瀏覽巨大數(shù)據(jù)體量的時(shí)間超過了數(shù)據(jù)處理的運(yùn)行成本,這就是數(shù)據(jù)篩選的運(yùn)用思想。在數(shù)據(jù)篩選的過程之中,宏觀下可分為兩個(gè)階段,一是首先將間隔不連續(xù)的執(zhí)行命令進(jìn)行整合,二是來篩選最終選定的數(shù)據(jù)。
在多處理機(jī)的環(huán)境下,根據(jù)I/O請(qǐng)求來計(jì)算結(jié)點(diǎn),最早采用CollectiveI/O的并行文件系統(tǒng)都是采用的Two-PhaseI/O,CION的體系結(jié)構(gòu)如圖1所示,圖中粗線就是系統(tǒng)中的物理實(shí)體,其中虛線部分代表著運(yùn)算體系中的實(shí)體部分,邏輯實(shí)體又可以進(jìn)一步劃分為A,B,C三個(gè)部分,A是應(yīng)用程序的表征,B是由內(nèi)部節(jié)點(diǎn)所組的CollectiveI/O的子系統(tǒng),C是磁盤陣列。B部分作為整個(gè)系統(tǒng)的核心機(jī)制,起著連接應(yīng)用和磁盤的過渡作用。I/O代理可以分為應(yīng)用代理和服務(wù)代理兩大種類,其中應(yīng)用代理指的是為所屬應(yīng)用程序負(fù)責(zé)的交互進(jìn)程,而服務(wù)代理指的是對(duì)計(jì)算機(jī)內(nèi)部磁盤管理的進(jìn)程,也負(fù)責(zé)對(duì)小型指令進(jìn)行合并,分析以及過程控制,數(shù)據(jù)篩選主要是由服務(wù)代理所完成的,能夠產(chǎn)生少量的連續(xù)請(qǐng)求,在讀出磁盤數(shù)據(jù)之后,然后找出其中最關(guān)鍵的數(shù)據(jù),從而發(fā)送給相應(yīng)結(jié)點(diǎn)的代理。
數(shù)據(jù)篩選技術(shù)工具的性能評(píng)測(cè)主要是對(duì)數(shù)據(jù)篩選的功效評(píng)測(cè),通常采用對(duì)比實(shí)驗(yàn)的方法來進(jìn)行比較。在實(shí)驗(yàn)中,借助數(shù)據(jù)向量的讀取比對(duì),以byte類型為例,如果在磁盤上為連續(xù)存儲(chǔ)表征,數(shù)據(jù)顯示為(1,7432,3)則表示從讀取的數(shù)據(jù)文件第一個(gè)字節(jié),每隔兩個(gè)個(gè)讀取一個(gè),一直持續(xù)讀取到文件的7432,同時(shí)測(cè)試8K和1M之間的情況,從測(cè)試數(shù)據(jù)中可以看出,數(shù)據(jù)篩選技術(shù)對(duì)于數(shù)據(jù)處理的性能要求很高,哪怕測(cè)試后數(shù)據(jù)性能的數(shù)據(jù)值差距不大,性能上的差異卻是失之毫厘,差之千里。例如Passion采用的就是Two-phaseI/O的方式,文件的邏輯分片管理與文件的物理存儲(chǔ)不同,都是利用了數(shù)據(jù)篩選的優(yōu)勢(shì),這樣造成的網(wǎng)絡(luò)負(fù)載比較大,這里面應(yīng)用了文件在磁盤的分布信息,能夠優(yōu)化磁盤的控制。
綜上所述,主要對(duì)數(shù)據(jù)篩選技術(shù)在并行I/O中的應(yīng)用進(jìn)行分析,可以看出,數(shù)據(jù)篩選與CollectiveI/O技術(shù)結(jié)合在一起,充分發(fā)揮出了I/O技術(shù)的效能,不同的方式測(cè)試的結(jié)果也是不同的,實(shí)現(xiàn)結(jié)果能夠顯示出數(shù)據(jù)篩選與I/O技術(shù)的密切關(guān)系,是該技術(shù)的主要組成部分。