The invention proposes a multi processor oriented deterministic scheduling and load balancing method, including deterministic scheduling module, task message queue memory and load balancing module. The invention can be used for deterministic scheduling and load balancing in tasks in multiprocessor systems, so as to prevent access conflicts and operational errors due to uncertainty in process scheduling. To solve the low efficiency of the existing task assignment of multi processor system and does not have the problem of uncertainty, by setting the logger process record and management of process ID, and establishing ties and memory isolation backup memory mode to avoid access conflict, so as to achieve deterministic scheduling. Meanwhile, aiming at the low efficiency of the fixed processor allocation method, the possible idle and blocking problems are optimized. The public message queue method is used to allocate the processors according to the number and priority of tasks according to the allocation algorithm.
【技术实现步骤摘要】
一种多处理器系统确定性调度和负载均衡方法
本专利技术应用于多处理器系统的进程确定性调度及处理器负载均衡。
技术介绍
进程确定性及负载均衡技术是多处理器系统和平台所必需的,为保障所有处理器在访问内存时不会出现访问内存的冲突,导致内存中的数据被篡改,影响进程正常的运行,多处理器系统调度进程时必须保证具有确定性;所谓确定性,是指系统多次运行进程能够得到一个确定的结果,且该结果是可以预知的;当多处理器系统在调度进程时需要按照具有确定性的方法进行调度,来保证系统运行的结果是可靠的;确定性又有强确定性和弱确定性之分,系统的不确定性因素也有很多,包括:在多线程并行中,不确定性因素是线程对与共享内存的竞争访问;在多进程程序中,进程之间的交互也会引发不确定性,同是程序中还可能存在其他一些能够引起不确定的操作,例如系统对rand()函数的调用。近些年来,随着人们对于计算需求的迫切增长,多处理器系统已经非常普遍;由于多处理器具有很强的硬件运算能力,因此普遍应用在各种类型的计算机、嵌入式系统和各种移动设备中;然而,由于具有多个处理器,系统在任务时如果不能将任务合理分配,就会出现某些处理器 ...
【技术保护点】
一种多处理器系统的任务确定性,其特征在于:能够在多处理器系统下保证任务调度的确定性,以及根据任务数量和优先级进行负载均衡,从而提高系统效率。所述系统包括确定性调度模块,任务消息队列存储器,负载均衡模块。确定性调度模块,用于在多处理器系统中,记录进程访问主存的顺序和相关消息,保证任务调度的结果具有确定性;任务消息队列模块,按照任务的优先级进行分类并分别分配对应的消息队列存储区,相应优先级任务在对应的消息队列等待,防止低优先级的任务抢占高优先级的处理资源或者高优先级的任务迟迟得不到处理,降低系统效率;负载平衡模块,用于根据各个消息队列中的任务数量按照算法对处理器进行分配,设置时 ...
【技术特征摘要】
1.一种多处理器系统的任务确定性,其特征在于:能够在多处理器系统下保证任务调度的确定性,以及根据任务数量和优先级进行负载均衡,从而提高系统效率。所述系统包括确定性调度模块,任务消息队列存储器,负载均衡模块。确定性调度模块,用于在多处理器系统中,记录进程访问主存的顺序和相关消息,保证任务调度的结果具有确定性;任务消息队列模块,按照任务的优先级进行分类并分别分配对应的消息队列存储区,相应优先级任务在对应的消息队列等待,防止低优先级的任务抢占高优先级的处理资源或者高优先级的任务迟迟得不到处理,降低系统效率;负载平衡模块,用于根据各个消息队列中的任务数量按照算法对处理器进行分配,设置时间等待因子λ,当队列中有任务的等待时间超过该队列中所有任务的平均等待时间Т的一定限度(1+λ)Т,可以认为当前处理器分配方式负载不平衡,从而开启处理器分配模块进行分配。处理器分配在消息队列层面,避免任务在分配过程中直接与处理器相关,方便记录任务处理的顺序从而保证任务调度的确定性。2.根据1所述的应用于多处理器系统的确定性任务调度及负载平衡系统。其特征在于,所述确定性调度模块;由于系统中存在多个处理器,各个处理器共享一块内存,在进行内存读写操作时出现的内存冲突时系统不确定性的主要来源;在进行确定性任务调度时,系统设置专门进程记录存储,对每个任务获得处理的顺序和时间进行记录,并写入对应模块的内存备份上,完成内存隔离的备份写入,所述方法包括如下步骤:步骤1:扫描系统全部进程,按照优先级分类;步骤2:将任务分配到对应优先级的消息队列等待处理器响应,同时将已经分配的进程信息记录到存储器;步骤3:系统根据进程在队列中的排队时间和占用处理器时间对优先级进行重新评估;步骤4:若进程的优先级出现变化则将其顺序调整到队列尾部,转步骤2;步骤5:...
【专利技术属性】
技术研发人员:季振洲,王开宇,周一豪,
申请(专利权)人:哈尔滨工业大学威海,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。