存储 频道

缓存的更多讨论-通过定位优化磁盘缓存(5)

 
3.     在主机I / O控制器中实现磁盘缓存
 
历史上,关于实现缓存的研究和开发有很多,但大多数是在主机I / O控制器上进行的,它可能比其他各种类型实现的总和还要多。这个结果来源于系统和子系统的主要生产公司,如D E CI B M、惠普和S T K等,这么多年来,这些公司开发出大量的主机控制器,它们既与主机操作系统实现密不可分,也与子系统的实现密不可分。
 
主机I / O控制器中缓存算法的实现方案有两种:一种是在运行于主机中的驱动程序中,另一种是用位于主机I / O控制器上的缓存控制器,如图5 - 1 9所示。但为了确保最优的性能和减轻C P U 的负荷,大部分主机I / O控制器的缓存实现使用后一种方法。
 
当分析主机I / O缓存控制器的配置时,需要注意的是缓存实现是位于主机系统的I / O总线(即P C I),而不是存储I / O总线(即S C S I)。即I / O路径变得更短,因此,与子系统中的缓存相比,主机控制器中的缓存的访问速度更快。例如,对于带有PCI I/O总线的主机系统,它具有的最大传输速度为1 3 2 M B / s。相反,宽Ultra SCSI总线的最大速度是4 0 M B / s。然而,如果将它同1 0 0 M B / s 传输速度的光纤路径相比,其优势却并不明显。
 
虽然总线的速度对缓存很重要,但人们通常更关注各种总线的相对速度和最优的缓存位置。切记,算法与应用的匹配远比最大的传输速度重要。
 
主机控制器上的缓存容量受限于它们所携带的内存量,但这对于正在使用缓存的应用可能影响并不大。由于在系统中加入充分的内存可能很困难,所以难于为缓存配置希望的内存量。例如,对于一个装有128MB RAM P C系统,为了支持一个2 0 0 G B的磁盘子系统,再增加2 5 6 M BR A M可能并不容易。
 
此外,相关主机控制器中的缓存问题是所需要的缓存总量。假如在同一存储总线或路径上有两个子系统,那么,控制器中的单个缓存池可以支持这两个子系统。假如这个配置使用双主机控制器,则需要配置另外的缓存内存。
 
0
相关文章