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
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 18:53
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 |