CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟




 
标题: [转贴] 低通滤波在多节点非对称负载调度中的一个应用.
叨客机器人
银牌会员
Rank: 5Rank: 5


UID 329822
精华 0
积分 2463
帖子 184
威望 1160
ZD币 298 元
阅读权限 100
注册 2008-5-27
状态 离线
  楼主
发表于 2008-5-28 16:08  资料  个人空间  短消息  加为好友 
开发者在线

低通滤波在多节点非对称负载调度中的一个应用.

现在有N个节点 这N个节点都是自己的服务器, 这些服务器协同对外进行服务.
由于各服务器是在不同的时期买的,处理能力不太一样,需要分担的负载要根据情况进行非对称平衡.
负载的两个指标是掉度重点: 1.负载大小 2.负载抖动量

对与1 调度的模型有很多,这里就不论述了,下面就2进行说明:

每个机器对负载抖动量的敏感程度可用如下公式计算:
Yn=a* Xn+(1-a)*Yn-1
其中Yn-1是上一次本服务节点承载的负载抖动量.
Xn是本次节服务群取样的负载抖动量
Yn是本次本节点应当调度承载的负载抖动量

如上所述,现在通过调整各节点的a值可有效进行负载抖动在各节点的分布情况,也即可以使各节点对
外负载变化的敏感度进行有效的调度.
在实际系统中为了加快运算速度,将a取为整数.关键时也可采用汇编。

struct node_Att1 {
unsigned char node_name[256];
unsigned int a;
};
unsigned int mod_a=0xff;
struct node_att1 node_parlist[]={(unsigned char*)"Server1",2,(unsigned char*)"Server1",6,(unsigned char*)"Server1",80};
int i;
unsigned char local_name[256];
...
//安节点名称设置相应措施的a,也可做成配置文件动态加载.
for(i=0;i<sizeof(node_parlist)/sizeof(node_Att1);i++)
{
if(thread_strcmp(node_parlist,local_name)==0)
{
a=node_parlist.a
break;
}
}

实际用以下纯整数计算.
Yn2=a* Xn2+(mode_a-a)*Yn1




顶部
cold0708
版主
Rank: 7Rank: 7Rank: 7


UID 319148
精华 0
积分 21197
帖子 1643
威望 9660
ZD币 2615 元
阅读权限 250
注册 2008-4-15
状态 离线
  沙发
发表于 2008-5-28 16:13  资料  个人空间  短消息  加为好友 
虽然不懂这个,但支持一下楼主




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2009-7-4 10:00

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.061594 second(s), 3/3 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版