自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

明明是全閃存陣列,為何存儲性能仍然不夠快

原創(chuàng)
存儲
軟件定義的超融合雖然有著諸多的優(yōu)勢,但對軟件開發(fā)商提出了非常高的要求,他們非但要精通各種語言、系統(tǒng)和架構(gòu),還必須要熟悉硬件本身的性能,這樣才能夠保證開發(fā)出來的軟件能夠全部發(fā)揮硬件的性能。

   【51CTO.com原創(chuàng)稿件】軟件定義基礎(chǔ)架構(gòu),軟件定義存儲,軟件定義存儲。目前,用軟件定義超融合的方式替代專用服務(wù)器、專用網(wǎng)絡(luò)、專用存儲設(shè)備等傳統(tǒng)基礎(chǔ)架構(gòu)的方法,已經(jīng)成為了行業(yè)的熱點。英特爾系統(tǒng)架構(gòu)師朱海峰先生曾在某超融合大會上公開表示,未來的大型數(shù)據(jù)中心的建設(shè),將采用標準X86硬件構(gòu)建作為整個數(shù)據(jù)中心的基礎(chǔ)架構(gòu),通過軟件廠商比較強的軟件定義能力來實現(xiàn)存儲、網(wǎng)絡(luò)和計算等功能,并通過各種軟件定義的解決方案來實現(xiàn)超融合。這也就意味著,軟件定義已經(jīng)成為行業(yè)的重點技術(shù)。

  軟件定義的主要目的是減化部署流程,提高易用性,降低運維成本。當(dāng)然,最重要的是能夠發(fā)揮硬件的全部性能,合理分配利用硬件資源,節(jié)省硬件開支。

  不過,軟件定義的超融合雖然有著諸多的優(yōu)勢,但對軟件開發(fā)商提出了非常高的要求,他們非但要精通各種語言、系統(tǒng)和架構(gòu),還必須要熟悉硬件本身的性能,這樣才能夠保證開發(fā)出來的軟件能夠全部發(fā)揮硬件的性能。

  關(guān)于軟件定義帶來的硬件性能的損失,比較典型的例子就是軟件定義存儲導(dǎo)致的磁盤性能的下降,這主要是在全閃存時代背景下,磁盤性能有了非常大的提升,如果在軟件定義的過程中還是按照傳統(tǒng)機械硬盤的性能還編寫系統(tǒng),那就完全無法發(fā)揮閃存的性能。筆者在某超融合的大會上,就曾遇到過一家專門作軟件定義存儲解決方案的廠商,它們針對Flash時代開發(fā)出了裸金屬軟件定義存儲技術(shù),非常好的解決了軟件定義存儲無法充分發(fā)揮全閃存硬件性能的問題。

  這里,筆者與大家共同分享一下他們的解決方案和研發(fā)思路,希望對大家有所啟發(fā)。

  我們知道,在Flash之前,存儲性能的發(fā)展是嚴重滯后于其它硬件性能的發(fā)展的,雖然大家通過各種方法來提高磁盤的存儲性能,但相較于其它硬件的發(fā)展,存儲的性能提升并不理想。在Flash時代,存儲硬件性能的問題迎刃而解。不過,很多廠商在替換全閃存陣列后,發(fā)現(xiàn)存儲的性能并沒有提高多少,這主要是軟件和系統(tǒng)出現(xiàn)了問題。

  由于Linux標準的API并沒有提供高性能的場景設(shè)計,因此操作系統(tǒng)成為了影響系統(tǒng)整體性能的瓶頸,無論你在一個設(shè)備上插入多少硬件,調(diào)用多少資源,都會發(fā)現(xiàn)一個節(jié)點一二十萬iops就到了這些軟件定義存儲的上限了,這是因為Linux系統(tǒng)的任務(wù)調(diào)度,內(nèi)存管理,以及系統(tǒng)調(diào)用,都是非常緩慢,完全不適合Flash時代的需求。

  如何解決這一問題呢,裸金屬軟件定義存儲技術(shù)是通過以下兩種方法解決的:

  一是硬件訪問要繞過操作系統(tǒng)(stack-bypass);

  二是軟件運行要繞過操作系統(tǒng)(os-bypass)。

  對于硬件的訪問要繞過操作系統(tǒng)(stack-bypass)這種技術(shù)業(yè)內(nèi)已經(jīng)有相對比較成熟了,也比較容易實現(xiàn)。比如英特爾提供的DPDK/SPDK,Mellanox的RDMA,都不需要經(jīng)過操作系統(tǒng)就可以直接訪問硬件。但是,軟件運行繞過操作系統(tǒng)(os-bypass)的難度卻比較大。首先,要繞過操作系統(tǒng)的內(nèi)存管理,直接訪問物理內(nèi)存,自己來實現(xiàn)內(nèi)存管理,這中間要考慮NUMA,染色等問題,工程量非常大。其次,任務(wù)調(diào)度也要考慮的非常清楚,過去解決高并發(fā)問題的時候大家就會采用多線程的機制,但是多線程一般在數(shù)百并發(fā)的時候會變得比較困難,通過引入了協(xié)程技術(shù),把任務(wù)之間的協(xié)作來分配時間片,每個任務(wù)處理完之后自動放棄時間片,而不是操作系統(tǒng)讓他強制放棄時間片。另外,在事件處理上過去通過操作系統(tǒng)標準來實現(xiàn),每個事件都跟時間有關(guān),包括硬件系統(tǒng)的時鐘中斷。但是這個技術(shù)并不是非常的高效,在這方面可以采用polling技術(shù),沒有時間延期的。

  在多核同步上,目前 CPU的核數(shù)越來越多,過去編程的時候大家會采用生產(chǎn)者、消費者模型,用線程用來處理任務(wù),但是到現(xiàn)在多核同步并不是一個非常高效的方案,這主要是因為NUMA和cachemiss問題,雖然說NUMA問題CPU解決的還可以,但是仍然不夠理想,這時可以采用run-complete模型,每個CPU的核從他接受到任務(wù),到完成任務(wù)中間不再任何跳轉(zhuǎn),避免隱性的CPU開銷。

  通過以上的方案,能夠拿掉盡可能多的環(huán)節(jié),包括進出Linux的網(wǎng)絡(luò)堆棧、Linux的存儲堆棧,這樣就能夠讓剩下的流程全是在硬件上運行的。最后,通過這些技術(shù)的運用,能夠讓存儲的性能與硬件性能幾乎完全一致,不帶來硬件性能的任何衰減。

  以上,是某廠商針對全閃存時代在軟件定義過程中出現(xiàn)的影響硬件性能的解決方案,筆者分享給大家,希望提供一些參考。

【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】

責(zé)任編輯:張誠 來源: 51CTO
相關(guān)推薦

2018-04-27 14:47:05

全閃存 存儲

2017-08-21 15:34:18

閃存陣列廠商存儲

2017-12-21 17:25:46

存儲

2016-05-26 09:07:00

IBM存儲IBM存儲

2018-05-03 09:05:02

全閃存陣列存儲

2013-07-01 08:07:01

融合存儲惠普世界之旅全閃存

2023-12-01 16:43:49

全閃存存儲機械硬盤高性能計算

2018-08-08 10:45:46

NVMeoF

2018-09-27 11:56:04

全閃存存儲陣列

2017-10-11 08:21:07

閃存數(shù)據(jù)中心存儲

2015-01-15 15:40:48

戴爾

2017-06-30 13:26:56

華為

2014-07-11 16:31:37

惠普

2018-05-15 09:03:36

2018-07-09 08:50:58

全閃存存儲容量

2017-12-11 17:19:10

閃存CIO硬件

2016-12-15 09:58:19

NetApp

2018-06-27 10:19:15

HPE全閃存

2015-07-29 10:14:22

閃存容器
點贊
收藏

51CTO技術(shù)棧公眾號