Chinaunix首页 | 论坛 | 博客
  • 博客访问: 169611
  • 博文数量: 35
  • 博客积分: 2067
  • 博客等级: 大尉
  • 技术积分: 282
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 10:29
文章分类

全部博文(35)

文章存档

2014年(3)

2011年(2)

2010年(20)

2009年(10)

我的朋友

分类:

2010-03-19 18:07:45

SLIM: Network Decongestion for Storage Systems

首先不多说,咱们先上个文章中的图吧。


这是数据中心的一个经典结构分布图:

Rack Switch(机架交换机):连接所有的在一个机架上面的物理机的网络。
Host:机架上面的物理机。
VM:每个物理机上面运行的虚拟机。
Cluster Switch:集群交换机,连接所有机架的线路的网络设备,然后与存储机架上的存储服务器进行连接。
Storage Rack:存储机架,用来存放各个物理机所属的存储设备。

然后,文章分析说:从Rack Swith到Cluster Switch这段路线,由于高度的Server Consolidation,导致非常的拥堵,给VM上的用户带来了很不好的直接影响(因为网络带宽有限,读写太慢了)

接着,作者说:有两个解决方案。

1.更换这一段链路的网络设备,但是要花钱升级
2.发明一些现有的不用太花钱的方法来规避这段链路拥塞的问题。

本文着重于第二点。

然后,解决方案,咱们再上图:



解决方案就是,在Computer Racks和Storage Racks之间插入了一块“缓存”,作者把它叫做Rack Cache(因为存放Cache的地方是在和相关虚拟机相同的机架内)。

这样做有以下几个好处:

1.写请求不再是从VM中直接传递到了存储服务器内,而是先写入Rack Cache中,这样,类似于“写回法”,写请求可以快速的返回给发出它的应用程序(因为Racks Cache离VM上虚拟机近一些)

2.等到一定的间隔后,或者链路不拥塞后,再写入最终的存储服务器——这样有利于避免拥塞

3.在从Rack Cache将数据送到最终的存储服务器之前,可以先利用“空闲时间”,将要发送的数据,压缩,这样,有利于减小发送数据的大小,进一步缓解拥塞出现的概率

但是这也带来了一个问题:

Rack Cache上的数据失效了怎么办?

为了应付如此,Rack Cache有多个副本,当一个副本失效了,可以用其他的副本。图中所示,一个数据有2个副本。

这样如此,似乎一切很棒,包括数据测试。

但是该系统,叫做(SLIM),还没有完全实现好,还可以进一步优化。


阅读(944) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~