摘要:
A method and system is disclosed for dispatching tasks to multiple processors that all share a shared memory. A composite queue size for multiple work queues each having an associated processor is determined. A queue availability flag is stored in shared memory for each processor work queue and is set based upon the composite queue size and the size of the work queue for that processor. Each queue availability flag indicates availability or unavailability of the work queue to accept new tasks. A task is placed in a selected work queue based on that work queue having an associated queue availability flag indicating availability to accept new tasks. The data associated with task dispatching is maintained so as to increase the likelihood that valid copies of the data remain present in each processor's local cache without requiring updating do to their being changed by other processors.
摘要:
Methods, systems, and computer program products for file version control management are provided. Methods include receiving a loadset of at least one data file and activating the loadset. For each data file in the loadset, the data file is written to a target system and identified by a base name and a generation number. A symbolic link with an activation number is created in a version control file index (VCFX) to the data file written to the target system. An application view to the symbolic link is provided as the base name of the data file, and the application view to the symbolic link is limited based on an activation number of the application corresponding to the activation number of the symbolic link.
摘要:
Dynamically allocated memory is managed in real-time. This real-time management capability enables an invalid access of the dynamically allocated memory to be detected at the time the invalid access occurs, rather than at some later point in time. This real-time management capability can be dynamically activated/deactivated on a per process basis.
摘要:
An exemplary embodiment of the present invention is a method for dynamically managing a hash pool data structure. A request to insert a new key value into a hash pool data structure that includes at least one index level is received. An insertion location is calculated for the new key value in response to the new key value and to existing key values in the hash pool data structure. The insertion location includes an index level. A new index level is added at the insertion location if the index level is not the maximum number of index levels in the hash pool data structure; if the insertion location contains a chain of existing key values with a length equal to the maximum chain length; and if the new index record locations of the new key value and the existing key values are dispersed. The insertion location is updated in response to adding a new index record and the new key value is inserted into the insertion location. An additional embodiment includes a system and storage medium for dynamically managing a hash pool data structure.
摘要:
A program having a plurality of concurrently executing versions is debugged. A version of the program to be debugged is selected from the plurality of versions of the program, and that selected version is debugged. As one example, the selection is responsive to the receipt of at least one task of the computing environment that is associated with the version to be debugged. The debugging of the selected version does not affect other versions of the program, other programs executing within the computing environment or other tasks using that version.
摘要:
Various embodiments of the present invention allow concurrent accesses to a cache. A request to update an object stored in a cache is received. A first data structure comprising a new value for the object is created in response to receiving the request. A cache pointer is atomically modified to point to the first data structure. A second data structure comprising an old value for the cached object is maintained until a process, which holds a pointer to the old value of the cached object, at least one of one of ends and indicates that the old value is no longer needed.
摘要:
Various embodiments of the present invention manage concurrent accesses to a resource in a parallel computing environment. A plurality of locks is assigned to manage concurrent access to a plurality of parts of a resource. A usage of at least one of the plurality of parts of the resource is monitored. The assignment of the plurality of locks to the plurality of parts of the resource is modified based on the usage that has been monitored.
摘要:
Disclosed are a method and system for a computer operating system to allocate “recoverable” memory for a table. The invention involves updating storage allocation APIs to specify a request for “recoverable” storage and for the operating system's saving of virtual and real storage address information about the “recoverable” storage allocation. On a subsequent system restart, when the recoverable storage allocation is again requested, the operating system will use the saved information to rebuild the required virtual address space mappings (virtual addresses to backing real storage) to reallocate the same virtual and real storage. The operating system must also track requests for memory, which is not deemed “recoverable”, and avoid allocating virtual and real storage addresses, which are being used for “recoverable” storage requests.
摘要:
A highly available, high-performance memory queue. Locking of the queue is minimized in order to provide a highly available queue and to improve performance of the queue. Multiple updates of the queue can occur under a single lock. Further, messages of the queue are persistent. A time-initiated checkpointing process, as well as the storing of message information on a recovery log, ensures the persistence of the queue messages.
摘要:
Apparatus and process for managing shared, distributed locks in a multiprocessing complex. The manager operates using a partitionable lock space with logical processor connection. Logically connected processors are subject to validation and disconnection due to failure. The locks synchronize data access to identifiable subunits of DASD. Denied lock requests are queued for servicing when the lock becomes available. Lock partitions are used to speed DASD to DASD copying without halting processing on the first DASD. A special partition is assigned to the copy task and the processors writing to the DASD can determine copy status with a single read or test. Operations requiring multilateral agreement of processors, such as rebuilding locks or moving locks, are protected by fencing any nonresponsive processor. A special queue partition is designated for master/slave control point designation. All processors contend for the master lock and losing contenders are queue. Queuing provides automatic fallback in case of a failing processor.