简介
目前的数据中心由于存储I/O无法跟上不断增长的需求而受到阻碍,从而使系统无法充分发挥其性能潜力。传统的解决方案,例如增加存储、服务器或内存,增加了巨大的开销和复杂性.
开放缓存加速软件(Open Cache Acceleration Software)与高性能固态硬盘(ssd)相结合,通过智能缓存而不是极端的开销来提高数据中心的性能。Open CAS与服务器内存交互,创建一个多级缓存,该缓存优化了系统内存的使用,并自动确定活动数据的最佳缓存级别,允许应用程序比完全运行在flash/ ssd上更快地运行.
其本质就是用更高性能的设备, 来加速慢设备,提高IO性能, 比如用SSD加速HDD, 整体架构参考下图:
Open CAS是由Intel?Cache Acceleration Software (Intel?CAS)衍生而来的一个项目, 包含块缓存软件库、适配器、工具等。这个缓存加速软件的主要目标是通过利用更高性能的设备来加速后端块设备。对于Linux应用,所有的使用都已经过渡到Open CAS.其核心是Open CAS Framework (OCF)框架.
集成
基于OCF框架, 为了实现完整的缓存解决方案, Open CAS还为Linux操作系统和SPDK应用程序提供适配器实现, 下图即展示了OCF与SPDK和OCF与OpenCAS Linux整体软件架构:
OpenCAS项目主要包含以下三个子项目:
Open CAS Framework (OCF)是一个用C语言编写的高性能块存储缓存元库, 它完全独立于平台和系统,通过用户提供的环境包装层访问系统API。OCF与其他软件紧密集成,提供完美、高性能、低延迟的缓存实用程序, 对于短性能。OCF使任何对性能敏感的应用程序能够轻松地部署块缓存,这些应用程序需要处理存储在持久内存中的巨大数据集。它主要用于缓存SSD上的HDD驱动器的数据,但它也可以用于缓存TLC SSD上的QLC SSD数据,傲腾Optane驱动器,RAM内存,或上述的任何组合,包括所有类型的多级配置, 它是Open CAS Linux和SPDK提供完整缓存解决方案的基石.
顺便提下什么是Intel傲腾内存:
英特尔? 傲腾? 内存是一款与众不同的独立存储设备,可以缩小传统内存与存储之间的差距。其结合了存储容量和智能系统加速功能,可以简化您的计算体验。您可以优惠的价格获得速度和容量。从系统启动到应用程序启动,英特尔? 傲腾? 内存是一项智能技术,可在基于英特尔? 酷睿? 的电脑上个性化和加速您的计算体验。它可以了解您最常用的文档、图像、视频和应用程序;从而助您快速访问;并可保存内容,即使关闭电脑电源,内容也不会丢失.
Open CAS Linux
Open CAS Linux为OCF提供内核适配器,以便为Linux操作系统实现高性能、低延迟的完整缓存解决方案。下图绿色区域描述了Open CAS Linux提供的内核适配器实现与OCF的集成:
SPDK存储性能开发工具包OCF块设备
存储性能开发工具包(SPDK)是一组用于构建高性能应用程序的工具和库。Open CAS通过提供OCF SPDK块设备适配器来构建高性能的缓存感知应用程序,从而增强了SPDK。SPDK OCF块设备OCF bdev独立于Open CAS Linux,因为它实现了不同类型的适配器,但是仍然使用OCF框架。下图描述了OCF与SPDK的集成
应用
无论您使用的是vm虚拟机, 还是专用服务器,您很快就会看到Open CAS服务器端缓存软件以及任何flash设备(SAS、SATA或PCIe*)如何加速依赖较慢的SAN或直接连接后端存储的I/O业务应用程序.
以下两款产品都在使用OCF框架作为其核心缓存
参考文档
https://open-cas.github.io/
https://www.intel.cn/content/www/cn/zh/products/details/memory-storage/optane-memory.html
END已结束
欢迎大家留言, 订阅, 交流哦!
往期回顾
K8S-利用Exec Websocket接口实现Pod间的文件拷贝
Golang的23种设计模式之代码示例+示例图解+设计模式资料
[翻译自官方]什么是RDB和AOF? 一文了解Redis持久化!
Golang GinWeb框架9-编译模板/自定义结构体绑定/http2/操作Cookie/完结
Golang GinWeb框架8-重定向/自定义中间件/认证/HTTPS支持/优雅重启等
Golang GinWeb框架7-静态文件/模板渲染
Golang GinWeb框架6-XML/JSON/YAML/ProtoBuf等渲染
Golang GinWeb框架5-绑定请求字符串/URI/请求头/复选框/表单类型
Golang GinWeb框架4-请求参数绑定和验证
Golang GinWeb框架3-自定义日志格式和输出方式/启禁日志颜色
Golang GinWeb框架2-文件上传/程序panic崩溃后自定义处理方式
Golang GinWeb框架-快速入门/参数解析
Golang与亚马逊对象存储服务AmazonS3快速入门
Golang+Vue实现Websocket全双工通信入门
GolangWeb编程之控制器方法HandlerFunc与中间件Middleware
Golang连接MySQL执行查询并解析-告别结构体
Golang的一种发布订阅模式实现
Golang 并发数据冲突检测器(Data Race Detector)与并发安全
Golang”驱动”MongoDB-快速入门(“快码加鞭”)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!