1 网络存储器技术的产生
随着基于计算机集群系统的应用的不断扩大,对整个系统性能的要求也就越来越高,越来越复杂的计算任务常常需要用到大量的数据,因此数据的I/0操作性能就成了影响计算机集群系统整体性能的一个重要指标。根据系统平衡设计原理,系统使用最快部件所能达到的加速比受限制于最慢的系统部件,而目前限制计算机集群系统整体性能的主要因素就来自于计算机系统中的磁盘的I/O瓶颈。因此,提高计算机系统中磁盘的I/O性能就成了提高计算机集群系统整体性能所需要解决的首要问题。
通过分析计算机集群系统的资源优势,我们发现:一方面,由于网络技术的高速发展,网络通讯延迟越来越小,网络访问比本地磁盘访问的速度快得多。另一方面,整个计算机集群系统内部的全部内存是一个容量很大的资源。如果利用计算机集群内其它节点的空闲内存来作为本地节点的虚拟内存或文件缓存,可以大幅度节省磁盘访问时间,从而缓解磁盘的I/0瓶颈所带来的问题。这种使用计算机集群系统内的节点的主存提高计算机系统I/0性能的技术就称为网络存储器技术。
伴随着高性能网络技术的出现和普及,计算机系统在传统的存储器层次中增加了一个新的层次一网络存储器(Net—work Memory)。计算机的性能依赖于系统内处理器与存储器之间数据交换的速度,网络存储器正是通过提高处理器与存储器之间的数据交换的速度来提高计算机系统性能的,并进而提高整个计算机集群系统的性能。
2 计算机存储结构的变化
在计算机存储结构当中,存储器的用途是多种多样的,如寄存器、高速缓存、主存储器和磁盘等。凭借高速缓存和操作系统对存储器的管理与分配等技术,使得整个存储系统的速度接近于系统内速度最快的那个存储器,容量接近于容量最大的那个存储器。存储结构的性能由各层次的有效存取时间决定,它依赖于相邻层次的命中率、访问频率和存取速度比。命中率越高,访问频率越低,则性能越高。在命中率和访问频率一定的情况下,下一层次的存储器的访问速度越快,则性能越高。
2.1 传统的计算机存储结构
在传统的计算机存储结构中(如图2),以主存储器为分界线,主要可以分为上下两层,上层是由外部高速缓存和主存储器构成的高速缓存存储系统,下层则是由磁盘或磁带等大容量存储设备构成的存储系统。
随着集群技术的普及与广泛应用,低速磁盘与高速内存之间的速度瓶颈问题就显得尤为突出,有必要寻找一种办法来缓解内存与磁盘之间的速度不匹配问题。
要缓解这个矛盾,有三种办法。第一,提高磁盘自身的存取速度。而这需要大量的资金与精力的投入,在目前看来,是不现实的,也是不可取的。第二,像解决高速处理器与内存的速度瓶颈问题一样,在本地主存储器和本地磁盘之间也插入一种类似于高速缓存的存储介质。第三,使用网络空闲内存代替本地磁盘,与本地主存储器进行数据交换。目前高速发展的网络互联技术使得后两种办法成为可能,那就是网络存储器。
2.2 具有网络存储器的计算机存储结构
应用了网络存储器的计算机存储结构发生了改变,如图3所示,对于第二种解决方法,网络存储器在主存储器和磁盘之间充当了一个缓存的角色,这样可以有效地缓解内存和磁盘之间速度瓶颈的问题。对于第三种解决方法,网络存储器在计算机存储结构中的位置会有相应的变化。
3 网络存储器的可行性分析
为了考查实际情况下的网络存储器,可以考查一个工作站集群,这个集群有100个工作站,每个工作站各有一个处理器,内存为64MB或128MB,硬盘为2GB或4GB。工作站以155Mb/s的ATM连接,典型的延迟是20微秒,带宽为15Mb/s。这种环境下,很多工作站上装载了用户的应用程序以及正在使用的集群资源(CPU、内存、硬盘、网络)。根据统计情况,在给定的时间内,仍有相当多的资源没有被利用。在夜间,甚至有80%~90%的工作站都被闲置着,即使在一天中最忙的时候,仍有三分之一的工作站完全未用,通常晚上有超过l千兆字节的存储器空闲。在任何时间,在50台机器的网络中有30台是空闲的。
图4是希腊计算机科学学院(ICS)计算机结构与VLSI系统小组提出的模型,该模型是一个由16台工作站组成的共800M主存的集群。由图4可以看出,绝大多数时间集群内空闲内存都超过了700MB,尤其在夜间和周末。