发明名称 Grouping and parallel execution of tasks based on functional dependencies and immediate transmission of data results upon availability
摘要 The present invention provides a particular efficient system of scheduling of tasks for parallel processing, and data communication between tasks running in parallel in a computer system. A particular field of application of the present invention is the platform-independent simulation of decomposition/partitioning of an application, in order to obtain an optimal implementation for parallel processing.
申请公布号 US9009711(B2) 申请公布日期 2015.04.14
申请号 US201013386885 申请日期 2010.07.26
申请人 发明人 Wein Enno;Poghosyan Vahagn
分类号 G06F9/46;G06F15/16;G06F9/50;G06F9/54;G06F9/48 主分类号 G06F9/46
代理机构 Seed IP Law Group PLLC 代理人 Seed IP Law Group PLLC
主权项 1. A computing system comprising: a plurality of processors for parallel processing of tasks, and a distributed scheduling system including: a group divider that groups a plurality of individual tasks belonging to one application into a plurality of task groups by taking into account application-specific functional dependencies between the individual tasks and a number of data communication processes between the individual tasks based on the functional dependencies, wherein the data communication processes are established by defining a number of ports and connecting the ports through a number of data communication channels;a first scheduler operating at the computing system level, to schedule the task groups together with other functions of the computing system not belonging to the one application over the plurality of processors, such that only a single one of the task groups is assigned to an individual one of the plurality of processors, and a plurality of second schedulers operating at each of the plurality of processors to schedule the tasks of each of the task groups assigned to the respective individual processor according to a non-preemptive multitasking scheme, wherein the distributed scheduling system further schedules direct communication between a first task that is performed at a first of the plurality of processors and a second task performed at a second of the plurality of processors such that all data items resulting from the first task that have to be used by the second task are transmitted together, via one of the data communication channels, to at least one of: a local memory or a local cache communicably coupled to the second processor acting as a receiver; as soon as the data items are available in at least one of: a local memory or a local cache communicably coupled to the first processor, which acts as a sender, and wherein the second scheduler operating at the second processor schedules the second task to begin as soon as the data items has been transmitted.
地址 Hayward CA US