System and method for distributing data processes among resources
AssigneesSony Corporation, Sony Computer Entertainment Inc.
InventorsYasuhiko Yokote, Hirotoshi Maegawa, Noriyuki Murata
Life of this patent
Estimating the term…
Abstract
The workload is heavy in the development of an application program that controls the task distribution in consideration of the variety of the execution environment. In a system where the processing is distributed to SPUs serving as plural processing entities so as to execute the computer program, the data processing is broken into plural units of processing by referring to the script code in which the content of the data processing is written, and the units of processing are assigned to the plural SPUs. Then, the whole computer program is executed when the SPUs execute the assigned process.
Claims6
A data processing system adapted to distribute a process to a plurality of control units coupled to each other via a communication line to execute a computer program, comprising:
- a process breaking unit, which refers to a script code in which a data process is written that designates simulation tasks related to a plurality of simulation areas, each simulation area being influenced by one another, and which breaks the data process into a plurality of units of processing;
- and
- a distributor, which assigns the units of processing to the plurality of the control units, respectively,
- wherein each of the control units comprises:
- a main controller, which controls, in an integrated manner, the control unit in which the main controller is contained;
- and
- a plurality of sub-controllers, which execute tasks assigned by the main controller,
- wherein a first main controller of a first control unit divides a unit of processing as tasks and distributes the tasks to a plurality of first sub-controllers under control of the first main controller in accordance with an execution state of each of the first sub-controllers, and each of the first sub-controllers executes the respective tasks,
- wherein the first main controller is configured to issue a request to a second main controller of a second control unit to distribute the tasks to a plurality of second sub-controllers under control of the second main controller, without the first main controller designating which of the second sub-controllers will execute the tasks,
- wherein the second main controller distributes the tasks, respectively, to the second sub-controllers in accordance with the execution state of each of the second sub-controllers, and each of the second sub-controllers executes the respective tasks,
- wherein the plurality of sub-controllers executes the simulation tasks related to the plurality of simulation areas in parallel so as to allow the script code to be executed,
- wherein the first main controller is notified through a communication interface for controlling simulation from a different simulation task of a simulation task distributed to a given sub-controller, and a sub-controller different from the given sub-controller is allowed control of the simulation task executed by the given sub-controller via the communication interface, and
- wherein, when a first simulation task related to a first simulation area affects a second simulation task related to a second simulation area among the plurality of simulation areas, a first one of the sub-controllers executing the first simulation task related to the first simulation area notifies a second sub-controller executing the second simulation task of a processing result of the first simulation task related to the first simulation area, via the communication interface of which the main controller was notified, thereby allowing the second one of the sub-controllers to execute the second simulation task affected by the first simulation task.
Dependencies are inferred from the claim text.