Method, Apparatus and System for Coordinating Execution of Tasks in a Computing System Having a Distributed Shared Memory
First Claim
1. A method for coordinating execution of tasks in a computing system having a distributed shared memory, comprising:
- creating a snapshot of a memory space assigned to a first task, the memory space being a part of the distributed shared memory;
creating a cooperation watching area of a second task, wherein the second task has an execution variable that is modified by the first task, and wherein the cooperation watching area contains a memory address pointing to a location where the execution variable of the second task is stored in the memory space assigned to the first task;
allocating the first task to a first computing node of the computing system for execution;
updating, according to an execution result of the first task, the snapshot of the memory space and data in the memory space; and
allocating the second task to a second computing node of the computing system, including providing access to the memory address for the execution variable, for the second computing node to execute the second task using the execution variable after updating the memory space of the first task.
1 Assignment
0 Petitions
Accused Products
Abstract
A task coordination apparatus in a computing system having a distributed shared memory (DSM) coordinates the execution of two related tasks, wherein the second task has an execution variable which is modified by the first task. The task coordination apparatus creates a snapshot of a memory space in the distributed shared memory assigned to the first task and a cooperation watching area of the second task. The cooperation watching area contains a memory address pointing to a location where the execution variable of the second task is stored in the memory space assigned to the first task. The first task is allocated to a first computing node for execution, and the memory space assigned to it is updated according to the execution result. After updating the memory space, the second task is allocated to a second computing node for execution using the execution variable updated by the first task.
5 Citations
20 Claims
-
1. A method for coordinating execution of tasks in a computing system having a distributed shared memory, comprising:
-
creating a snapshot of a memory space assigned to a first task, the memory space being a part of the distributed shared memory; creating a cooperation watching area of a second task, wherein the second task has an execution variable that is modified by the first task, and wherein the cooperation watching area contains a memory address pointing to a location where the execution variable of the second task is stored in the memory space assigned to the first task; allocating the first task to a first computing node of the computing system for execution; updating, according to an execution result of the first task, the snapshot of the memory space and data in the memory space; and allocating the second task to a second computing node of the computing system, including providing access to the memory address for the execution variable, for the second computing node to execute the second task using the execution variable after updating the memory space of the first task. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A task cooperation apparatus for coordinating execution of tasks in a computing system having a distributed shared memory, comprising a processor configured to:
-
create a snapshot of a memory space assigned to a first task, the memory space being a part of the distributed shared memory; create a cooperation watching area of a second task, wherein the second task has an execution variable that is modified by the first task, and wherein the cooperation watching area contains a memory address pointing to a location where the execution variable of the second task is stored in the memory space assigned to the first task; allocate the first task to a first computing node of the computing system for execution; update, according to an execution result of the first task, the snapshot of the memory space and data in the memory space; and allocate the second task to a second computing node of the computing system, including providing access to the memory address for the execution variable, for the second computing node to execute the second task using the execution variable after updating the memory space of the first task. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computing system comprising:
-
a first computing node; a second computing node; a task cooperation apparatus; and a distributed shared memory, wherein the task cooperation apparatus is configured to; create a snapshot of a memory space assigned to a first task, the memory space being a part of the distributed shared memory; create a cooperation watching area of a second task, wherein the second task has an execution variable that is modified by the first task, and wherein the cooperation watching area contains a memory address pointing to a location where the execution variable of the second task is stored in the memory space assigned to the first task; allocate the first task to a first computing node of the computing system for execution; update, according to an execution result of the first task, the snapshot of the memory space and data in the memory space; and allocate the second task to a second computing node of the computing system, including providing access to the memory address for the execution variable, for the second computing node to execute the second task using the execution variable after updating the memory space of the first task. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification