服務(wù)熱線
0755-83647532
發(fā)表日期:2018-03-01 文章編輯:管理員 閱讀次數(shù):
摘要
英特爾®ISA-L技術(shù)即(Intel® Intelligent Storage Acceleration Library)智能存儲(chǔ)加速庫(kù)技術(shù)。在英特爾®至強(qiáng)™處理器系列下,使用ISA-L技術(shù)解決了TFS(騰訊文件系統(tǒng))在運(yùn)行時(shí)的性能瓶頸。實(shí)驗(yàn)結(jié)果顯示采用ISA-L技術(shù)的TFS性能提升了2.5倍。
ISA-L 技術(shù)簡(jiǎn)介
ISA-L 技術(shù)可幫助加速和優(yōu)化基于英特爾® 架構(gòu) (IA) 的存儲(chǔ),在存儲(chǔ)可恢復(fù)性、數(shù)據(jù)完整性、數(shù)據(jù)安全性提供優(yōu)化,并加速數(shù)據(jù)的壓縮。具體可以實(shí)現(xiàn)如下功能:Raid、Erasure Code糾刪碼、CRC (cyclic redundancy check)、Multi-buffer Hashing (MbH)(包括MD5、SHA1、SHA256 和 SHA512)、加密功能、壓縮功能,其基本原理就是使用Intel CPU中的指令集對(duì)上述功能進(jìn)行優(yōu)化和加速,具體包括:INTEL AES-NI - 英特爾高級(jí)加密標(biāo)準(zhǔn)、INTEL SSE - 英特爾流式單指令多數(shù)據(jù)擴(kuò)展、INTEL AVX/AVX2/AVX512 - 英特爾高級(jí)矢量擴(kuò)展指令集系列?,F(xiàn)在ISA-L已經(jīng)開(kāi)源,英特爾®會(huì)持續(xù)對(duì)開(kāi)源版本進(jìn)行維護(hù),目前最新版本是v2.21 (2018/02/26),具體可訪問(wèn):https://github.com/01org/isa-l 。
背景
在智能互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)以幾何級(jí)的速度爆炸增長(zhǎng),如何存儲(chǔ)并管理這些海量數(shù)據(jù),是很多互聯(lián)網(wǎng)服務(wù)提供商面臨的一個(gè)難題。在這些不斷增長(zhǎng)的數(shù)據(jù)中,大量數(shù)據(jù)例如圖片等都屬于不經(jīng)常訪問(wèn),卻又不能刪除的,因?yàn)榭蛻粢廊浑S時(shí)可能訪問(wèn)這些數(shù)據(jù)。對(duì)于這類不常訪問(wèn)的“冷”數(shù)據(jù),通常的做法是把它們遷移到一個(gè)專為冷數(shù)據(jù)而設(shè)計(jì)的存儲(chǔ)系統(tǒng)。本文提到的就是一個(gè)英特爾®與騰訊合作的TFS冷數(shù)據(jù)存儲(chǔ)項(xiàng)目。
成立于1998年的騰訊公司是目前中國(guó)最大的互聯(lián)網(wǎng)綜合服務(wù)提供商之一,擁有QQ,微信,騰訊游戲等眾多互聯(lián)網(wǎng)明星產(chǎn)品,一直以來(lái),騰訊始終在存儲(chǔ)技術(shù)、數(shù)據(jù)挖掘等技術(shù)領(lǐng)域投入巨大,致力于為互聯(lián)網(wǎng)用戶提供最佳的使用體驗(yàn)。在這些產(chǎn)品背后, TFS是其眾多業(yè)務(wù)所需文件服務(wù)的核心系統(tǒng)。數(shù)億用戶的使用壓力使TFS面臨著巨大的計(jì)算性能,容量等方面的壓力。
挑戰(zhàn)
不同于傳統(tǒng)存儲(chǔ)系統(tǒng),TFS冷存儲(chǔ)系統(tǒng)項(xiàng)目主要使用的是老舊系統(tǒng)中回收而來(lái)的處理器,這就使計(jì)算性能成為存儲(chǔ)系統(tǒng)的最大瓶頸。
為了在節(jié)省磁盤(pán)空間的同時(shí)保證可靠性,最初的TFS冷存儲(chǔ)項(xiàng)目采用如圖一所示的9+3糾刪碼(或擦除碼)方案。9+3是指每9份數(shù)據(jù)塊配以3份校驗(yàn)數(shù)據(jù)塊,這樣可以恢復(fù)任意1-3份丟失的數(shù)據(jù)。
圖一 9+3糾刪碼方案 即使在項(xiàng)目中采用ISA-L技術(shù)進(jìn)行優(yōu)化,對(duì)這些老舊且低性能的服務(wù)器來(lái)說(shuō)9+3糾刪碼方案仍會(huì)導(dǎo)致較重的運(yùn)行負(fù)載??紤]到TFS冷存儲(chǔ)項(xiàng)目中的數(shù)據(jù)大多為圖片,這類數(shù)據(jù)偶而丟失是可以通??梢越邮?,加之9+3糾刪碼的冗余度對(duì)這類冷數(shù)據(jù)來(lái)說(shuō)可能過(guò)于奢侈,因此騰訊改用如圖二所示的10+2糾刪碼方案。使用異或函數(shù)在每10份數(shù)據(jù)中生成2份校驗(yàn)碼,這樣在發(fā)生1-2份數(shù)據(jù)丟失時(shí),仍能恢復(fù)數(shù)據(jù)。
圖二 10+2糾刪碼方案 優(yōu)化過(guò)后的糾刪碼方案仍然存在一個(gè)明顯的問(wèn)題:大量的異或操作限制了系統(tǒng)性能。盡管優(yōu)化了數(shù)據(jù)保護(hù)相關(guān)算法,但這種成本最優(yōu)的解決方案不足以滿足騰訊的業(yè)務(wù)需求。 因此騰訊需要尋找一種高效且便捷的方式來(lái)減少異或操作的開(kāi)銷。它需要一種經(jīng)過(guò)優(yōu)化且高效的異或函數(shù)來(lái)緩解系統(tǒng)性能瓶頸,同時(shí)滿足冷存儲(chǔ)系統(tǒng)的設(shè)計(jì)要求。 解決方案 英特爾®與騰訊的工程師們一起基于ISA-L技術(shù)優(yōu)化TFS冷存儲(chǔ)系統(tǒng),提出的優(yōu)化內(nèi)容有以下兩點(diǎn): 1、使用ISA-L異或函數(shù)(gen_xor_avx)替換原有異或函數(shù)(galois_xor),實(shí)驗(yàn)結(jié)果表明這能帶來(lái)大約50%的性能提升。 2、以指針數(shù)組的方式調(diào)用gen_xor_avx,這種方式減少了不必要的內(nèi)存訪問(wèn),進(jìn)一步改善了編碼效率。 結(jié)果分析 英特爾®ISA-L異或函數(shù)有效地解決了搭建冷存儲(chǔ)系統(tǒng)時(shí)遇到的實(shí)際問(wèn)題,騰訊的實(shí)驗(yàn)結(jié)果表明,相較于原方法改進(jìn)后的方法獲得250%的性能提升。
如此顯著的性能提升成功的滿足了騰訊在線系統(tǒng)的業(yè)務(wù)需求。值得一提的是英特爾®ISA-L技術(shù)已開(kāi)放源代碼,因此騰訊在不產(chǎn)生任何成本的情況下就獲得了巨大的系統(tǒng)性能提升。
文章摘自英特爾精英匯
歡迎聯(lián)系寶通集團(tuán)咨詢英特爾產(chǎn)品信息
寶通集團(tuán)聯(lián)系方式
咨詢熱線:0755-88603572 寶通官網(wǎng):www.bjshst.cn 客戶垂詢QQ:1627678462 地址:深圳市福田區(qū)深南大道1006號(hào)國(guó)際創(chuàng)新中心C座11樓
客戶垂詢郵箱:cuifang.mo@ex-channel.com
郵編:518026