为防止数据丢失,单机情况下用RAID来保障数据,RAID 5使用较多,需要一块硬盘来保留校验码,数据丢失时通过校验码来恢复,由于校验码会引入计算量,通常在机器上加置HBAs卡(Host Bus Adapters),校验码计算量转移到HBA卡.
SATA/SAS硬盘这样没问题,SSD硬盘直接接在PCIE卡上,这样行不通.
在分布式环境下,有Replication和Semi Erasure Code两种方式.
前者对raw storage有 3X空间的要求,后者1.5X的空间要求.对于Erasure Code,原来只是存历史数据,正在使用的数据不敢使用,跟raid 5一样,校验码性能损耗太大.
最近看一遍文章,新款的Intel 处理器有 Intelligent Storage Acceleration Library (Intel® ISA-L) 指令,内部自集成硬件算法:AES-NI, SSE, AVX, AVX2, and AVX 512. 可以提速erasure code,有机会找台机器试试性能.
grep flags /proc/cpuinfo
aes
sse
avx
avx2
avx512f
avx512cd.
Intel® Advanced Encryption Standard New Instruction (Intel® AES-NI)
Intel® Streaming SIMD Extensions (Intel® SSE)
SIMD在matrix计算时非常有用
Intel® Advanced Vector Extensions (Intel® AVX)
Intel® Advanced Vector Extensions 2 (Intel® AVX2)
Intel Advanced Vector Extensions 512 (Intel AVX 512)
网友评论