摘 要: Hadoop是一種處理和存儲大數(shù)據(jù)的平臺,針對異構(gòu)Hadoop集群下采用均等數(shù)據(jù)分配方法易降低系統(tǒng)計算性能的問題,提出一種自適應(yīng)平衡數(shù)據(jù)存儲的大數(shù)據(jù)放置策略。根據(jù)異構(gòu)集群中各節(jié)點的計算能力比例,將數(shù)據(jù)分配到節(jié)點中。在任務(wù)處理過程中,根據(jù)反饋的任務(wù)完成時間信息,動態(tài)更新節(jié)點的能力比例,自適應(yīng)調(diào)整數(shù)據(jù)分配,從而使異構(gòu)Hadoop集群中各節(jié)點處理數(shù)據(jù)的時間大致相同,降低節(jié)點之間的數(shù)據(jù)移動量,提高了節(jié)點利用率。實驗結(jié)果表明,該策略能夠有效縮減任務(wù)完成時間,提高了系統(tǒng)的整體性能。
關(guān)鍵詞: 異構(gòu)Hadoop集群; 大數(shù)據(jù)放置; 數(shù)據(jù)存儲平臺; 平衡數(shù)據(jù)存儲
中圖分類號: TN915?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2016)10?0049?05
A big data placement strategy for adaptive balance data storage in heterogeneous Hadoop cluster
ZHANG Shaohui1, ZHANG Zhongjun2, YU Laihang3
(1. College of Network Engineering, Zhoukou Normal University, Zhoukou 466001, China; 2. College of Computer Science and Technology, Zhoukou Normal University, Zhoukou 466001, China;3. College of Computer Science and Technology, Dalian University of Technology, DaLian 116024, China)
Abstract: Hadoop is a platform for processing and storage of big data. A big data placement strategy for adaptive balance data storage in heterogeneous Hadoop cluster is proposed to solve the issue that equal data placement in heterogeneous Hadoop cluster will debase the calculation performance of the system. The data is placed into nodes according to the computing capacity ratio of each node in heterogeneous cluster. In the process of task processing, the node ratio is updated dynamically according to the feedback information of task completion time, and then the adaptive adjustment of data distribution is conducted, so that the time that every node in heterogeneous Hadoop cluster processes the data is basically same, the amount of data transfer between nodes is reduced, and the utilization of nodes is improved. The experimental results show that the proposed strategy can effectively reduce the task completion time and improve the overall performance of the system.
Keywords: heterogeneous Hadoop cluster; big data placement; data storage platform; balance data storage
0 引 言
Hadoop系統(tǒng)通過分布式文件系統(tǒng)[1?2](Hadoop Distributed File System,HDFS)來解決大數(shù)據(jù)的存儲。HDFS具有橫向擴展存儲能力、高可靠性、適合對數(shù)據(jù)進行分布式計算等優(yōu)點[3?4]。異構(gòu)環(huán)境中,若采用原始HDFS的均等數(shù)據(jù)分配策略,將會大大增加數(shù)據(jù)傳輸?shù)臅r間,影響系統(tǒng)整體性能[5?6]。因此,需要開發(fā)一種異構(gòu)環(huán)境中的動態(tài)數(shù)據(jù)放置策略,以減少數(shù)據(jù)塊從高能量節(jié)點移動至低能量節(jié)點的次數(shù)[7],從而提高Hadoop性能。
現(xiàn)有針對異構(gòu)Hadoop中的數(shù)據(jù)放置問題的研究中,文獻[8]提出一種調(diào)度器,通過計算所有節(jié)點的剩余執(zhí)行時間,為剩余時間最長的節(jié)點啟動備份任務(wù);其雖然能提高MapRaduce的計算性能,卻需要較多的等待時間。文獻[9]提出一種數(shù)據(jù)放置策略,依據(jù)每個節(jié)點的計算能力值來分配數(shù)據(jù),主要解決計算階段的數(shù)據(jù)傾斜問題,然而,該策略只在開始階段進行數(shù)據(jù)放置,沒有考慮任務(wù)執(zhí)行過程中的節(jié)點計算能力的動態(tài)變化,且節(jié)點能量值的計算也不夠精確。
本文提出一種異構(gòu)Hadoop集群下的自適應(yīng)大數(shù)據(jù)放置策略,根據(jù)節(jié)點的計算能力放置數(shù)據(jù),并在任務(wù)執(zhí)行過程中自適應(yīng)調(diào)整放置比例。實驗結(jié)果表明,本文策略能夠有效減少數(shù)據(jù)的移動量,從而縮短了任務(wù)完成時間,提高了Hadoop系統(tǒng)的性能。
1 Hadoop介紹
Hadoop包括兩個主要部分:MapReduce和HDFS,其中MapReduce負責(zé)并行計算,HDFS負責(zé)數(shù)據(jù)管理[10]。Hadoop系統(tǒng)中,Hadoop劃分任務(wù)和數(shù)據(jù)為子任務(wù)和數(shù)據(jù)塊,并分配到集群中的節(jié)點[11]。
HDFS 文件系統(tǒng)通常包括一個NameNode 和多個DataNode,HDFS 總體結(jié)構(gòu)示意圖如圖1 所示。NameNode只負責(zé)存儲節(jié)點元數(shù)據(jù),并且DataNode通過周期性的心跳信號與NameNode通信,這樣一來,減輕了NameNode 的負載壓力,不會出現(xiàn)大量的數(shù)據(jù)流造成擁堵[12]。
2 問題描述
Hadoop假設(shè)集群中每個節(jié)點的計算能力相同,并為每個節(jié)點分配相同的負載,因此其能充分利用集群中的資源;但是,在現(xiàn)實應(yīng)用程序中,集群經(jīng)常工作在異構(gòu)環(huán)境下,可能存在不同配置的PC或服務(wù)器,致使節(jié)點能量各不相同。在這種情況下,如果仍然使用原始HDFS策略,平均分配數(shù)據(jù)塊和負載到每個節(jié)點,這會使各節(jié)點處理本地數(shù)據(jù)塊的完成時間不同,從而降低Hadoop策略的整體性能[13]。另外,若此時主節(jié)點仍然分配非執(zhí)行性的任務(wù)到閑置的較快節(jié)點,但該節(jié)點未擁有處理所需的數(shù)據(jù),所需數(shù)據(jù)需從網(wǎng)絡(luò)的另一節(jié)點傳輸。由于等待數(shù)據(jù)傳輸需要時間,也將導(dǎo)致延長整個任務(wù)的執(zhí)行時間,所以,大量的數(shù)據(jù)移動也會影響整體Hadoop性能[14]。其中,整個任務(wù)執(zhí)行時間為從執(zhí)行開始到最后一個子任務(wù)完成的時間。
圖2 顯示了一個原始HDFS數(shù)據(jù)分配的例子。圖2中,集群中有3個節(jié)點,3個節(jié)點的計算能力不同,假設(shè)節(jié)點A的計算能力是節(jié)點B的2倍,是節(jié)點C的3倍。如圖2(a)所示,處理任務(wù)所需的數(shù)據(jù)塊近似等分配到每個節(jié)點:節(jié)點A有3個數(shù)據(jù)塊,節(jié)點B有4個,節(jié)點C有4個。任務(wù)開始執(zhí)行后,節(jié)點A將是最快完成處理存儲在節(jié)點A中數(shù)據(jù)塊的節(jié)點,此時,節(jié)點B和節(jié)點C分別完成其中1.5個和1個數(shù)據(jù)塊。由于此時節(jié)點A具有空任務(wù)時隙,所以NameNode安排未處理任務(wù)給節(jié)點A,則節(jié)點A必須等待處理任務(wù),即需要從節(jié)點B或節(jié)點C轉(zhuǎn)移數(shù)據(jù)(圖2(c)中為從節(jié)點B到節(jié)點A,圖2(d)和圖2(e)中為從節(jié)點C到節(jié)點A),此時節(jié)點A需要等待,直到數(shù)據(jù)轉(zhuǎn)移結(jié)束再進行下一步操作。最后,如圖2(f)所示,節(jié)點A從其他兩個節(jié)點轉(zhuǎn)移了3個數(shù)據(jù)塊,以此均衡負載,但轉(zhuǎn)移等待時間延長了整體任務(wù)執(zhí)行時間,影響了Hadoop性能。
如果能夠合理分配任務(wù),減少轉(zhuǎn)移數(shù)據(jù)量,就能夠有效減少任務(wù)執(zhí)行時間,進一步提高了Hadoop的性能。正如上所述,如圖3 所示為一個改進后的最佳數(shù)據(jù)分配的例子。
按照3個節(jié)點的計算能力重新分配數(shù)據(jù)塊,假設(shè)節(jié)點A擁有6個數(shù)據(jù)塊,節(jié)點B擁有3個,而節(jié)點C擁有2個,如圖3所示。當執(zhí)行任務(wù)時,節(jié)點A執(zhí)行最快,但節(jié)點A比節(jié)點B和節(jié)點C的數(shù)據(jù)塊多,不需要轉(zhuǎn)移數(shù)據(jù)塊,節(jié)點能夠使用本地數(shù)據(jù)執(zhí)行任務(wù),使各節(jié)點能夠幾乎同時完成任務(wù),因此,可以減少總體任務(wù)執(zhí)行時間。
3 提出的數(shù)據(jù)放置策略
本文針對異構(gòu)Hadoop集群,根據(jù)任務(wù)類型提出了一種自適應(yīng)數(shù)據(jù)放置策略,合理調(diào)整數(shù)據(jù)塊的分配。提出的策略主要包括兩個階段:
(1) 初始數(shù)據(jù)分配階段,在輸入數(shù)據(jù)寫入HDFS時執(zhí)行;
(2) 能力決策和數(shù)據(jù)重分配階段,在處理任務(wù)時執(zhí)行。
3.1 創(chuàng)建RatioTable
當Hadoop開始時,在NameNode中創(chuàng)建RatioTable,RatioTable表示各節(jié)點計算能力的比例。當數(shù)據(jù)寫入HDFS時,RatioTable用于確定節(jié)點中數(shù)據(jù)塊的分配比例;在執(zhí)行任務(wù)時,RatioTable用于確定數(shù)據(jù)塊是否需要重新分配。RatioTable記錄任務(wù)類型和每個節(jié)點能量的比例。NameNode根據(jù)每個DataNode的心跳消息所返回的任務(wù)執(zhí)行時間,來計算每個節(jié)點的計算能力比例。表1顯示了一個RatioTable例子。集群中有3個節(jié)點,其中每個節(jié)點的計算能力不相同:節(jié)點A最快,然后是節(jié)點B,節(jié)點C最慢,集群執(zhí)行兩項任務(wù),WordCount和Grep。因此,RatioTable中有兩項任務(wù)記錄,對于WordCount任務(wù),節(jié)點之間的計算能力比例為3∶1.5∶1。對于Grep任務(wù),比例為2.5∶1.5∶1。
表1 節(jié)點計算能力的比例
3.2 初始數(shù)據(jù)分配階段
當數(shù)據(jù)寫入HDFS時,NameNode首先檢查RatioTable,用于確定是否執(zhí)行比例分配。如果RatioTable中具有該項任務(wù)的信息記錄,則將依據(jù)記錄在RatioTable中的節(jié)點計算能力比例,將最新寫入數(shù)據(jù)分配到每個節(jié)點;如果RatioTable沒有該項任務(wù)的記錄,則將數(shù)據(jù)均勻分配到節(jié)點,同時,NameNode將在RatioTable中增加該類任務(wù)的新記錄,并設(shè)置每個節(jié)點的計算能力為1。
根據(jù)表1,如果有數(shù)據(jù)要寫入HDFS,假設(shè)這些數(shù)據(jù)可劃分為11個數(shù)據(jù)塊,用來執(zhí)行WordCount任務(wù),則根據(jù)RatioTable中記錄的性能比例來分配數(shù)據(jù)。因此,節(jié)點A分配6個[11×33+1.5+1=6]數(shù)據(jù)塊,節(jié)點B分配3個[11×1.53+1.5+1=3]數(shù)據(jù)塊,節(jié)點C分配2個[11×13+1.5+1=2]數(shù)據(jù)塊。如果執(zhí)行的任務(wù)為一個新任務(wù)TeraSort, NameNode先檢查RatioTable,且沒有尋找到TeraSort記錄,這種情況下,則設(shè)定計算節(jié)點A、節(jié)點B和節(jié)點C執(zhí)行TeraSort的能力比例為1∶1∶1,并將數(shù)據(jù)均勻分配到3個節(jié)點,然后在RatioTable創(chuàng)建TeraSort的記錄。初始數(shù)據(jù)分配流程圖見圖4,過程如算法1所示。
算法1 初始數(shù)據(jù)分配:
當數(shù)據(jù)寫入HDFS時:
JobType[←]將執(zhí)行的數(shù)據(jù)的任務(wù)類型;
DataSize[←]從數(shù)據(jù)信息獲得;
BlockSize[←]用戶設(shè)置;
[TotalBlockNumber=DataSizeBlockSize];
設(shè)置Same=0;
for RatioTable中的每條記錄 do
if JobType與記錄相同 then
Same=1;
ComputerCapacityRatio[←]從記錄獲得;
for 集群中每個DataNode do
NodeCapacity[←]從ComputerCapacityRatio獲得;
[BlockNumber=TotalBlockNumber*NodeCapacityeach node capacity ;]
分配BlockNumber數(shù)據(jù)塊到DataNode;
if Same=0 then
ComputerCapacityRatio[←]設(shè)置每個節(jié)點的能力為1;
添加ComputerCapacityRatio的JobType記錄到RatioTable;
for 集群中每個節(jié)點 do
NodeCapacity=1;
[BlockNumber=TotalBlockNumber*NodeCapacityeach node capacity; ]
分配BlockNumber數(shù)據(jù)塊到DataNode
3.3 數(shù)據(jù)重分配階段
初始分配結(jié)束后,開始執(zhí)行任務(wù),并進入數(shù)據(jù)重分配階段。該階段分為2個部分:
(1) 計算節(jié)點的計算能力比例;
(2) 根據(jù)該比例進行數(shù)據(jù)重新分配。
一旦任務(wù)開始執(zhí)行,每個節(jié)點將接收首批任務(wù),當每個DataNode執(zhí)行完成該任務(wù)后,將返回任務(wù)執(zhí)行時間給NameNode,NameNode依據(jù)這些執(zhí)行時間來計算節(jié)點的能力比例。但是,每個節(jié)點具有不同任務(wù)時隙數(shù),可使多個任務(wù)并行處理。為了獲得準確的計算能力比例,本文采用完成一組任務(wù)所需的平均時間除以時隙數(shù)來計算。例如,有兩個節(jié)點:節(jié)點A和節(jié)點B,其中節(jié)點A的速度是節(jié)點B的2倍,假設(shè)節(jié)點A的任務(wù)時隙數(shù)為4,節(jié)點B的為2。節(jié)點A可同時執(zhí)行4個任務(wù),假設(shè)這4個任務(wù)所需的時間分別為45 s,43 s,43 s和46 s,取平均為44.25 s。節(jié)點B同時執(zhí)行2個任務(wù)所需的時間分別為39 s和40 s,取平均為39.5 s。因此,節(jié)點A和節(jié)點B的計算能力比為[39.52∶44.254。]用數(shù)學(xué)公式表示以上分析,令[Tavg(X)]表示節(jié)點[X]中完成一批任務(wù)的平均執(zhí)行時間;令[S(X)]表示[X]的任務(wù)時隙數(shù);[Tt(X)]表示[X]完成一項任務(wù)的計算能力,即,[Tt(X)=[Tavg(X)S(X)]]。
NameNode使用[Tt(X)]來計算每個節(jié)點的計算能力比例,然后,將該比例與RatioTable中的記錄相比較,如果與現(xiàn)有記錄相同,則將不轉(zhuǎn)移任何數(shù)據(jù)塊;如果不同,則將根據(jù)該新比例轉(zhuǎn)移數(shù)據(jù)塊,同時,NameNode將修改RatioTable中的記錄。另外,轉(zhuǎn)移數(shù)據(jù)塊在后臺處理,Hadoop任務(wù)不需要等待數(shù)據(jù)轉(zhuǎn)移完成。數(shù)據(jù)重分配過程流程圖如圖5所示,如算法2所示。
圖5 數(shù)據(jù)重分配階段的流程圖
算法2 數(shù)據(jù)重分配:
當一項任務(wù)開始時:
NodeNumber[←]從NameNode獲得;
CurrentNumber[NodeNumber][←]所有項均設(shè)為0;
//記錄從每個節(jié)點接收的任務(wù)執(zhí)行時間
TotalExecutionTime[NodeNumber][←]所有項均設(shè)為0;
While 從DataNode[i]接收到任務(wù)執(zhí)行時間 do
SlotNumber[←]從DataNode[i]獲得;
ExecutionTime[←]任務(wù)執(zhí)行時間;
[TotalExecutionTimei=TotalExecutionTimei+ExecutionTime ;]
[CurrentNumberi=CurrentNumberi+1];
if CurrentNumber[i]= SlotNumber then
[Tavg=TotalExecutionTimeiSlotNumber];
[Tt=TavgSlotNumber];
[CurrentNumberi=0];
[TotalExecutionTimei=0];
if 獲得每個節(jié)點的[Tt] then
PerformanceRatio[←] PerformanceRatio和[Tt]成反比;
for RatioTable中的記錄 do
if PerformanceRatio與記錄不同 then
根據(jù)PerformanceRatio重新分配數(shù)據(jù)塊;
根據(jù)PerformanceRatio修改記錄
4 實驗及分析
4.1 實驗環(huán)境
實驗中,本文使用了2個HP ProLiant DL380 G6服務(wù)器,每個擁有16個CPU,20 GB內(nèi)存和500 GB硬盤,本文使用虛擬機軟件VirtualBox來創(chuàng)建計算節(jié)點。為了實現(xiàn)異構(gòu)環(huán)境,設(shè)置每個節(jié)點上的CPU和內(nèi)存不同。本文創(chuàng)建了5個虛擬機:1個主機和4個從機,各節(jié)點配置如表2所示。另外,所有虛擬機都采用Ubuntu操作系統(tǒng)。
表2 每個節(jié)點的配置
4.2 實驗結(jié)果
執(zhí)行WordCount和Grep兩種類型的任務(wù),以評估本文策略的性能。WordCount是用于統(tǒng)計輸入文本中字數(shù)的應(yīng)用;Grep是一種使用正則表達式搜索文本的應(yīng)用[15]。
首先,本文測量每個節(jié)點的計算性能,設(shè)定所有輸入數(shù)據(jù)的大小為1 GB和2 GB時,在每個節(jié)點上分別執(zhí)行WordCount和Grep兩種任務(wù),共運行10輪,取時間平均值,結(jié)果如圖6所示,具體數(shù)據(jù)如表3所示。
表3 每個節(jié)點執(zhí)行WordCount和Grep任務(wù)的時間 s
從圖6可看出,所執(zhí)行數(shù)據(jù)大小不影響節(jié)點之間的運算能力比例,對于某一特定的應(yīng)用程序,雖然輸入文件的大小不同,但是節(jié)點在執(zhí)行時的速率基本上是一致的,每個節(jié)點的執(zhí)行時間與數(shù)據(jù)大小成正比。由表3的數(shù)據(jù)可知集群中各節(jié)點的工作計算能力比例見表4。
表4 每個節(jié)點計算能力的比例
將本文策略與傳統(tǒng)HDFS策略、兩種改進HDFS策略(見文獻[8?9])進行比較。實驗中每個數(shù)據(jù)為2 GB,數(shù)據(jù)塊的為64 MB。在具有4個節(jié)點的集群上分別執(zhí)行WordCount和Grep兩種任務(wù),每一輪同時執(zhí)行10個任務(wù),共執(zhí)行5輪,其中每個任務(wù)處理不同的數(shù)據(jù)文件。最后獲得各種策略的任務(wù)平均執(zhí)行時間見圖7。從圖7可看出,傳統(tǒng)HDFS策略的執(zhí)行時間最長,因其沒有考慮節(jié)點異構(gòu)性,平均分配數(shù)據(jù)到各個節(jié)點,致使在執(zhí)行任務(wù)過程中,要大量移動數(shù)據(jù),延長執(zhí)行時間。文獻[8?9]的改進方法一定程度上改善了數(shù)據(jù)放置性能,但其只在開始階段進行數(shù)據(jù)放置,不能自適應(yīng)的調(diào)整。本文策略獲得最短的執(zhí)行時間,因為其根據(jù)節(jié)點異構(gòu)性在放置數(shù)據(jù),并在執(zhí)行任務(wù)過程中根據(jù)該任務(wù)類型下的節(jié)點計算能力比例變化,自適應(yīng)調(diào)整數(shù)據(jù)放置,使數(shù)據(jù)的移動量最小,從而獲得最小執(zhí)行時間,相比于傳統(tǒng)HDFS策略縮短了約27%。
5 結(jié) 語
本文針對異構(gòu)Hadoop集群,提出一種大數(shù)據(jù)放置策略,根據(jù)異構(gòu)集群中各節(jié)點的計算能力比例,將數(shù)據(jù)分配到節(jié)點中,并根據(jù)任務(wù)處理階段反饋的任務(wù)完成時間信息,動態(tài)更新節(jié)點的能力比例,降低節(jié)點之間數(shù)據(jù)的移動量,提高節(jié)點的利用率。將本文策略與傳統(tǒng)HDFS和兩種改進策略進行比較,結(jié)果表明,本文策略能夠有效縮減任務(wù)完成時間,提高系統(tǒng)的整體性能。將來工作中,將進行大量數(shù)據(jù)來驗證本文策略的有效性。另外,考慮不同密集型任務(wù),如I/O和CPU密集型等,研究本文策略對于處理這些任務(wù)所需數(shù)據(jù)的分配性能。
參考文獻
[1] 翟巖龍,羅壯,楊凱,等.基于Hadoop的高性能海量數(shù)據(jù)處理平臺研究[J].計算機科學(xué),2013,40(3):100?103.
[2] 宮婧,王文君.大數(shù)據(jù)存儲中的容錯關(guān)鍵技術(shù)綜述[J].南京郵電大學(xué)學(xué)報(自然科學(xué)版),2014,34(4):20?25.
[3] 周江,王偉平,孟丹,等.面向大數(shù)據(jù)分析的分布式文件系統(tǒng)關(guān)鍵技術(shù)[J].計算機研究與發(fā)展,2014,51(2):382?394.
[4] KALA K A, CHITHARANJAN K. Locality sensitive hashing based incremental clustering for creating affinity groups in Hadoop — HDFS: An infrastructure extension [C]// 2013 International Conference on Circuits, Power and Computing Technologies (ICCPCT). [S.l.]: IEEE, 2013: 1243?1249.
[5] 羅鵬,龔勛.HDFS數(shù)據(jù)存放策略的研究與改進[J].計算機工程與設(shè)計,2014,35(4):1127?1131.
[6] MPATEL N, M PATEL N, I HASAN M, et al. Improving data transfer rate and throughput of HDFS using efficient replica placement [J]. International journal of computer applications, 2014, 86(2): 4?7.
[7] 林偉偉.一種改進的Hadoop數(shù)據(jù)放置策略[J].華南理工大學(xué)學(xué)報(自然科學(xué)版),2012,40(1):152?158.
[8] RAO B T, SRIDEVI N V, REDDY V K, et al. Performance issues of heterogeneous Hadoop clusters in cloud computing [J]. Global journal of computer science technology, 2012, 32(6): 55?63.
[9] ARASANAL R M, RUMANI D U. Improving MapReduce performance through complexity and performance based data placement in heterogeneous Hadoop clusters [M]. Berlin Heidelberg: Distributed Computing and Internet Technology Springer, 2013: 115?125.
[10] 崔杰,李陶深,蘭紅星.基于Hadoop的海量數(shù)據(jù)存儲平臺設(shè)計與開發(fā)[J].計算機研究與發(fā)展,2012,49(z1):12?18.
[11] RASOOLI A, DOWN D G. COSHH: A classification and optimization based scheduler for heterogeneous Hadoop systems [J]. Future generation computer systems, 2014, 36(3): 1?15.
[12] LIN W, LIU J. Performance analysis of mapreduce program in heterogeneous cloud computing [J]. Journal of networks, 2013, 8(8): 14?22.
[13] KIM M, LEE Y, PARK H H, et al. Computational fluid dynamics simulation based on Hadoop Ecosystem and heterogeneous computing [J]. Computers fluids, 2015, 115(8): 1?10.
[14] 代棟,周學(xué)海,楊峰,等.一種基于模糊推理的Hadoop異構(gòu)機群自動配置工具[J].中國科學(xué)院研究生院學(xué)報,2011,28(6):793?800.
[15] LIU Z, MU D. Analysis of resource usage profile for MapReduce applications using Hadoop on cloud[C]// 2012 International Conference on Quality, Reliability, Risk, Maintenance, and Safety Engineering (ICQR2MSE). [S.l.]: IEEE, 2012: 1500?1504.