可伸缩技术是集群技术的一个重要技术特征。同时,可伸缩技术又是一种内容十分丰富的技术。下面从多个方面对它进行论述。
(一)资源的可伸缩性
资源的可伸缩性是指通过增加CPU数量或者进行更多硬件投资来获得更高的系统性能和改善软件的效率。
系统大小的伸缩:加大一个计算机系统或者一个集群系统的最简单的办法是增加节点数目或者节点内处理器的数目。系统大小伸缩并非只是简单地增加一台机器或者减少一台机器,它往往受到集群系统设计和节点互联方案的制约。
系统资源的伸缩:允许增加集群系统内节点的资源,如Cache、内存或者硬盘空间的大小,并以此来提高系统的性能和增加吞吐量。
系统软件的伸缩:可伸缩系统的软件可以从下面三个方面进行改进:使用最新版本的操作系统来提供更多的功能,如多用户、多进程、多线程支持、更大的用户空间支持和效率更高的内核;使用优化的编译器;使用效率更高的数学和工程库。
(二)应用的可伸缩性
为了能够充分利用可伸缩系统的能力,基于Cluster的应用程序应该是可伸缩的。这样的应用程序才能在规模不断扩大的集群系统上有更好的性能。衡量应用程序的可伸缩性的两个标准是节点数量的可伸缩性和面向问题规模的可伸缩性。(www.xing528.com)
节点数量的可伸缩性:它表明在系统节点数量不断增加的情况下,系统性能有多大的改善。
问题规模的可伸缩性:它表明在系统有更大的数据处理量和负载时性能的表现。
(三)技术的可伸缩性
技术的可伸缩性使一个可伸缩的系统能够适应技术的改变。具体而言,它可以分为三类:版本的可伸缩性、空间的可伸缩性和异构性可伸缩性。
版本的可伸缩性:一个系统可以用更新的组件进行规模的扩展,如更快的处理器、更快的内存、更新的操作系统和性能更优的编译器等。并且,当系统变迁到新的版本后,它的计算处理能力应该相应地提高。此外,在系统中未作更新的部分应该做到尽可能少的改变,这样可以在对集群中的一个组件进行升级时尽量不要求整体的改变。对过去的并行计算机来说,这一点做得很不够,造成用户在对系统的更新后不得不重新开发新的用户应用程序。
空间的可伸缩性:空间的可伸缩性最初是指在多处理系统中,可扩充的处理器空间。对网络而言,它天然具有无限的空间可伸缩性。
异构可伸缩性:它使系统可以通过集成不同的软件和硬件组件来扩充系统,也被称为标准的、开放的体系结构和接口。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。