Patent application number | Description | Published |
20080263329 | Parallel-Prefix Broadcast for a Parallel-Prefix Operation on a Parallel Computer - A parallel-prefix broadcast for a parallel-prefix operation on a parallel computer includes: configuring, on each node, a parallel-prefix contribution buffer for storing the node's parallel-prefix contribution; configuring, on each node, a parallel-prefix results buffer for storing results of a operation, the results buffer having a position for each node that corresponds to node's rank; and repeatedly for each position in the results buffer: processing in parallel by each node, including: determining, by the node, whether the current position in the results buffer is to include the node's contribution, if the current position is not to include the contribution, contributing the identity element, and if the current position is to include the contribution, contributing the contribution, performing, by each node, the operation using the contributed identity elements and the contributed contributions, yielding a result from the operation, and storing, by each node, the result in the position in the results buffer. | 10-23-2008 |
20090083575 | Replacing A Failing Physical Processor - Replacing a failing physical processor in a computer supporting multiple logical partitions, where the logical partitions include dedicated partitions and shared processor partitions, the dedicated partitions are supported by virtual processors having assigned physical processors, and the shared processor partitions are supported by pools of virtual processors. The pools of virtual processors have assigned physical processors. Embodiments operate generally by assigning priorities to the dedicated partitions and to the pools of virtual processors; detecting a checkstop of a failing physical processor; retrieving the failing physical processor's state; replacing by a hypervisor the failing physical processor with a replacement physical processor assigned to a dedicated partition or pool, which dedicated partition or pool has the lowest priority among the priorities of the dedicated partitions and pools; and assigning the retrieved state of the failing physical processor as the state of the replacement physical processor. | 03-26-2009 |
20090106586 | Assigning A Processor To A Logical Partition - Assigning a processor to a logical partition in a computer supporting multiple logical partitions that include assigning priorities to partitions, detecting a checkstop of a failing processor of a partition, retrieving the failing processor's state, replacing by a hypervisor the failing processor with a replacement processor from a partition having a priority lower than the priority of the partition of the failing processor, and assigning the retrieved state of the failing processor as the state of the replacement processor. | 04-23-2009 |
20090112518 | Executing An Overall Quantity Of Data Processing Within An Overall Processing Period - Exemplary methods, systems, and products are described for executing an overall quantity of data processing within an overall processing period that include executing repeatedly through a series of iterations a portion of the overall quantity of data processing that can be completed in a set processing period, wherein each iteration includes the set processing period and a variable delay period and calculating the variable delay period for an iteration in dependence upon the set processing period, a portion of the overall quantity of data processing performed during the set processing period of the iteration, the overall quantity of data processing, and the overall processing period. | 04-30-2009 |
20090307538 | Managing Paging I/O Errors During Hypervisor Page Fault Processing - In response to a hypervisor page fault for memory that is not resident in a shared memory pool, an I/O paging request is sent to an external storage paging space. In response to a paging service partition encountering an I/O paging error, a paging failure indication is sent to the hypervisor. A simulated machine check interrupt instruction is sent from the hypervisor to the shared memory partition and a machine check handler obtains control. The machine check handler performs data analysis utilizing an error log in an attempt to isolate the I/O paging error to a process or a set of processes in the shared memory partition. The process or set of processes associated with the I/O paging error, or the shared memory partition itself, may be terminated. Finally, the shared memory partition may clear or initialize the page associated with the I/O paging error. | 12-10-2009 |
20100191909 | Administering Registered Virtual Addresses In A Hybrid Computing Environment Including Maintaining A Cache Of Ranges Of Currently Registered Virtual Addresses - Administering registered virtual addresses in a hybrid computing environment that includes a host computer, an accelerator, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, where administering registered virtual addresses includes maintaining a cache of ranges of currently registered virtual addresses, the cache including entries associating a range of currently registered virtual addresses, a handle representing physical addresses mapped to the range of currently registered virtual addresses, and a counter; determining whether to register ranges of virtual addresses in dependence upon the cache of ranges of currently registered virtual addresses; and determining whether to deregister ranges of virtual addresses in dependence upon the cache of ranges of currently registered virtual addresses. | 07-29-2010 |
20100191917 | Administering Registered Virtual Addresses In A Hybrid Computing Environment Including Maintaining A Watch List Of Currently Registered Virtual Addresses By An Operating System - Administering registered virtual addresses in a hybrid computing environment that includes a host computer and an accelerator, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, where administering registered virtual addresses includes maintaining, by an operating system, a watch list of ranges of currently registered virtual addresses; upon a change in physical to virtual address mappings of a particular range of virtual addresses falling within the ranges included in the watch list, notifying the system level message passing module by the operating system of the change; and updating, by the system level message passing module, a cache of ranges of currently registered virtual addresses to reflect the change in physical to virtual address mappings. | 07-29-2010 |
20110197204 | Processing Data Communications Messages With Input/Output Control Blocks - Processing data communications messages with an Input/Output Control Block (‘IOCB’) ring that includes a number of IOCBs characterized by a priority and arranged in sequential priority for serial operation, where processing the messages includes depositing message data in one or more IOCBs according to depositing criteria; processing, by a message processing module associated with an IOCB having a priority less than the present value of a state counter, the message data in the IOCB while a message processing module associated with an IOCB having a next priority waits; increasing, upon completion of processing the message data of the IOCB having a priority less than the present value of the state counter, the present value of the state counter to a value greater than the next priority; and processing, by the message processing module associated with the IOCB having the next priority, the message data in the IOCB. | 08-11-2011 |
20110239003 | Direct Injection of Data To Be Transferred In A Hybrid Computing Environment - Direct injection of a data to be transferred in a hybrid computing environment that includes a host computer and a plurality of accelerators, the host computer and the accelerators adapted to one another for data communications by a system level message passing module. Each accelerator includes a Power Processing Element (‘PPE’) and a plurality of Synergistic Processing Elements (‘SPEs’). Direct injection includes reserving, by each SPE, a slot in a shared memory region accessible by the host computer; loading, by each SPE into local memory of the SPE, a portion of data to be transferred to the host computer; executing, by each SPE in parallel, a data processing operation on the portion of the data loaded in local memory of each SPE; and writing, by each SPE, the processed data to the SPE's reserved slot in the shared memory region accessible by the host computer. | 09-29-2011 |
20120185867 | Optimizing The Deployment Of A Workload On A Distributed Processing System - Optimizing the deployment of a workload on a distributed processing system, the distributed processing system having a plurality of nodes, each node having a plurality of attributes, including: profiling during operations on the distributed processing system attributes of the nodes of the distributed processing system; selecting a workload for deployment on a subset of the nodes of the distributed processing system; determining specific resource requirements for the workload to be deployed; determining a required geometry of the nodes to run the workload; selecting a set of nodes having attributes that meet the specific resource requirements and arranged to meet the required geometry; deploying the workload on the selected nodes. | 07-19-2012 |
20130060844 | DIRECT INJECTION OF DATA TO BE TRANSFERRED IN A HYBRID COMPUTING ENVIRONMENT - Direct injection of a data to be transferred in a hybrid computing environment that includes a host computer and a plurality of accelerators, the host computer and the accelerators adapted to one another for data communications by a system level message passing module. Each accelerator includes a Power Processing Element (‘PPE’) and a plurality of Synergistic Processing Elements (‘SPEs’). Direct injection includes reserving, by each SPE, a slot in a shared memory region accessible by the host computer; loading, by each SPE into local memory of the SPE, a portion of data to be transferred to the host computer; executing, by each SPE in parallel, a data processing operation on the portion of the data loaded in local memory of each SPE; and writing, by each SPE, the processed data to the SPE's reserved slot in the shared memory region accessible by the host computer. | 03-07-2013 |
20130061238 | OPTIMIZING THE DEPLOYMENT OF A WORKLOAD ON A DISTRIBUTED PROCESSING SYSTEM - Optimizing the deployment of a workload on a distributed processing system, the distributed processing system having a plurality of nodes, each node having a plurality of attributes, including: profiling during operations on the distributed processing system attributes of the nodes of the distributed processing system; selecting a workload for deployment on a subset of the nodes of the distributed processing system; determining specific resource requirements for the workload to be deployed; determining a required geometry of the nodes to run the workload; selecting a set of nodes having attributes that meet the specific resource requirements and arranged to meet the required geometry; deploying the workload on the selected nodes. | 03-07-2013 |
20130061246 | PROCESSING DATA COMMUNICATIONS MESSAGES WITH INPUT/OUTPUT CONTROL BLOCKS - Processing data communications messages with an Input/Output Control Block (‘IOCB’) ring that includes a number of IOCBs characterized by a priority and arranged in sequential priority for serial operation, where processing the messages includes depositing message data in one or more IOCBs according to depositing criteria; processing, by a message processing module associated with an IOCB having a priority less than the present value of a state counter, the message data in the IOCB while a message processing module associated with an IOCB having a next priority waits; increasing, upon completion of processing the message data of the IOCB having a priority less than the present value of the state counter, the present value of the state counter to a value greater than the next priority; and processing, by the message processing module associated with the IOCB having the next priority, the message data in the IOCB. | 03-07-2013 |
20130219497 | NETWORK INTRUSION DETECTION IN A NETWORK THAT INCLUDES A DISTRIBUTED VIRTUAL SWITCH FABRIC - A network intrusion detection system (NIDS) works in conjunction with a distributed virtual switch fabric to provide enhanced network intrusion detection in a way that does not require as much human intervention, autonomically adjusts to hardware changes in the network, and responds much more quickly than known network intrusion detection systems. The NIDS accesses network information from the distributed virtual switch fabric, which gives the NIDS access to a virtual view that includes hardware information for all networking devices in the network. This allows the NIDS to automatically determine network topology, update itself as hardware in the network is added or changed, and promptly take automated service actions in response to detected network intrusions. The result is a NIDS that is easier to configure, maintain, and use, and that provides enhanced network security. | 08-22-2013 |
20130219500 | NETWORK INTRUSION DETECTION IN A NETWORK THAT INCLUDES A DISTRIBUTED VIRTUAL SWITCH FABRIC - A network intrusion detection system (NIDS) works in conjunction with a distributed virtual switch fabric to provide enhanced network intrusion detection in a way that does not require as much human intervention, autonomically adjusts to hardware changes in the network, and responds much more quickly than known network intrusion detection systems. The NIDS accesses network information from the distributed virtual switch fabric, which gives the NIDS access to a virtual view that includes hardware information for all networking devices in the network. This allows the NIDS to automatically determine network topology, update itself as hardware in the network is added or changed, and promptly take automated service actions in response to detected network intrusions. The result is a NIDS that is easier to configure, maintain, and use, and that provides enhanced network security. | 08-22-2013 |
20130238860 | Administering Registered Virtual Addresses In A Hybrid Computing Environment Including Maintaining A Watch List Of Currently Registered Virtual Addresses By An Operating System - Administering registered virtual addresses in a hybrid computing environment that includes a host computer and an accelerator, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, where administering registered virtual addresses includes maintaining, by an operating system, a watch list of ranges of currently registered virtual addresses; upon a change in physical to virtual address mappings of a particular range of virtual addresses falling within the ranges included in the watch list, notifying the system level message passing module by the operating system of the change; and updating, by the system level message passing module, a cache of ranges of currently registered virtual addresses to reflect the change in physical to virtual address mappings. | 09-12-2013 |
20140136475 | AUTOMATICALLY ADDRESSING PERFORMANCE ISSUES IN A DISTRIBUTED DATABASE - A database performance monitor monitors performance of a distributed database, identifies a database performance issue for the distributed database, determines from a distributed virtual network mechanism which physical networks are related to the database performance issue, determines a potential solution to the database performance issue that changes configuration of the distributed database, and applies the potential solution by automatically changing configuration of the distributed database without intervention of a user to address the database performance issue. | 05-15-2014 |
20140136682 | AUTOMATICALLY ADDRESSING PERFORMANCE ISSUES IN A DISTRIBUTED DATABASE - A database performance monitor monitors performance of a distributed database, identifies a database performance issue for the distributed database, determines from a distributed virtual network mechanism which physical networks are related to the database performance issue, determines a potential solution to the database performance issue that changes configuration of the distributed database, and applies the potential solution by automatically changing configuration of the distributed database without intervention of a user to address the database performance issue. | 05-15-2014 |
20140245082 | IMPLEMENTING CLIENT BASED THROTTLED ERROR LOGGING - A method, system and computer program product are provided for implementing client based throttled error logging in a computer system. A log governor, controlled by a client of a log manager, prevents the flooding of the logs, identifies how many repetitive logs have been suppressed, and is tailored such that log suppression requirements are enabled to be specified for each individual log. A space required for the log governor features or log governing information is allocated in the client. | 08-28-2014 |
20140281745 | Tracking Errors In A Computing System - Tracking errors in a computing system that includes a plurality of current error buckets and a plurality of historical error buckets, including: inserting, by an error repository manager into a current error bucket, error information describing a first error identified by a timestamp; moving, by the error repository manager, the error information in the current error bucket to a historical error bucket upon the expiration of the bucket interval, wherein each historical error bucket has a storage interval determined in dependence upon the base time interval associated with the error and a bucket number associated with the historical error bucket; and moving, by the error repository manager, the error information in a source historical error bucket to a destination historical error bucket upon the expiration of the storage interval associated with the source historical error bucket. | 09-18-2014 |
20140281757 | Tracking Errors In A Computing System - Tracking errors in a computing system that includes a plurality of current error buckets and a plurality of historical error buckets, including: inserting, by an error repository manager into a current error bucket, error information describing a first error identified by a timestamp; moving, by the error repository manager, the error information in the current error bucket to a historical error bucket upon the expiration of the bucket interval, wherein each historical error bucket has a storage interval determined in dependence upon the base time interval associated with the error and a bucket number associated with the historical error bucket; and moving, by the error repository manager, the error information in a source historical error bucket to a destination historical error bucket upon the expiration of the storage interval associated with the source historical error bucket. | 09-18-2014 |