百度|一样的钱,6倍的性能,就问你心不心动( 二 )
让更快的存储空间再大一点
显而易见 , OAP的本质是将热数据放在更快的内存中 , 从而起到加速的目的 。但由此也带来了新的问题:一、内存是不可能无限扩展的 , 二、超过一定内存容量后 , 成本是呈指数级上涨的 。
这也是硬件层面采用傲腾持久内存的根本出发点 。众所周知 , 傲腾持久内存是一种将高容量、经济实用性和数据持久性相结合的突破性技术 , 其拥有两大特点:一、大容量和更低的成本 , 二、适合顺序读 。
进一步展开 , 傲腾持久内存拥有两种工作模式:内存模式和应用直接访问模式 。在“内存模式”下 , 应用程序能利用傲腾持久内存作为扩展的易失性系统内存 , 无需重新编写软件 , 而DRAM将起到缓存的作用 。在“应用直接访问模式”下 , 经过专门改进的应用程序可获得更大的持久性容量 。
【百度|一样的钱,6倍的性能,就问你心不心动】鉴于OAP缓存具有索引和输入数据的特定目的 , 因此OAP采用了“应用直接访问模式” 。
为更好地利用傲腾持久内存代替 DRAM , 英特尔还对OAP进行了扩展 , 加入内存管理器插件 , 并采用支持傲腾持久内存的内存管理器 。这样一来 , 用户可以在DRAM和傲腾持久内存间自由切换 , 甚至两者兼用 , 例如使用 DRAM 缓存索引 , 而使用傲腾持久内存缓存数据 。
除此之外 , 为确保傲腾持久内存与百度独特的OS环境无缝集成 , 百度还与英特尔在硬件、操作系统和库等领域进行了一系列合作优化 。
6倍性能提升
为验证OAP项目及傲腾持久内存的性能表现 , 百度分两步进行了多次评估和内部测试:第一步是决策支持基准测试 , 第二步真实查询测试 。
文章图片
文章图片
在决策支持基准测试中 , 首先将数据集大小控制为1TB , 并使用相同容量的DRAM和傲腾持久内存 。测试结果表明 , 两者都能容纳所有的缓存数据 , 傲腾持久内存的性能略微低于 DRAM(11.7%) , 但成本却明显更低 。
当数据集达到 3TB , 且使用相同成本的DRAM和傲腾持久内存时 , 前者的容量已不足以缓存所有数据 。相比之下 , 傲腾持久内存不仅能缓存所有的数据 , 性能也超出DRAM 高达 6 倍 。
此时的 DRAM 性能较差是因为:当数据规模大大超过缓存容量时 , DRAM 需要频繁地从后端存储读取数据 , 由此延长了响应时间 。决策支持基准测试清楚的表明 , 在成本相同的情况下 , 傲腾持久内存可提供比DRAM更高的容量和更出色的性能 。
测试的第二阶段使用百度线上业务的真实查询数据 , 依然基于以上两种情况 , 但方法略有不同 。在第一种情况下 , DRAM和傲腾持久内存被设置为缓存50%的常用数据列 ,此时PMem的缓存速度仅比DRAM低约12% , 但由于成本优势更为显著 , 因此整体性价比更高 。
在第二种情况下(即DRAM和傲腾持久内存成本相同) , 只有傲腾持久内存拥有足够容量来缓存所有热点数据 , 且性能较DRAM高出22% , 同时避免了30%不要的底层系统I/O请求 。
数据不会说谎 , 在百度BigSQL 中用傲腾持久内存取代DRAM显然是更具成本效益的缓存解决方案 。目前 , 百度已在BigSQL中成功部署了傲腾持久内存 , 并以此为基础优化了百度即席查询服务图灵 。在傲腾持久内存的加持下 , 图灵集群的工作负载降低了30% , 平均查询延时降低了20% , 每个傲腾持久内存服务器实例Spark/OAP的性能提高了50% , 而成本仅增加了20% 。
傲腾 , 还有更多用武之地
除了为Spark SQL输入数据提供缓存加速外 , 傲腾持久内存高容量和高带宽的优势还能在基于Spark的机器学习和深度学习场景中发挥更大作用 , 因为这些场景要求在规模庞大的数据集上反复进行多次计算 。另外 , Spark shuffle可以通过优化 , 使用RDMA技术访问远程节点上的傲腾持久内存并将其用作随机存储 , 进一步减少随机延迟并提高性能 。
推荐阅读
- 汽车知识|试驾前:传祺GS4 Coupe就是GS4的换壳而已,试驾后:哪都不一样
- 智能机器人|陈根:全球首个AI发球机器人,不一样的智能陪练
- 行业互联网|无人驾驶改变世界,像当年的汽车一样?| 悦读科学
- 百度|百度被外媒评为最值得投资的4大AI股票之一
- 百度|一张图看中美互联网科技公司对比,中国真能和美国势均力敌了吗?
- 行业互联网|百度被外媒评为最值得投资的4大AI股票之一
- |零门槛的AI开发课程!2020 WAIC开发者日百度公开课核心干货
- 行业互联网,百度|百度ARM云手机产业基地落户长沙 天心区将建国内最大的云手机产业基地
- APP|工信部:责成阿里、腾讯、百度等主要应用商店对SDK违规收集用户个人信息问题进行排查
- 华为手机|底大一级就是不一样,vivo X50 Pro+夜拍效果比华为更好
