公开/公告号CN107515781A
专利类型发明专利
公开/公告日2017-12-26
原文格式PDF
申请/专利权人 哈尔滨工业大学(威海);
申请/专利号CN201710593976.8
申请日2017-07-20
分类号G06F9/48(20060101);G06F9/54(20060101);
代理机构11531 北京汇捷知识产权代理事务所(普通合伙);
代理人李宏伟
地址 264209 山东省威海市文化西路2号
入库时间 2023-06-19 04:06:43
法律状态公告日
法律状态信息
法律状态
2020-07-07
授权
授权
2018-04-13
实质审查的生效 IPC(主分类):G06F9/48 申请日:20170720
实质审查的生效
2017-12-26
公开
公开
技术领域
本发明应用于多处理器系统的进程确定性调度及处理器负载均衡。
背景技术
进程确定性及负载均衡技术是多处理器系统和平台所必需的,为保障所有处理器在访问内存时不会出现访问内存的冲突,导致内存中的数据被篡改,影响进程正常的运行,多处理器系统调度进程时必须保证具有确定性;所谓确定性,是指系统多次运行进程能够得到一个确定的结果,且该结果是可以预知的;当多处理器系统在调度进程时需要按照具有确定性的方法进行调度,来保证系统运行的结果是可靠的;确定性又有强确定性和弱确定性之分,系统的不确定性因素也有很多,包括:在多线程并行中,不确定性因素是线程对与共享内存的竞争访问;在多进程程序中,进程之间的交互也会引发不确定性,同是程序中还可能存在其他一些能够引起不确定的操作,例如系统对rand()函数的调用。
近些年来,随着人们对于计算需求的迫切增长,多处理器系统已经非常普遍;由于多处理器具有很强的硬件运算能力,因此普遍应用在各种类型的计算机、嵌入式系统和各种移动设备中;然而,由于具有多个处理器,系统在任务时如果不能将任务合理分配,就会出现某些处理器任务数量过载而有些处理器处于空闲状态,也就是负载不均衡状态;这样会使系统的效率下降而且存在硬件上的浪费,因此在多处理器系统上,负载均衡技术十分重要,合理的应用这项技术能够让系统获得客观的性能提升。
发明内容
基于背景技术存在的技术问题,本发明提出了一种多处理器确定性调度和负载均衡方法。
本发明提出的一种多处理器确定性调度和负载均衡方法,所述系统包括确定性调度模块,任务消息队列存储器,负载均衡模块。
优选地,确定性调度模块用于对等待的任务按照满足确定性的原则进行调度。
优选地,任务消息队列用于管理等待处理的任务,并按照调度算法给处理器提供任务。
优选地。负载均衡模块用于均衡各个处理器的任务,负责在各个处理器之间均衡任务数量。
本发明中,任务消息队列在任务和处理器之间建立联系,本发明为处理器分组,每个组配备一个消息队列,若一个消息队列的任务数超过全部消息队列任务平均数20%,就启动负载均衡策略将该组任务分配给所有任务数组中任务数量最少的那一组;对任务进行确定性调度主要在于将每次调度的进程ID进行记录,使后面的进程在调度时按照之前记录的相对顺序进行调度,达到确定性调度的目的。
附图说明
图1为本发明提出的一种确定性调度和负载均衡示意图。
具体实施方式
下面结合具体实施例对本发明作进一步解说。
实施例
参考图1,本实施例提出了一种多处理器的确定性调度和负载均衡方法。通过设置进程记录器对进程ID进行记录和管理,以及和内存隔离的备份内存空间建立联系的方式避免出现访存冲突,从而实现确定性调度。同时针对固定处理器分配方法效率低下,可能出现的空闲和阻塞问题进行了优化,采用公用消息队列的方法根据任务数量和优先级按照分配算法对处理器进行分配。等待队列将任务发送到确定性调度模块,按照满足确定性的方式将任务调度,并传送到负载均衡模块,该模块根据当前各个任务队列中的任务数对任务进行均衡的分配,然后等待任务被处理器响应,处理完毕后传送到完成队列。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
机译: 分布式共享内存多处理器系统及多处理器系统中的负载均衡方法
机译: 多处理器系统和多处理器系统中的负载均衡方法
机译: 用于多处理器调度的多处理器调度方法和计算机系统