International Business Machines Corporation - Armonk NY
International Classification:
G06F 1214 G06F 1216 G06F 938
US Classification:
395425
Abstract:
Methods and apparatus are set forth for improving the performance of general purpose computing systems that utilize exclusive and shared seize mechanisms to assure the integrity of shared data objects, records, or other unit of synchronization. More particularly, methods and apparatus are set forth which allow concurrent reads of shared data objects in a coherent fashion, without always having to perform a seize. According to a preferred embodiment of the invention, read (shared) accesses can be performed in such a manner as to improve system performance by utilizing a method comprising the steps of: (a) determining, for a particular shared data object to be read, if the object is subject to an exclusive seize prior to any attempt, to read the object; (b) reading the object without causing a shared seize to be initiated if it was not subject to an exclusive seize as determined in step (a); (c) determining if the object is subject to an exclusive seize after reading it in accordance with step (b); and (d) determining if the object was subject to an exclusive seize while it was being read. If, as a result of performing the aforestated method, it can be concluded that the read took place without an exclusive seize immediately before, during and just after the read, then the data can be presumed valid. System performance is improved in such cases since the overhead associated with initiating a seize for the read is eliminated.
System Managed Logging Of Objects To Speed Recovery Processing
David L. Hermsmeier - Oronoco MN Gary R. Ricard - Rochester MN John J. Vriezen - Rochester MN Larry W. Youngren - Rochester MN
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 1730
US Classification:
395618
Abstract:
System control over the logging of objects in order to meet the user specified recovery requirements. Under the fixed recovery time environment, the user chooses a length of time to be spent on object recovery, and the system dynamically manages the logging of objects to meet this time. The shorter the time the user chooses, the more objects the system will log, and the more performance degradation there will be as a result of the logging at run-time. The user may partition storage into Auxiliary Storage Pools (ASPs), which are groups of non-volatile storage, and then specify the recovery time on a per ASP basis. Under the minimal impact environment, the system dynamically manages the objects to be logged such that the object logging has a minimal impact on run-time performance.
John J. Vriezen - Zumbrota MN Robin N. Niemeyer - Eau Claire WI
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 946
US Classification:
364200
Abstract:
An enhanced semaphore architecture, referred to herein as a "fullphore", combines the "P" and "V" operations of a semaphore into a single "S" operation capable of handling both consumer processes and producer processes. A fullphore has a count, a limit, a queue for waiting processes, a wait permitted flag, and a operation flag. The operation flag determines whether the count is incremented or decremented by one. The architecture of the fullphore "S" operation is s(F,OP, WAIT. sub. -- PERMITTED), where F is the fullphore to be operated on, OP is +1 for a producer process and -1 for a consumer process, and WAIT. sub. -- PERMITTED is YES if the process will wait if necessary and NO if it will not.
Computer System With Downward Compatibility Function
Leonard William Koser - Oronoco MN Mary Christine Manges - Rochester MN Frances Mary Ring - Rochester MN Cynthia Ann Rogers - Rochester MN Michael John Snyder - Rochester MN John Joseph Vriezen - Rochester MN
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 500
US Classification:
395680
Abstract:
A method and apparatus is disclosed for moving a unit of data (such as an object, program, or file) from a computer operating at a current release level N to a computer operating at a previous release level N-M in a manner that assures that the unit of data will function predictably when restored to the previous release without having to make modifications or updates to the N-M level computer system. This invention allows a new release to be gradually phased in for a distributed computing system instead of requiring that all computers be upgraded to the new release before any units of data can be moved between systems.
System Managed Logging Of Objects To Speed Recovery Processing
David L. Hermsmeier - Oronoco MN Gary R. Ricard - Rochester MN John J. Vriezen - Rochester MN Larry W. Youngren - Rochester MN
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 700
US Classification:
395600
Abstract:
System control over the logging of objects in order to meet the user specified recovery requirements. Under the fixed recovery time environment, the user chooses a length of time to be spent on object recovery, and the system dynamically manages the logging of objects to meet this time. The shorter the time the user chooses, the more objects the system will log, and the more performance degradation there will be as a result of the logging at run-time. The user may partition storage into Auxiliary Storage Pools (ASPs), which are groups of non-volatile storage, and then specify the recovery time on a per ASP basis. Under the minimal impact environment, the system dynamically manages the objects to be logged such that the object logging has a minimal impact on run-time performance.
Michael L. Nordstrom - Oronoco MN Gary R. Ricard - Rochester MN John J. Vriezen - Zumbrota MN David R. Welsh - Rochester MN Larry W. Youngren - Rochester MN
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 1200 G06F 1540
US Classification:
395600
Abstract:
An in use table manager in a computer system uses an in use table to track the use of files, or objects. The in use table is used to determine which objects may need recovery in the event of a system failure. Object addresses are hashed by the in use manager to identify a preferred slot in the table. The slots contain information identifying the object, and indicating the extent of use of the object. The in use manager assigns alternate slots, and dynamically changes the size of the in use table to reduce contention for slots. Several atomic operations on the table ensure integrity of the table, while permitting concurrent use. Portions of the table are bundled into single I/O operations to enhance system performance by minimizing I/O.
Encoding Variable Length And Null Data While Preserving Sort Sequence
Daniel R. Hicks - Byron MN Gary R. Ricard - Rochester MN John J. Vriezen - Zumbrota MN
Assignee:
International Business Machines - NY
International Classification:
H03M 700 H03M 740
US Classification:
341 50
Abstract:
A method of encoding data records comprised of null or variable length fields of data bytes such that the sortabilty of the resulting string of data is permitted via simple byte comparisons. The first field is examined to determine if it is a null field. A null field is a field containing no data. It should sort out before a field containing any data, even all zeros. If a null field is detected, it is represented in the encoded string of data by a null field indicator. If the field is not a null field, the bytes in the field are examined. Zero value bytes are encoded based on the number of consecutive zero value bytes while non-zero bytes remain unchanged. An end of field indicator designates the end of each field in the resulting string of encoded data.