Patent US5448732A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5448732A Expired / Lapsed US ⏱️ 0.0 years remaining

Multiprocessor system and process synchronization method therefor

Assignee: International Business Machines Corp
•
Filing: 1992-09-14
•
Granted: 1995-09-05
•
Expires: 2012-09-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for synchronizing and scheduling multiple processes in a multiprocessor of processor resources as supplied from the processes. Through hierarchical and user controllable grouping of processes, overhead associated with processor allocation and synchronization is reduced.

Inventors

  • 👤 Takashi Matsumoto

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 19:11
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/45; G06F8/458; G06F15/00; G06F15/16; G06F15/163; G06F15/167

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 166 words
In a process synchronization method for a multiprocessor system having a plurality of processors and a shared memory, wherein processes being performed by said processors check for synchronization completion information stored in said shared memory while said processes remain in a synchronization waiting state, said processes end said synchronization waiting state when said synchronization completion information indicates establishment of said synchronization and said processes continue said synchronization waiting state when said completion information indicates incompletion of said synchronization, an improvement characterized in that said processes further perform the following steps while said processes remain in said synchronization waiting state: accessing processor resource information stored in said shared memory to determine whether or not predetermined conditions which are useful for determining establishment of synchronization are fulfilled; continuing said synchronization waiting state when any of said predetermined conditions are determined to be fulfilled; and, requesting, from a rescheduler, rescheduling of processes to be performed on said processors when none of said predetermined conditions is determined to be fulfilled.
Claim 2
Dependent Claim 166 words
In a process synchronization method for a multiprocessor system having a plurality of processors and a shared memory, wherein processes being performed by said processors check for synchronization completion information stored in said shared memory while said processes remain in a synchronization waiting state, said processes end said synchronization waiting state when said synchronization completion information indicates establishment of said synchronization and said processes continue said synchronization waiting state when said completion information indicates incompletion of said synchronization, an improvement characterized in that said processes further perform the following steps while said processes remain in said synchronization waiting state: accessing processor resource information stored in said shared memory to determine whether or not predetermined conditions which are useful for determining establishment of synchronization are fulfilled; continuing said synchronization waiting state when any of said predetermined conditions are determined to be fulfilled; and, requesting, from a rescheduler, rescheduling of processes to be performed on said processors when none of said predetermined conditions is determined to be fulfilled.
Claim 3
Dependent Claim 112 words
In a multiprocessor system wherein synchronization among processes executed on a plurality of processors is performed through checking by each of said processes for synchronization completion information stored in a shared memory, an improvement comprising: information requesting means for each of said processors for accessing from said shared memory, processor resource information usable to determine whether or not predetermined conditions useful for determining establishment of synchronization are fulfilled, while a process executed on said processor remains in a synchronization waiting state and for sending a rescheduling request when no predetermined condition about the establishment of said synchronization is fulfilled; and scheduling means responsive to said rescheduling request for performing rescheduling of processes.
Claim 4
Dependent Claim 112 words
In a multiprocessor system wherein synchronization among processes executed on a plurality of processors is performed through checking by each of said processes for synchronization completion information stored in a shared memory, an improvement comprising: information requesting means for each of said processors for accessing from said shared memory, processor resource information usable to determine whether or not predetermined conditions useful for determining establishment of synchronization are fulfilled, while a process executed on said processor remains in a synchronization waiting state and for sending a rescheduling request when no predetermined condition about the establishment of said synchronization is fulfilled; and scheduling means responsive to said rescheduling request for performing rescheduling of processes.
Claim 5
Dependent Claim 112 words
In a multiprocessor system wherein synchronization among processes executed on a plurality of processors performed through checking by each of said processes for synchronization completion information stored in a shared memory, an improvement comprising: separate memory means for each of said processors for receiving and storing information related to process synchronization; information requesting means, for each of said processors, for accessing, while a process executed on said processor remains in a synchronization waiting state, said information from said separate memory means, and for sending a rescheduling request when predetermined conditions for determining the establishment of said synchronization are fulfilled; and, scheduling means responsive to said rescheduling request for performing rescheduling of processes.
Claim 6
Dependent Claim 112 words
In a multiprocessor system wherein synchronization among processes executed on a plurality of processors performed through checking by each of said processes for synchronization completion information stored in a shared memory, an improvement comprising: separate memory means for each of said processors for receiving and storing information related to process synchronization; information requesting means, for each of said processors, for accessing, while a process executed on said processor remains in a synchronization waiting state, said information from said separate memory means, and for sending a rescheduling request when predetermined conditions for determining the establishment of said synchronization are fulfilled; and, scheduling means responsive to said rescheduling request for performing rescheduling of processes.
Claim 7
Dependent Claim 54 words
A multiprocessor system in accordance with claim 2 or claim 3, further characterized in that said information includes information about assignment of one or more of said other processes to one or more of said processors, information about grouping of said processes, or information about one or more of said processes waiting for synchronization.
Claim 8
Dependent Claim 37 words
A multiprocessor system in accordance with claim 3, further characterized in that said scheduling means is provided for applications separately from an operating system, whereby no control is transferred to said operating system upon said rescheduling request.
Claim 9
Dependent Claim 72 words
A multiprocessor system in accordance with claim 5, further characterized in that said information requesting means sends an external interruption signal of a low priority level to a corresponding processor, said scheduling means corresponding to said processor performs rescheduling in response to said external interruption signal of said low priority level and control is transferred to said operating system upon an external interruption signal of a high priority level from another processor.
Claim 10
Dependent Claim 37 words
A multiprocessor system in accordance with claim 2, claim 3, claim 5 or claim 6, further characterized in that said processors each have private caches and access the content of said shared memory through said private caches.
Claim 11
Dependent Claim 209 words
In a multiprocessor system wherein synchronization is performed among processes executed on a plurality of processors, an improvement comprising: first memory means for each of said processors for receiving first information signals related to process synchronization stored in a shared memory and for storing the same; second memory means for each of said processors for storing designation of other processors to be barrier synchronized with said processor; signal receiving means for each of said processors for receiving second information signals related to synchronization waiting from each of said other processors; requesting means for at least one of said processors for determining, while a process executed on said at least one processor remains in a synchronization waiting state, based on said information stored in said first and second memory means, as an output signal from said signal receiving means, whether or not any other processor to be synchronized with said at least one processor is out of a synchronization waiting state and is waiting for dispatching, whereby barrier synchronization is not established, and for sending a rescheduling request when barrier synchronization is determined not to be established; a synchronization signal bus for interconnecting said signal receiving means of said processors; and, means responsive to said requesting means for performing rescheduling.
Claim 12
Dependent Claim 209 words
In a multiprocessor system wherein synchronization is performed among processes executed on a plurality of processors, an improvement comprising: first memory means for each of said processors for receiving first information signals related to process synchronization stored in a shared memory and for storing the same; second memory means for each of said processors for storing designation of other processors to be barrier synchronized with said processor; signal receiving means for each of said processors for receiving second information signals related to synchronization waiting from each of said other processors; requesting means for at least one of said processors for determining, while a process executed on said at least one processor remains in a synchronization waiting state, based on said information stored in said first and second memory means, as an output signal from said signal receiving means, whether or not any other processor to be synchronized with said at least one processor is out of a synchronization waiting state and is waiting for dispatching, whereby barrier synchronization is not established, and for sending a rescheduling request when barrier synchronization is determined not to be established; a synchronization signal bus for interconnecting said signal receiving means of said processors; and, means responsive to said requesting means for performing rescheduling.
Claim 13
Dependent Claim 226 words
In a multiprocessor system wherein synchronization among processes, each executed on a plurality of processors, is performed through checking by each of said processes for synchronization information stored in a shared memory, an improvement comprising: first memory means for each of said processors for receiving first information signals related to process synchronization stored in a shared memory and for storing the same; second memory means for each of said processors for storing designation of other processors to be barrier synchronized with said processor; signal receiving means for each of said processors for receiving second information signals related to synchronization waiting from each of said other processors; requesting means for at least one said processor for determining, while a process being executed on said at least one processor remains in a synchronization waiting state, based on information stored in said first and second memory means and based on an output signal from said signal receiving means, whether or not any other processor to be synchronized with said at least one processor is out of a synchronization waiting state and is waiting for dispatching, whereby barrier synchronization is not established, and for sending a rescheduling request when barrier synchronization is determined not to be established; a synchronization signal bus for interconnecting said signal receiving means for said processors, and, means responsive to said requesting means for performing rescheduling.
Claim 14
Dependent Claim 226 words
In a multiprocessor system wherein synchronization among processes, each executed on a plurality of processors, is performed through checking by each of said processes for synchronization information stored in a shared memory, an improvement comprising: first memory means for each of said processors for receiving first information signals related to process synchronization stored in a shared memory and for storing the same; second memory means for each of said processors for storing designation of other processors to be barrier synchronized with said processor; signal receiving means for each of said processors for receiving second information signals related to synchronization waiting from each of said other processors; requesting means for at least one said processor for determining, while a process being executed on said at least one processor remains in a synchronization waiting state, based on information stored in said first and second memory means and based on an output signal from said signal receiving means, whether or not any other processor to be synchronized with said at least one processor is out of a synchronization waiting state and is waiting for dispatching, whereby barrier synchronization is not established, and for sending a rescheduling request when barrier synchronization is determined not to be established; a synchronization signal bus for interconnecting said signal receiving means for said processors, and, means responsive to said requesting means for performing rescheduling.

References Cited (Backward Citations)

US4387427A Cited
US4590555A Cited
US4318173A Cited
US4692861A Cited
WO1989000734A1 Cited
EP0330836A2 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-09-04 1999-03-06 1999-09-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-09-04 2003-03-06 2003-09-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-09-04 2007-03-06 2007-09-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag