上传者: 38653296
|
上传时间: 2021-10-11 16:03:49
|
文件大小: 21KB
|
文件类型: -
AllocateTasksFairly
将多个任务分配到多个并行进程时,为了最大化工作效率,通常希望每个进程被赋予相当的任务量,避免某些进程过早完成任务然后空等待。同时,将单个任务拆分往往会造成一定的性能损失,在负载均衡的前提下应当尽量将单个任务交给单个进程执行。 本拆分函数接受多个任务各自的尺寸,和并行进程数目作为参数,给出合理化的任务分配方案。 对于单个较大的任务,将其拆分给多个进程执行;对于多个较小的任务,将它们合并给一个进程执行。同时为了尽量减少任务拆分,若一个大任务被决定拆分,则分到该任务的所有进程将专心执行该任务,不会被分配到其它任务;反过来,若一个进程被分配到了多个任务,则这些任务将完全由该进程独立执行,而不会再拆分给其它进程。
TaskSplitParallelRun
本函数能够对批处理任务进行多线程调度,追求负载均衡。可以将单个大任务拆分到多个进程执行,多个小任务合并到