做研究首要任务是提出问题,问题不是空穴来风,要基于自己对于现实世界的观察和思考,并非空想或纸上谈兵,下面我们结合实验室20年来一条主线方向来谈谈我们经历过的几个关键的问题和主要的工作。
首先请同学们结合过去所学,从操作系统到组成原理还有系统结构,主要介绍了哪几种主要的存储访问模式?
Source: <https://www.snia.org/sites/default/files/2025-03/The_Storage_Evolution.pdf>
- 实验室早期就跟进最新的网络存储发展,从双通道盘阵开始就在琢磨改装协议命令
- 随后按照协议自研对象存储系统,尽量兼容传统协议栈方便应用整合
- 投入不少经历来研制系统,直到事实标准大行其道,不过万变不离其宗,其中
- 元数据管理方面的工作仍在继续,索引方面的工作还在发力
- 控制器方面的工作逐步下推,形成了延续至今的存算一体化硬件小组
- 从彼时跟踪借鉴 CMU NASD 和 Self-* 自组织、自管理,时至今日牵头推进 AI4Storage
- 过程中不少同学奔赴华为(OceanStore)、腾讯(TFS)、阿里(盘古)、深信服、大普微从事存储系统方向的工作
https://www.sandisk.com/business/datacenter/resources/solution-briefs/red-hat-ceph-storage-on-the-infiniflash-all-flash-storage-platform
华中科技大学信息存储这个专业方向也是在那个时期开始聚焦对象存储系统开展研究的,时至今日,华为、阿里、腾讯活跃着一大批大家的学长前辈,尤其是华为公司的存储业务部门,还有阿里云的云存储业务部门。
https://www.pdl.cmu.edu/Workload/index.shtml
https://github.com/kanripo/KR1a0140/
如果能够被管控倒也没问题
例如,考虑一个系统,在这个系统中,每个服务器通常的响应时间为10毫秒,但第99百分位的响应时间将达到一秒。如果一个用户请求仅在一个这样的服务器上处理,那么100个用户请求中会有一个请求变慢(一秒)。右图描述了在这种假设情景中,非常小的延迟异常所导致的服务级别延迟的影响。如果一个用户请求必须并行地从100个这样的服务器收集响应,则63%的用户请求将需要超过一秒的时间(在图表中标记为“x”)。即使对于只有万分之一的请求在单个服务器上经历超过一秒延迟的服务,有2,000个这样的服务器的服务也会导致近五分之一的用户请求需要超过一秒的时间(在图表中标记为“o”)。
来自长尾的麻烦,小概率同时也意味着样本缺乏,仅从统计学入手难免自相矛盾
首先,优化尾延迟(也就是最坏情况下的延迟)会使Amdahl's Law变得更重要。Amdahl's Law是计算机科学中的一个概念,它描述的是并行计算中加速比的极限。在优化平均性能时,一些部分性能的提升可能不会对整体性能有太大影响,但在优化尾部延迟时,每个部分都可能成为瓶颈,因此需要考虑Amdahl's Law,确保系统的每个部分都得到充分优化。
其次,队列理论可以提供准确的基础理论,以指导如何设计未来交互式服务的硬件。队列理论是研究等待过程(队列)的数学理论,它可以帮助我们预测和控制系统中的延迟。在设计交互式服务的硬件时,我们需要考虑如何减少延迟,提高系统的响应能力,队列理论可以帮助我们实现这一目标。
最后,随着服务响应能力和可预测性变得越来越关键,找到计算和内存资源之间的平衡也变得越来越重要。计算和内存是计算机系统的两个核心资源,它们之间的平衡直接影响到系统的性能。如果计算资源过多,而内存资源不足,那么系统可能会因为内存瓶颈而无法充分发挥计算资源的能力。反之亦然。因此,我们需要根据应用的需求,找到计算和内存资源之间的平衡,以实现最优的系统性能。