dede

呵呵,写了一个负载均衡调度算法

去掉处理器信息,多线程保护的测试效果:
http://www.cppblog.com/Files/dede/平衡效果.7z

class loader
{
public:
    unsigned long num;
};

class wheelDispatch
{
public:
    //注册处理器
    void registLoader(loader *l);

    //平衡负载调度器,返回被选择的处理器指针
    loader *balance(void);

    void printLoader(void);
};

main:

    srand(time(0));
    wheelDispatch wd;
    for (int a = 0; a < 10; a++)
    {
        loader *p= new loader;
        wd.registLoader(p);
    }
    for (int a = 0; a < 10000; a++)
    {
        loader *p = wd.balance();
        ++p->num;

        //随机
        if (rand() > 40000 && p->num > 0)  --p->num;
        wd.printLoader();
    }

输出:
0    1    2    3    4    5    6    7    8    9    :序号
0    0    0    0    0    0    0    0    0    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
0    0    0    0    0    0    0    0    1    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
0    0    0    0    0    0    0    1    1    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
0    0    0    0    0    0    1    1    1    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
0    0    0    0    0    1    1    1    1    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
0    0    0    0    1    1    1    1    1    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
0    0    0    1    1    1    1    1    1    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
0    0    1    1    1    1    1    1    1    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
0    1    1    1    1    1    1    1    1    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
1    1    1    1    1    1    1    1    1    1    :负载

0    1    2    3    4    5    6    7    8    9    :序号
1    1    1    1    1    1    1    1    2    1    :负载


大致为1/3出输出:

0    1    2    3    4    5    6    7    8    9    :序号
379    379    380    380    380    379    378    377    376    375    :负载

0    1    2    3    4    5    6    7    8    9    :序号
379    380    380    380    380    379    378    377    376    375    :负载

0    1    2    3    4    5    6    7    8    9    :序号
380    380    380    380    380    379    378    377    376    375    :负载

0    1    2    3    4    5    6    7    8    9    :序号
380    380    380    381    380    379    378    377    376    375    :负载



大致为2/3出输出:


0    1    2    3    4    5    6    7    8    9    :序号
641    643    644    645    646    647    648    649    649    649    :负载

0    1    2    3    4    5    6    7    8    9    :序号
642    643    644    645    646    647    648    649    649    649    :负载

0    1    2    3    4    5    6    7    8    9    :序号
642    643    644    645    646    647    649    649    649    649    :负载

0    1    2    3    4    5    6    7    8    9    :序号
642    643    644    645    646    648    649    649    649    649    :负载


结尾:

0    1    2    3    4    5    6    7    8    9    :序号
996    997    998    1000    1001    1001    1001    1001    1001    1001    :负载

0    1    2    3    4    5    6    7    8    9    :序号
996    997    999    1000    1001    1001    1001    1001    1001    1001    :负载

0    1    2    3    4    5    6    7    8    9    :序号
996    998    999    1000    1001    1001    1001    1001    1001    1001    :负载

0    1    2    3    4    5    6    7    8    9    :序号
997    998    999    1000    1001    1001    1001    1001    1001    1001    :负载


posted on 2009-05-06 16:31 dede 阅读(697) 评论(1)  编辑 收藏 引用

评论

# re: 呵呵,写了一个负载均衡调度算法[未登录] 2012-06-12 16:15 1

可提供源码么  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2012年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

常用链接

留言簿(1)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜