云数据存储与云应用:原理、优势与挑战
1. 云数据存储中的局部性问题
1.1 局部性的概念
局部性对计算系统的性能至关重要。空间局部性指在短时间间隔内引用的项目在空间上接近,例如在附近的内存地址或磁盘扇区;时间局部性则是对同一项目的访问在时间上聚集。局部性对内存层次结构有重大影响,处理器性能高度依赖于从缓存而非内存访问代码和数据的能力。虚拟内存只有在代码和数据表现出空间和时间局部性时才有效,这样页面错误才会很少发生。
1.2 磁盘局部性与数据局部性
在云计算中优化局部性是一个具有挑战性的问题。通常认为,将任务调度到其输入数据所在的集群节点可以提高云应用的性能,主要原因有两点:
- 磁盘带宽大于网络带宽,且机架外通信带宽可能被过度订阅,影响机架外磁盘访问。
- I/O 密集型应用在数据本地存储时性能更好,因为本地磁盘的延迟更低、带宽更高。
然而,有观点认为我们可能在解决错误的问题,应该关注数据局部性而非磁盘局部性。即把本地内存视为“数据缓存”,确保数据存储在任务调度运行的处理器的本地内存中,而非本地磁盘。支持这一观点的理由如下:
- 网络技术的发展速度比硬盘技术快,如今已有聚合链路速度为 40 Gbps 和 100 Gbps 的交换机,服务器网络接口也将很快支持 10 Gbps 和 25 Gbps 的速率。
- 随着数据中心采用二分拓扑结构进行互连,应用可用的带宽将增加。
- 本地磁盘的读取访问延迟仅比同一机架内磁盘的读取延迟略低,本地磁盘访问速度仅快约 8%,且由于网络速度加快,不同机架内磁盘的访问延迟不会大幅增加。
- 尽管固态硬盘技术的成本以每年 50%的速度下降,但由
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



