mix up(1)

一、高性能大數(shù)據(jù)分析技術(shù)

? 當(dāng)我們談?wù)摳咝阅艿臅r(shí)候,通常以不同的角度描述(性能、可擴(kuò)展性、吞吐率等方面),分為系統(tǒng)性能、應(yīng)用性能。 應(yīng)用性能通常是基于幾個(gè)特征進(jìn)行衡量的,其中負(fù)載能力和處理能力作為主要衡量性能高低的特征(比如,每秒允許用戶訪問(wèn)的數(shù)量或交易量)。應(yīng)用性能與應(yīng)用程序架構(gòu)、支撐其運(yùn)行的硬件基礎(chǔ)以及系統(tǒng)基礎(chǔ)架構(gòu)密切相關(guān)。我們知道基礎(chǔ)部件的性能往往低于理論性能值,如網(wǎng)絡(luò)帶寬、磁盤(pán)空間、緩存大小、CPU頻率以及網(wǎng)絡(luò)連接等基礎(chǔ)硬件都是影響應(yīng)用程序性能的因素,同時(shí),應(yīng)用程序自身架構(gòu)與系統(tǒng)資源之間的分配均衡問(wèn)題也是影響應(yīng)用性能的因素之一。因此,如何使系統(tǒng)模塊無(wú)限接近理論性能值以期達(dá)到應(yīng)用程序的高性能發(fā)揮是高性能研究領(lǐng)域的一大痛點(diǎn)。針對(duì)這個(gè)問(wèn)題,新興的容器(containerization)概念應(yīng)用——Docker(基于LXC(Linux Container) 技術(shù)之上構(gòu)建的容器)是目前最優(yōu)的軟件配置和管理容器,它比虛擬化(virtualization)概念的任何應(yīng)用——KVM、Xen、Vbox等都體現(xiàn)更良好的性能。吞吐量描述的是原始數(shù)據(jù)的傳輸速度,提高數(shù)據(jù)的傳輸和處理速度能提高系統(tǒng)性能??蓴U(kuò)展性就是關(guān)于處理大規(guī)模業(yè)務(wù)時(shí),“橫向“或“垂直“方式實(shí)現(xiàn)服務(wù)響應(yīng),“垂直擴(kuò)展”方式需要額外增加資源,比如升級(jí)CPU,比如RAID/SAN存儲(chǔ)設(shè)備上增加硬盤(pán)等;“橫向擴(kuò)展”方式比如大多數(shù)的群集解決方案(分布式文件系統(tǒng))?,F(xiàn)今火熱的云計(jì)算技術(shù)(OpenStack云平臺(tái))已經(jīng)實(shí)現(xiàn)了自動(dòng)擴(kuò)展資源。

? 在高性能計(jì)算技術(shù)方面,被廣泛運(yùn)用的有并行計(jì)算(對(duì)稱多處理器技術(shù)(SMP)、大規(guī)模處理技術(shù)(MPP))、集群、網(wǎng)格、云計(jì)算、異構(gòu)計(jì)算以及各領(lǐng)域的高性能框架(簡(jiǎn)單流行的比如大數(shù)據(jù)分布式處理框架hadoop,spark等)。需要指出的是,hadoop解決了超大容量歷史數(shù)據(jù)在單個(gè)磁盤(pán)上的存儲(chǔ)量問(wèn)題、分布式資源調(diào)度以及數(shù)據(jù)的分布式處理問(wèn)題,但是它不適用于從現(xiàn)有的操作的數(shù)據(jù)中獲取實(shí)時(shí)數(shù)據(jù),因此,研究實(shí)時(shí)性獲取數(shù)據(jù) 的方法在高性能大數(shù)據(jù)分析應(yīng)用方面也是比較關(guān)鍵的問(wèn)題。

1、 并行計(jì)算(Paralle computing)

1.1 共享內(nèi)存

? 對(duì)稱多處理技術(shù)(SMP)是廣泛使用的并行計(jì)算中共享內(nèi)存的方法之一,是指在一個(gè)計(jì)算機(jī)上匯集了一組處理器(多CPU),各CPU之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。系統(tǒng)將任務(wù)隊(duì)列對(duì)稱地分布于多個(gè)CPU之上,從而極大地提高了整個(gè)系統(tǒng)的數(shù)據(jù)處理能力。但是共享內(nèi)存的多處理機(jī)需要復(fù)雜特定的硬件來(lái)保持二級(jí)存儲(chǔ)數(shù)據(jù)的一致性,所以共享內(nèi)存的系統(tǒng)很難根據(jù)不同需求進(jìn)行擴(kuò)展。PC服務(wù)器中最常見(jiàn)的對(duì)稱多處理系統(tǒng)通常采用2路、4路、6路或8路處理器。目前UNIX服務(wù)器可支持最多64CPU的系統(tǒng)。

1.2 共享磁盤(pán)

? 在共享磁盤(pán)的并行處理架構(gòu)中,存在幾個(gè)獨(dú)立的處理單元,每一個(gè)處理單元都有自己私有的內(nèi)存,所有的處理單元都共享同一個(gè)磁盤(pán),典型符合這種架構(gòu)的有存儲(chǔ)局域網(wǎng)(SAN storage area network)(采用光纖通道技術(shù),通過(guò)光纖通道交換機(jī)連接存儲(chǔ)陣列和服務(wù)器主機(jī),建立專(zhuān)用于數(shù)據(jù)存儲(chǔ)的區(qū)域網(wǎng)絡(luò))和網(wǎng)絡(luò)連接存儲(chǔ)(NAS network-attached storage)

? 但是共享磁盤(pán)的架構(gòu),也有幾個(gè)可擴(kuò)展性問(wèn)題。第一,由于共享同一磁盤(pán)或存儲(chǔ)陣列,多個(gè)存儲(chǔ)服務(wù)器都連接到共享磁盤(pán)系統(tǒng)上,造成存儲(chǔ)陣列的I/O頸瓶問(wèn)題。第二,由于不共享內(nèi)存,就沒(méi)有集中存儲(chǔ)lock table和緩沖池的地方,于是鎖管理模塊(lock-manager module)要么集中在一個(gè)處理程序上,要么會(huì)涉及到復(fù)雜的分布式鎖協(xié)議(locking protocal),這個(gè)協(xié)議就會(huì)使用一種類(lèi)似于共享內(nèi)存多處理機(jī)使用的緩存一致性協(xié)議的消息處理機(jī)制,任何一種上鎖處理機(jī)制都會(huì)造成系統(tǒng)擴(kuò)展的頸瓶。

? Vendors對(duì)共享磁盤(pán)系統(tǒng)的不足進(jìn)行了改進(jìn)(但事實(shí)上并沒(méi)有多大改進(jìn)),提出“共享緩存”機(jī)制,它非常適用于聯(lián)機(jī)事務(wù)處理(OLTP),但不適用于數(shù)據(jù)倉(cāng)庫(kù)/在線分析處理(OLAP)。倉(cāng)庫(kù)的查詢通過(guò)順序查詢數(shù)據(jù)倉(cāng)庫(kù)的事實(shí)表(fact table),除非,事實(shí)表已存儲(chǔ)于集群的aggregate內(nèi)存中才會(huì)使用磁盤(pán),這也限制了系統(tǒng)擴(kuò)展。

1.3 不共享

?? 在不共享架構(gòu)中,每一個(gè)處理器都有它私有的磁盤(pán),不存在共享任何計(jì)算資源。比如大數(shù)據(jù)領(lǐng)域的hadoop架構(gòu),它可以實(shí)現(xiàn)將數(shù)據(jù)表中列簇拆分于不同存儲(chǔ)結(jié)點(diǎn)上,每一個(gè)節(jié)點(diǎn)只需負(fù)責(zé)處理存儲(chǔ)于自己磁盤(pán)上的列簇?cái)?shù)據(jù)。而且,每一個(gè)結(jié)點(diǎn)上有私有的lock table和緩存池,因此沒(méi)必要有復(fù)雜的鎖機(jī)制和軟硬件一致性機(jī)制。隨著不共享架構(gòu)的提出,涌現(xiàn)出了大量基于不共享架構(gòu)的高性能、低成本模型,如集群、網(wǎng)格等。甚至大數(shù)分析領(lǐng)域,云計(jì)算提供商為了追求商業(yè)可用性都大量使用了商業(yè)服務(wù)器搭建這樣的不共享架構(gòu),同樣也有其他高性能硬件加速的方法,其中總擁有成本(TCO)呼聲最高。



?


?

?

??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容