探索存储的平行宇宙
如果你不是当代科幻小说或量子物理学理论的爱好者,你可能不会熟悉“平行宇宙理论”。但如果你的工作和利用电子数据技术的存储相关,你就必须努力补习这些课题了。
平行宇宙理论假定无限数量的宇宙并行存在——也就是说,平行宇宙中也会存在另一个你自己。每一个平行宇宙的历史时间线都可能我们熟知的这个宇宙有所不同(例如,一个历史事件没有发生或产生了不同的结果)。它可能有一组完全不同的物理定律(例如,可能没有重力)。它可能是一个完全不同于我们所感受到的世界(所以《星际迷航》里面的史波克先生可能会有表情,也长着胡子)。
如果我们能利用平行宇宙,那么维度压缩或“平面空间技术”的概念就有可能实现。维度压缩可以消除平行宇宙假说中描述的“宇宙空泡”,从而可以一次性存储整个宇宙。利用这种技术,我们可以创建具备无限容量的存储设备——就像《黑衣男》里面容纳整个银河系的玻璃球,还有在 2006年的科幻动作片《紫外线》里超级英雄用来存储海量武器弹药的腕带。
一个基于维度压缩的存储介质原则上可以存储直到宇宙和时间尽头的一切数据。梦想很美满,可惜,在每年的存储聚会上都没有听说维度压缩存储的议题。和假设的平行宇宙理论不同的是,对于利用并行机制来提升工作负载性能的探索,——尤其是虚拟化工作负载的性能的并行优化——已经被实现。而且,将两者混作一谈还是很有意思的。
存储: 拒绝认罪
毫无疑问,很多消费者已经轻松接受虚拟计算,而虚拟化平台开发商都会宣称低速的存储是拖慢虚拟机(VM) 工作负载性能的罪魁祸首。使用总线扩展电缆和交换机(如SAN、NAS、共享阵列)连接,位于共享拓扑中的基于共享机电技术的存储设备(HDD)的性能如果遇到问题,厂商都会声称原因在于I/O路径中存在拥塞故障点。这些故障点会导致延迟和“背压反馈”,让虚拟机运行减速。
想象一下浴室里拥塞的下水道?如此大量的 I/O 在排队等待执行他们的写入请求,然而低速存储设备或低速总线扩展互联设施会拖累系统,产生等同于头发和香皂阻止水流进入下水道的效果。结果,水槽会灌满和溢出,你必须停下你的工作流(刮胡子,洗衣服等),直到造成拥塞的残渣被清除。
为了缓解 I/O 队列负担,虚拟化平台厂商会建议撤除共享存储换成内部存储或直连存储,也就是他们现在选用的融合或超融合存储,而且这些名字听起来也很酷。当然,追赶虚拟化潮流的闪存存储供应商也会极力推销,让我们藉此机会以硅基非易失闪存替换所有老旧的机电系列存储。
推销者承诺:“照我们的清单抓药,保证虚拟机性能问题药到病除!”唯一的问题是,残酷的预算限制让我们不大可能用的起这种药方,毕竟这里是,我们这个,宇宙。
罪魁祸首就是…
对虚拟机系统缓慢问题的最简单检查办法就是,查询 I/O 队列状态是“shallow”还是没有队列。最快的状况下,I/O 无需排队等待就可以立即写入存储。实际上,很明显存储互连设施 (电缆和交换机) 和共享的存储平台 (SAN、 NAS 和等等) 都不太应该被视为系统中延迟的罪魁祸首。
你还会发现系统 CPU 占用率超过正常水平——“一直在全速运行!”这通常反映出原始 I/O 操作正在 CPU 这里堆积,例如遇到阻碍处理顺序 I/O 操作的一些问题。工作负载生成 I/O请求,但是芯片不能及时将请求转发到 I/O 总线。因此,在现实环境中多核芯片的顺序 I/O 处理问题会更加明显。
然而这并非简单的南北向性能问题——单个工作负载能多快速地在总线上完成处理,多核芯片多了一个东西向问题: 许多连续顺序I/O处理功能运行在多个逻辑核心时,必须有统一的顺序I/O处理逻辑。
并行视角
值得庆幸的是,在拥有维度压缩技术的那些平行宇宙里,我们不需要解决工作负载性能的问题;可惜这个宇宙里的问题无法回避……
还好我们可以另辟蹊径,抓住顺序处理的关键点:让顺序业务可以被并行处理,从而使大量的顺序 I/O请求可以被多核芯片上的相邻核心协作处理,快速高效地到达数据总线。虽然难度很大,但是:在存储的平行宇宙里,不同供应商总会找到实现并行处理的办法。
例如, ioFABRIC公司的并行技术重点关注如何缓解延迟和扩充工作负载性能,使用简单的策略将操作分布到多个目标、多个磁盘或闪存驱动器,这些目标获得实现,各种资源也被更有效地利用。对于 ioFABRIC 来说,他们的软件提供的并行处理策略能在每个芯片核心实现高达 250,000 IOPS的性能。
对喜欢PCIe非易失性内存 (NVMe)的厂商来说,他们希望人人都采取他们建议的策略部署 PCIe 总线闪存存储,在这里,并行就是指使用更多 ——多达 64,000个并行连接 CPU的通道来消灭瓶颈,加速每个设备内部闪存芯片的 I/O 性能。和之前基于SAS/SATA方式安装的闪存存储相比,CPU到NVMe存储的数据传输性能获得了巨大的提升。利用以上技术甚至可以获得与理论完全一致的、前所未有的低延迟和超快的虚拟机性能。
还有 DataCore Software公司的动态并行I/O技术,在 2016 的Storage Performance Council(存储性能协会)的一次基准测试中实现了 0.28 毫秒的响应时间和超过 500 万 IOPS 性能。该技术的工作原理是:充分利用多核芯片的空闲或未使用逻辑内核,使用它们来创建一个“并行 I/O 处理引擎”,为其它繁忙的逻辑内核提供高效的南北向/东西向IO输出服务。
这些并行处理技术是否会相互排斥?还是可以互相联合,进一步获得最高的吞吐量和极低延迟?也许在另一个平行宇宙里,这些组合的可能性已经被充分验证了。
347,数据资产:释放才是真爱?,
我们正淹没在数据的海洋中,并且没有需要的工具来拯救我们自己。
etsme是采用云计算原生技术打造的个人私有云/小型私有云产品,即刻入手etsme,探索更多贴心功能,掌控自己的数字世界。