Linux的集群系统关键技术分析
2008-11-26 10:58:40 来源:WEB开发网在集群系统中,进程的到达时间和新到达进程所需的资源量都是不可预测的,因此进程的放置和迁移是非常重要的问题。由于集群系统中的不可预测性,进程有时就会被放置在不合适的机器上,进程迁移就给了系统一个弥补这样的错误的机会。通过较好的算法将新创建的进程放置到合适的节点上执行,并且对某些进程进行迁移可以缩短任务的平均执行时间,因此从整体上提高了系统的性能。
进程的放置问题是非常复杂的,因为集群中的资源是异构的,如:内存、CPU、进程间通讯等等。衡量这些资源耗费的方法也是不同的:内存的单位是字节,CPU的单位是循环、通讯资源的单位是带宽。
进程的放置策略分为静态放置策略和动态放置策略。静态放置策略通过预先定义的规则对新创建的进程进行分配,它不使用运行时的信息。而动态放置策略则根据系统状态的变化将进程重新放置到最适宜的节点上。
常见的静态放置策略由三种:Round Robin(RR)、Best-Fit(BF)、Round Robin Next-Fit (NF)。
Round Robin将新创建的进程以轮转的形式放置到集群中的各节点上。这种方法的缺陷在于如果新创建的进程所需的内存量大于将要分配到其上的节点的可用内存大小,则会导致算法的失败。
一种改进的方法是使用Best-Fit方法,进程将被放置到具有最大可用内存的节点上。
Round Robin Next-fit以Round Robin的方式扫描各节点,并且将进程发送到第一个有足够大内存的节点上。它的缺点就是可能会导致负载不均衡地分配到各个节点。
三种进程放置策略的性能如图1-1所示。(进程的平均大小是16MB)
从该图可以看出,NF算法能够最充分地利用内存资源。当集群中的节点数增加时,BF算法和RR的算法的性能也随之有明显的下降,之所以产生这种情况是因为当节点数增加时,集群中的内存总量也随之成比例地增加,而且新增加的节点也会创建新的进程,这也就意味着大进程的数量也会随之增多,这些大进程对于BF算法和RR算法而言是很难放置的,因此会导致它们的性能的下降。
- ››linux下两台服务器文件实时同步方案设计和实现
- ››Linux文件描述符中的close on exec标志位
- ››Linux下管道使用的一些限制
- ››Linux 误删/usr/bin 解决方法
- ››linux 添加新用户并赋予sudo执行权限
- ››linux常用软件安装方法
- ››Linux的分区已经被你从Windows中删除,系统启动后...
- ››linux enable命令大全
- ››Linux实现基于Loopback的NVI(NAT Virtual Interfa...
- ››Linux远程访问windows时,出现"连接被对端重...
- ››linux中使用head命令和tail命令查看文件中的指定行...
- ››linux swap 分区调控(swap分区 lvm管理)
赞助商链接