关闭

关于群集系统的一些思考

276人阅读 评论(0) 收藏 举报
 

HTML Tags and JavaScript tutorial



关于群集系统的一些思考





    本文中的群集,意指使用多个物理上分开的小型计算机(节点)通过高速网络相互连接构成一个逻辑上等价于一个大型计算机的阵列(网格),群集与一个大型计算机相比具有如下优点:
    1.可靠性。由于计算是分布式进行,哪怕阵列中的一个节点失败,其他节点也能够继续完成任务,虽然速度有所降低。
    2.可扩展性。随着计算量的扩大,可以在这个群集中加入新的节点,从而适应新的业务增长,这比更换主机要便宜。
    3.较低的总体成本。从单位计算量的成本考虑,多台小型计算机的成本比一台同样处理能力的大型计算机要便宜。
    分布式操作系统就是运行在网格上的操作系统,在它的调度管理下,用户的感觉网格就是一台大型计算机。分布式操作系统可以将传统单单机任务在多个节点上自动并型化和分布化,无须编程干预,从而达到对业务的最短的处理时间和最大的吞吐量。
    然而现实依然是单机操作系统大行其道,这是为什么呢?
    1.分布计算的高成本。分布式操作系统的节点间通讯成本很高,这意味着只有那些计算成本更高的任务才有可能通过并行处理和分布计算获得性能提升,这就象邮购东西,你可以偶尔邮购一个本地无货的数码相机,这比你去外地购买便宜,但你不会天天去邮购白菜和土豆,因为这样成本太高。
    2.分布计算的技术难度。单机任务软件系统在设计时很少考虑并发执行和分布处理的需求,耦合度很高,很难通过简单的办法进行分布式计算,为了使其适应并发和分布操作的需要,往往需要通过人工对软件内部结构进行修改,才能达到理论上的分布式处理效率。将这项任务交由分布式操作系统来完成当然可以,但让系统将一个可执行文件并行化和分布化很难,达到手工处理的效率就更难,因为每个计算任务的并发优化方法往往不同,让系统代替人工达到反编译出源代码并重构软件的效率很不现实。
    以上两点决定了通用群集系统的实现困难而且不一定优于单机系统,现在比较流行的做法是针对比较常用的服务,比如数据库服务和WWW服务,定制开发群集系统,即专用群集系统。由于需求一定,可以将并行和分布模型预先编制在应用程序中,系统无须根据应用软件特点推导并行和分布模型,这就大大降低了开发难度。
    在单机操作系统上,通过应用软件来实现某种规定类型的专用群集系统,这种做法已经有了很多成功实践,如Oracle 10g,开源的还有MySQL群集和Tomcat群集。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:150639次
    • 积分:4030
    • 等级:
    • 排名:第7724名
    • 原创:242篇
    • 转载:0篇
    • 译文:0篇
    • 评论:16条
    文章存档
    最新评论