【技术实现步骤摘要】
改善对非连贯设备要执行的任务的调度
本专利技术涉及数据处理的领域,具体而言涉及对非连贯设备(non-coherentdevice)要执行的任务的调度。
技术介绍
已知具有多个彼此交互的设备并且具有存储器系统的系统。在这多个不同设备有其自己的用于数据的本地存储库的情况下,可能遇到维护不同本地存储位置和存储器之间的数据连贯性(coherency)的问题。一般地,设备通过执行一致性操作(consistencyoperation)来解决此问题,一致性操作例如有缓存维护操作、使用屏障(barrier)以及在执行中的特定点冲刷本地存储库,其中重要的是数据对于系统的其余部分的至少一部分是连贯的。对于诸如图形处理单元GPU之类的具有长管道(pipeline)的设备,可能遇到特别的问题。在一致性操作正被执行的同时等待GPU执行一项任务向管道中引入了气泡,这在深管道中有严重的缺点。现有技术的设备或者立即执行一致性操作,这一般导致多个更新并因此具有与之相关联的带宽成本,但具有低等待时间,或者它们等待并在批处理中一起执行一致性操作,这避免了不必要的多个更新,但增大了等待时间。希望既减小与这种一致性操作相关联的等待时间,又不会过度影响带宽。
技术实现思路
从第一方面来看,本专利技术提供了一种用于对多个非连贯处理设备中的一个非连贯处理设备要处理的任务进行调度的方法,所述多个非连贯处理设备中的至少两个是异种设备(heterogeneousdevice)并且所述任务中的至少一些是针对所述多个非连贯处理设备中的特定一个的,所述多个非连贯处理设备处理本地存储库和所述多个非连贯处理设备中的至少一些 ...
【技术保护点】
一种用于对多个非连贯处理设备中的一个非连贯处理设备要处理的任务进行调度的方法,所述多个非连贯处理设备中的至少两个是异种设备并且所述任务中的至少一些是针对所述多个非连贯处理设备中的特定一个的,所述多个非连贯处理设备处理本地存储库和所述多个非连贯处理设备中的至少一些可访问的存储器中存储的数据,所述方法包括:对于所述多个非连贯处理设备中的一个非连贯处理设备要处理的多个非依从任务中的每个非依从任务,确定在处理所述非依从任务之前需要执行的一致性操作;执行针对所述多个非依从任务中的一个非依从任务的一致性操作并且在完成时将所述任务发出到所述一个非连贯处理设备以处理;执行针对另一非依从任务的一致性操作,使得在所述一致性操作完成时所述非连贯处理设备能够处理所述另一任务。
【技术特征摘要】
2011.03.24 GB 1104958.21.一种用于对多个非连贯处理设备中的一个非连贯处理设备要处理的任务进行调度的方法,所述多个非连贯处理设备中的至少两个是异种设备并且所述任务中的至少一些是针对所述多个非连贯处理设备中的特定一个的,所述多个非连贯处理设备处理本地存储和所述多个非连贯处理设备中的至少一些可访问的存储器中存储的数据,所述方法包括:对于所述多个非连贯处理设备中的一个非连贯处理设备要处理的多个非依从任务中的每个非依从任务,确定一致性操作,其中所述一致性操作是在处理所述非依从任务之前需要执行的操作;执行针对所述多个非依从任务中的一个非依从任务的一致性操作并且在完成时将所述多个非依从任务中的一个发出到所述一个非连贯处理设备以处理;执行针对另一非依从任务的一致性操作,使得在所述一致性操作完成时所述非连贯处理设备能够处理所述另一任务,其中,非依从任务是独立于所有在处理之前要求执行一致性操作的任务的任务;并且在所述执行针对所述多个非依从任务中的所述一个非依从任务的一致性操作的步骤之后、在执行所述针对另一非依从任务的一致性操作的步骤之前,重评估依从于所述多个非依从任务中的所述一个非依从任务的任何任务以确定所述任何任务中的哪些是依从的还是非依从的。2.根据权利要求1所述的方法,其中,所述非连贯处理设备包括任务队列存储库,用于在至少一个任务的执行之前将所述任务存储在队列中,并且在针对所述另一非依从任务的一致性操作完成时将所述另一任务发送到所述非连贯处理设备以被处理或者如果所述非连贯处理设备正在处理先前的任务则被存储在所述任务存储队列中等待处理。3.根据权利要求2所述的方法,还包括从所述非连贯处理设备接收表明所述任务队列存储库具有容量的指示并且响应于所述指示而发送准备好执行的任何另外任务。4.根据权利要求2所述的方法,还包括从所述非连贯处理设备接收表明所述任务队列存储库具有容量的指示,并且响应于所述指示以及没有任务的一致性操作已完成而记录所述指示,以使得在待处理的连贯性操作完成时相应的任务被放在所述队列中。5.根据权利要求1所述的方法,包括初始步骤:确定所述任务的能够被彼此独立地执行的部分并且在可能的情况下将所述任务细分成所述多个非依从任务。6.根据权利要求5所述的方法,其中,所述初始步骤包括将所述任务中的至少一些细分成有可能的最小的任务。7.根据权利要求5所述的方法,还包括在所述初始步骤之后执行的步骤:确定所述任务的依从性并且提供对所述任务的排序以减小初始等待时间。8.根据权利要求1所述的方法,其中,在执行针对所述另一非依从任务的一致性操作之后,所述方法将所述另一任务存储在特权队列中,准备好响应于表明所述非连贯设备准备好处理所述另一任务的指示而输出到所述非连贯设备。9.根据权利要求1所述的方法,其中,所述一致性操作包括以下各项中的至少一种:连贯性操作,以及其他数据传送操作,用以确保所述多个处理设备和所述存储器之间的一致性。10.根据权利要求1所述的方法,所述方法还包括执行针对多个另外的非依从任务的一致性操作并且在针对所述多个另外的非依从任务中的每个另外的非依从任务的一致性操作完成时,确定所述非连贯处理设备是否有容量来接收所述另外的非依从任务并且响应于所述非连贯处理设备有容量而将所述另外的非依从任务发出到所述非连贯处理设备。11.根据权利要求1所述的方法,其中,所述对于所述非依从任务中的每一个确定要执行的一致性操作的步骤包括确定所述任务中的哪个任务有最小数目的一致性操作与之相关联并且在执行针对其他任务的其他一致性操作之前执行所述最小数目的一致性操作并将所述任务发出到所述非连贯处理设备。12.根据权利要求1所述的方法,其中,处理所述任务的所述非连贯处理设备包括具有深管道的图形处理单元。13.根据权利要求12所述的方法,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。