← Back to Patent Explorer
US6092098A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and computer program product for controlling distributed-memory multiprocessor system

Assignee: Rakuten Group Inc
•
Filing: 1998-07-24
•
Granted: 2000-07-18
•
Expires: 2018-07-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Disclosed is a method for controlling a distributed-memory multiprocessor system having a plurality of nodes mutually connected by a network, each of the nodes having a CPU and a memory, and a plurality of user tasks which belong to the same application and are executed in different nodes, which method comprises the steps of: (a) assigning a transmission resource of a network interface in the node to a user task that will be executed next and starting the execution of the user task when a context switching operation is performed; (b) reading data written by the user task from the transmission resource, adding to the data a communication identifier that is assigned to an application to which the user task belongs and that identifies a data reception area, and transmitting the resultant data to a reception side node through the network, in the network interface of each transmission side node; and (c) selecting a data reception area for storing data received from another node from a plurality of data receiving areas on the basis of the communication identifier added to the received data and storing the received data in the selected data reception area, in the network interface of each reception side node.

Inventors

  • 👤 Hiroyuki Araki
  • 👤 Kosuke Tatsukawa

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 08:28
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544; G06F9/461

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 201 words
A method for controlling a distributed-memory multiprocessor system having a plurality of nodes mutually connected by a network, each of said nodes having a CPU and a memory, and a plurality of user tasks which belong to the same application and are executed in different nodes, which method comprises the steps of: (a) assigning a transmission resource of a network interface in said node to a user task that will be executed next and starting the execution of said user task when a context switching operation is performed; (b) reading data written by said user task from said transmission resource, adding to said data a communication identifier that is assigned to an application to which said user task belongs and that identifies a data reception area, and transmitting the resultant data to a reception side node through said network, in said network interface of each transmission side node; and (c) selecting a data reception area for storing data received from another node from a plurality of data receiving areas on the basis of said communication identifier added to said received data and storing said received data in said selected data reception area, in said network interface of each reception side node.
Claim 2
Independent Claim 201 words
A method for controlling a distributed-memory multiprocessor system having a plurality of nodes mutually connected by a network, each of said nodes having a CPU and a memory, and a plurality of user tasks which belong to the same application and are executed in different nodes, which method comprises the steps of: (a) assigning a transmission resource of a network interface in said node to a user task that will be executed next and starting the execution of said user task when a context switching operation is performed; (b) reading data written by said user task from said transmission resource, adding to said data a communication identifier that is assigned to an application to which said user task belongs and that identifies a data reception area, and transmitting the resultant data to a reception side node through said network, in said network interface of each transmission side node; and (c) selecting a data reception area for storing data received from another node from a plurality of data receiving areas on the basis of said communication identifier added to said received data and storing said received data in said selected data reception area, in said network interface of each reception side node.
Claim 3
Dependent Claim 62 words
The method as set forth in claim 1, wherein the step (a) comprises the step of (a1) assigning a dummy transmission resource to said user task which will be executed next so that said user task can be executed when said network interface does not have a transmission resource that can be assigned to said user task in the context switching operation.
Claim 4
Dependent Claim 84 words
The method as set forth in claim 2, wherein the step (a1) ) is followed by the step of: (a2) re-determining whether or not said network interface has a transmission resource that can be assigned to said user task when the user task accesses said dummy transmission resource, assigning said transmission resource instead of said dummy transmission resource to said user task when said network interface has the transmission resource that can be assigned to said user task, and continuously executing said user task.
Claim 5
Dependent Claim 108 words
The method as set forth in claim 1, wherein the step (a) comprises the step of: (a1) storing the relation between said communication identifier for said user task which will be executed next and a pointer which points to said data reception area for said user task to a cache of said local network interface on said reception side node; and wherein the step (c) comprises the step of (c1) retrieving said data reception area for storing said received data from said cache using said communication identifier added to said received data as a key, and selecting said data reception area to which said received data is written.
Claim 6
Dependent Claim 42 words
The method as set forth in claim 4, wherein said network interface generates interrupt which causes said OS to store said received data when there is not a cache having the communication identifier identical with said identifier added to said received data.
Claim 7
Dependent Claim 43 words
The method as set forth in claim 3, wherein the step (a2) is performed only when the attribute of said user task is other than the attribute of Local which represents that said user task does not execute communication using said network interface.
Claim 8
Dependent Claim 59 words
The method as set forth in claim 1, wherein the step (a) is performed by assigning a dummy transmission resource to said user task which will be executed next and starting execution of said user task when said user task has the attribute of Local which represents that said user task does not execute communication using said network interface.
Claim 9
Dependent Claim 88 words
The method as set forth in claim 1, wherein said data reception area is a page in a virtual address space and a page table stores the address of said page as a data reception area; and wherein the step (c) is performed by retrieving a page as a data receiving area for storing received data from said page table using said communication identifier added to said received data as a key, and selecting said data reception area, in said network interface of said each reception side node.
Claim 10
Dependent Claim 68 words
The method as set forth in claim 1, further comprising the step of: (d) causing a CID manager for managing said communication identifiers to assign a communication identifier to an application before said application performs a communicating process and; (e) causing said CID manager to collect said assigned communication identifier from said application after completion of said communicating process so that said collected communication identifier can be reused.
Claim 11
Dependent Claim 95 words
The method as set forth in claim 1, wherein the system has a scheduler, said scheduler having a sequencer and stubs, said sequencer managing mapping of said applications and said user tasks that belong thereto and determining a schedule for a group of tasks executed across said nodes, each of said stubs being disposed in each of said nodes and performing said context switching operation for said tasks in each of said node corresponding to the command received from said sequencer, said sequencer sending said schedule to said stubs asynchronously with said context switching operation.
Claim 12
Dependent Claim 206 words
A computer program product which causes a distributed-memory multiprocessor system having a plurality of nodes mutually connected by a network, each of said nodes having a CPU and a memory, and a plurality of user tasks which belong to the same application and are executed in different nodes, to execute a method which comprises the steps of: (a) assigning a transmission resource of a network interface in said node to a user task that will be executed next and starting the execution of said user task when a context switching operation is performed; (b) reading data written by said user task from said transmission resource, adding to said data a communication identifier that is assigned to an application to which said user task belongs and that identifies a data reception area, and transmitting the resultant data to a reception side node through said network, in said network interface of each transmission side node; and (c) selecting a data reception area for storing data received from another node from a plurality of data receiving areas on the basis of said communication identifier added to said received data and storing said received data in said selected data reception area, in said network interface of each reception side node.
Claim 13
Dependent Claim 206 words
A computer program product which causes a distributed-memory multiprocessor system having a plurality of nodes mutually connected by a network, each of said nodes having a CPU and a memory, and a plurality of user tasks which belong to the same application and are executed in different nodes, to execute a method which comprises the steps of: (a) assigning a transmission resource of a network interface in said node to a user task that will be executed next and starting the execution of said user task when a context switching operation is performed; (b) reading data written by said user task from said transmission resource, adding to said data a communication identifier that is assigned to an application to which said user task belongs and that identifies a data reception area, and transmitting the resultant data to a reception side node through said network, in said network interface of each transmission side node; and (c) selecting a data reception area for storing data received from another node from a plurality of data receiving areas on the basis of said communication identifier added to said received data and storing said received data in said selected data reception area, in said network interface of each reception side node.
Claim 14
Dependent Claim 64 words
The computer program product as set forth in claim 11, wherein the step (a) comprises the step of (a1) assigning a dummy transmission resource to said user task which will be executed next so that said user task can be executed when said network interface does not have a transmission resource that can be assigned to said user task in the context switching operation.
Claim 15
Dependent Claim 85 words
The computer program product as set forth in claim 12, wherein the step (a1) is followed by the step of: (a2) re-determining whether or not said network interface has a transmission resource that can be assigned to said user task when the user task accesses said dummy transmission resource, assigning said transmission resource instead of said dummy transmission resource to said user task when said network interface has the transmission resource that can be assigned to said user task, and continuously executing said user task.
Claim 16
Dependent Claim 45 words
The computer program product as set forth in claim 13, wherein the step (a2) is performed only when the attribute of said user task is other than the attribute of Local which represents that said user task does not execute communication using said network interface.
Claim 17
Dependent Claim 110 words
The computer program product as set forth in claim 11, wherein the step (a) comprises the step of: (a1) storing the relation between said communication identifier for said user task which will be executed next and a pointer that points to said data reception area for said user task to a cache of said local network interface on said reception side node; and wherein the step (c) comprises the step of (c1) retrieving said data reception area for storing said received data from said cache using said communication identifier added to said received data as a key, and selecting said data reception area to which said received data is written.
Claim 18
Dependent Claim 44 words
The computer program product as set forth in claim 15, wherein said network interface generates interrupt which causes said OS to store said received data when there is not a cache having the communication identifier identical with said identifier added to said received data.
Claim 19
Dependent Claim 61 words
The computer program product as set forth in claim 11, wherein the step (a) is performed by assigning a dummy transmission resource to said user task which will be executed next and starting execution of said user task when said user task has the attribute of Local which represents that said user task does not execute communication using said network interface.
Claim 20
Dependent Claim 90 words
The computer program product as set forth in claim 11, wherein said data reception area is a page in a virtual address space and a page table stores the address of said page as a data reception area; and wherein the step (c) is performed by retrieving a page as a data receiving area for storing received data from said page table using said communication identifier added to said received data as a key, and selecting said data reception area, in said network interface of said each reception side node.
Claim 21
Dependent Claim 62 words
The computer program product as set forth in claim 11, wherein said method further comprising the step of: (d) causing a CID manager for managing said communication identifiers to assign a communication identifier to an application before said application performs a communicating process and to collect said assigned communication identifier from said application so that said collected communication identifier can be reused.
Claim 22
Dependent Claim 97 words
The computer program product as set forth in claim 1, wherein the system has a scheduler, said scheduler having a sequencer and stubs, said sequencer managing mapping of said applications and said user tasks that belong thereto and determining a schedule for a group of tasks executed across said nodes, each of said stubs being disposed in each of said nodes and performing said context switching operation for said tasks in each of said node corresponding to the command received from said sequencer, said sequencer sending said schedule to said stubs asynchronously with said context switching operation.

References Cited (Backward Citations)

JPH0520107A Cited
US5392429A Cited
US5613136A Cited
JPH0644087A Cited
JPH06110841A Cited
JPH06149747A Cited
US5832272A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-07-18 2004-01-17 2004-07-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-07-18 2008-01-17 2008-07-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-07-18 2012-01-17 2012-07-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag