存储 频道

从IT硬件“分而治之”谈存储集群发展趋势

    【IT168 专稿】计算机技术已经发展了半个多世纪了,在短短的几十年内,发展到了今天我们看到的情况,并依然有加速的趋势。现在我们似乎无法相信,最早期的计算机,只有个把CPU,几个兆的内存,半落软盘,加上内存总线和I/O总线,这些简单的部件承担了大部分计算机所需要完成的全部运算和输入输出功能,再接个ascII字符显示器,就完事了。

    记得笔者小学三四年级的时候,学校里还有几十台Apple机。那时候的Apple机,除了CPU和“二乔(桥)”之外,主板上没有任何的单独的功能控制芯片,也没有文件系统和所谓的文件的概念。

    到了笔者上中学的时候,486的机器开始流行。这个时期,电脑终于有了专门的显示适配器(SIS系列),有了I/O控制器,而在这以前两者的功能统统由CPU来实现。在屏幕上输出再也不用一句一句写代码了,一个printf()就行了。printf会调用显示适配器驱动程序提供的API,在屏幕上显示图象和字符。而软件方面,也有了盖茨团伙开发出的DOS操作系统,以及美国的大学开发的unix系列。

    好不容易熬到了高中。这个时候,我们有了多媒体计算机。这些多媒体计算机都配置了声卡,当然那时候还基本靠CPU来运算发声(也就是我们所说的软声卡),而现在的计算机则大多采用独立的硬件控制芯片来控制声音的输出。很快网卡也有了,更为独立的磁盘控制器也加入了RAID功能。

    说了一大堆废话,越说越后悔当初没好好学习。。。。。进入正题,我想说的是:分而治之中的“分”字。

无处不在的“分而治之”

    在社会分工越来越精细化的今天,IT行业的硬件制造也似乎也遵循着“分而治之”的规律在细分蔓延。显示输出,音频输入输出,以太网编码解码器,磁盘IO控制器,这些原属于CPU的功能,如今都逐渐独立出来,犹如从CPU伸出的一条条手臂,完成各自专属的功能。

    存储独立化趋势则更是“分而治之”的良好体现。磁盘子系统从主机独立出来之后,变得更加专业和独立,能够承担更大容量、更高可用性和更复杂的数据复制和移植功能。

    NAS把文件系统从主机分出了一部分,由单独的NAS网络存储服务器来处理,然后呈现给OS,也同样体现了一个“分”字。OSI分了7层,也体现了一个分!RAID技术将数据分块存放在多块磁盘上,正是“分而治之”思想的完美体现。ToE,把TCP/IP协议处理从CPU转移到独立的芯片上,又比如大型机的前置处理机,比如DCP,3270等,这些“分而治之”的思想,体现了什么?是分布式的优势!

    再来看HPC中的内容,这里面的“分”的思想就数不胜数了。比如,传统SMP架构,存在总线共享的问题,好,那就分,用crossbar也好,infiniband也好,sci也好,都成了交换架构,解决cache一致性问题,再也不用总线广播了,只需向曾经读取过对应cache块的节点处理机发送失效信号便可,而这是共享总线做作不到的。

    软件方面,由于在集群系统中,使用廉价的pc server做节点,在没有SAN后端存储的情况下,基于本地磁盘的IO吞吐量瓶颈很大,远达不到科学计算的要求,怎么办呢?分吧!把数据分别存放在各个节点,把各个节点的direct attached的磁盘存储资源,整合成一个大的共享存储资源,这样齐心合力,提高I/O吞吐量,这就是分布式文件系统的效能,当然作用还不止这些。

    这些文件系统一般都支持多节点可以读写同一个文件,利用加锁机制。通过集群网络通信,保持数据的一致性。在用SAN做后端存储的条件下,吞吐量问题是缓解了,但是文件共享问题还是没有解决,虽然可以用NFS之类的NAS解决,但是NAS需要在SAN前端加NAS头,这个是很大的瓶颈所在。所以出现了专门针对SAN的集群文件系统,用来解决共享问题,比如sanery以及其升级版合标准化版SAN文件系统,以及国内的BWFS等。这些SAN 文件系统,即保证了各个主机对SAN有直接访问权,消除了NAS头造成的瓶颈,又保证了不会造成冲突。

    针对分布式并行处理集群,开发了通用API,比如MPI等等,让程序可以充分利用分布式资源。

0
相关文章