Patents by Inventor William Joseph Armstrong
William Joseph Armstrong has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20040221193Abstract: Methods, systems, and articles of manufacture for replacement of a failing processor of a multi-processor system running at least one operating system are provided. In contrast to the prior art, the replacement may be performed by system firmware without intervention by the operating system (i.e., the replacement may be transparent to the operating system). For some embodiments, the multi-processor system may be logically partitioned and the methods may be utilized to replace one or more shared or dedicated processors assigned to a logical partition, transparent to an operating system running on the partition.Type: ApplicationFiled: April 17, 2003Publication date: November 4, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: William Joseph Armstrong, Naresh Nayar, Gary Ross Ricard
-
Publication number: 20040215860Abstract: A method, system, and article of manufacture for processing virtual interrupts in a logically partitioned system are provided. An intelligent virtual global interrupt queue (virtual GIQ) that may be associated with a plurality of virtual processors running in a logical partition may be utilized. Upon receiving a virtual interrupt, the virtual GIQ may examine the operating states of the associated virtual processors. In an effort to ensure the virtual interrupt is processed as quickly as possible, the virtual GIQ may present the virtual interrupt to one of the associated virtual processors determined to be in an operating state best suited for processing the virtual interrupt.Type: ApplicationFiled: April 24, 2003Publication date: October 28, 2004Applicant: International Business Machines CorporationInventors: William Joseph Armstrong, David Anthony Larson, Naresh Nayar
-
Publication number: 20040215859Abstract: A method, apparatus, system, and signal-bearing medium that in an embodiment set a resource indicator to indicate that a processor is using a resource in a logically-partitioned electronic device, determine whether a current partition in the logically-partitioned electronic device owns the resource, and clear the resource indicator after the processor is done using the resource. When a partition gives up ownership of a resource, a resource ownership state is changed to indicate that the partition does not own a resource, and the partition waits to continue executing until other processors have cleared their respective resource indicators. In an embodiment, the resource indicator is in a cache line that is local to the processor, which allows resources to be dynamically allocated with improved performance.Type: ApplicationFiled: April 24, 2003Publication date: October 28, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: William Joseph Armstrong, Naresh Nayar
-
Publication number: 20040216113Abstract: An accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor provides a mechanism for accounting for processor resource usage by programs and threads within programs. Relative resource use is determined by detecting instruction dispatches for multiple threads active within the processor, which may include idle threads that are still occupying processor resources. If instructions are dispatched for all threads or no threads, the processor cycle is accounted equally to all threads. Alternatively if no threads are in a dispatch state, the accounting may be made using a prior state, or in conformity with ratios of the threads' priority levels. If only one thread is dispatching, that thread is accounted the entire processor cycle. If multiple threads are dispatching, but less than all threads are dispatching (in processors supporting more than two threads), the processor cycle is billed evenly across the dispatching threads.Type: ApplicationFiled: April 23, 2003Publication date: October 28, 2004Applicant: International Business Machines CorporationInventors: William Joseph Armstrong, Michael Stephen Floyd, Ronald Nick Kalla, Larry Scott Leitner, Balaram Sinharoy
-
Publication number: 20040215905Abstract: A logically-partitioned computer, program product and method utilize a flexible and adaptable communication interface between a partition and a partition manager, which permits optimal handling of partition management operations such as state change operations and the like over a wide variety of circumstances. In particular, a partition is permitted to indicate, in connection with a request to perform a partition management operation, whether an asynchronous notification should be generated or suppressed in association with the performance of the partition management operation by a partition manager. As a result, asynchronous notifications are selectively generated in association with the performance of partition management operations based upon indications in the requests made by partitions for such operations.Type: ApplicationFiled: April 24, 2003Publication date: October 28, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: William Joseph Armstrong, Naresh Nayar, Gregory Michael Nordstrom, Timothy Joseph Torzewski
-
Publication number: 20040215939Abstract: An apparatus, program product and method utilize a multithreaded processor having at least one hardware thread among a plurality of hardware threads that is capable of being selectively activated and deactivated responsive to a control circuit. The control circuit additionally provides the capability of controlling how an inactive thread can be activated after the thread has been deactivated, e.g., by enabling or disabling reactivation in response to an interrupt.Type: ApplicationFiled: April 24, 2003Publication date: October 28, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: William Joseph Armstrong, Bruce G. Mealey, Naresh Nayar, Balaram Sinharoy
-
Publication number: 20040205272Abstract: A resource and partition manager virtualizes interrupts without using any additional hardware in a way that does not disturb the interrupt processing model of operating systems running on a logical partition. In other words, the resource and partition manager supports virtual interrupts in a logically partitioned computer system that may include share processors with no changes to a logical partition's operating system. A set of virtual interrupt registers is created for each virtual processor in the system. The resource and partition manager uses the virtual interrupt registers to process interrupts for the corresponding virtual processor. In this manner, from the point of view of the operating system, the interrupt processing when the operating system is running in a logical partition that may contain shared processors and virtual interrupts is no different that the interrupt processing when the operating system is running in computer system that only contains dedicated processor partitions.Type: ApplicationFiled: March 31, 2003Publication date: October 14, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: William Joseph Armstrong, Richard Louis Arndt, Naresh Nayar
-
Publication number: 20040194096Abstract: An apparatus, program product and method support the deallocation of a data structure in a multithreaded computer without requiring the use of computationally expensive semaphores or spin locks. Specifically, access to a data structure is governed by a shared pointer that, when a request is received to deallocate the data structure, is initially set to a value that indicates to any thread that later accesses the pointer that the data structure is not available. In addition, to address any thread that already holds a copy of the shared pointer, and thus is capable of accessing the data structure via the shared pointer after the initiation of the request, all such threads are monitored to determine whether any thread is still using the shared pointer by determining whether any thread is executing program code that is capable of using the shared pointer to access the data structure.Type: ApplicationFiled: March 27, 2003Publication date: September 30, 2004Applicant: International Business Machines CorporationInventors: William Joseph Armstrong, Peter Joseph Heyrman, Naresh Nayar
-
Publication number: 20040181625Abstract: A resource and partition manager of the preferred embodiments includes a lock mechanism that operates on a plurality of locks that control access to individual hardware resources. The resource and partition manager uses the lock mechanism to obtain a lock on a hardware resource when transferring control of the hardware resource to a logical partition that is powering on and when removing the hardware resource from a logical partition that is powering off. The resource and partition manager uses the lock mechanism to remove control of a hardware resource from, or return control to, an operating logical partition in order to facilitate hardware service operations on that hardware resource or on the physical enclosure in which it is contained.Type: ApplicationFiled: March 13, 2003Publication date: September 16, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Troy David Armstrong, William Joseph Armstrong, Curtis Shannon Eide, Gregory Michael Nordstrom
-
Publication number: 20040181657Abstract: A resource and partition manager includes a power on/power off mechanism that is used to assure a hardware resource is powered down when control of the resource is removed from a logical partition, and to assure the hardware resource is powered up when control of the hardware resource is transferred to a logical partition. In the alternative, the resource and partition manager may simply place the hardware resource in a power on reset state when the hardware resource is transferred to a logical partition. In this manner, when made available to a partition, the hardware resource is in a power-on reset state, which is the state typically expected by the logical partition.Type: ApplicationFiled: March 13, 2003Publication date: September 16, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Troy David Armstrong, William Joseph Armstrong, Curtis Shannon Eide, Gregory Michael Nordstrom
-
Patent number: 6785887Abstract: A method of handling conflicts between threads, including an initiating thread and at least one other thread, for at least one shared resource in a multi-threaded processing system having a processor and memory includes setting a location in memory for each other thread on the processor with the initiating thread. The initiating thread signals an inter-processor interrupt (IPI) to all other threads on the processor. For each other thread, an interrupt handler is initiated where each other thread: acknowledges receipt of the interrupt, and proceeds to spin on the respective location in memory that was set, thereby guaranteeing that the respective other thread will not be using any shared resource of the processor.Type: GrantFiled: December 27, 2000Date of Patent: August 31, 2004Assignee: International Business Machines CorporationInventors: William Joseph Armstrong, Naresh Nayar, Kenneth Charles Vossen
-
Publication number: 20040143712Abstract: A task synchronization mechanism operates on a global lock that is shared between processors an on local locks that are not shared between processors. The local locks are processor-specific locks. Each processor-specific lock is dedicated to a particular processor in the system. When shared access to a resource is required, a processor updates its processor-specific lock to indicate the processor is sharing the resource. Because each processor-specific lock is dedicated to a particular processor, this eliminates a significant portion of the memory bus traffic associated with all processors reading and updating the same lock. When exclusive access to a resource is required, the requesting processor waits until the count of all processor-specific locks indicate that none of these processors have a lock on the resource. Once no processor has a lock on the resource, exclusive access to the resource may be granted.Type: ApplicationFiled: January 16, 2003Publication date: July 22, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: William Joseph Armstrong, Michael Joseph Corrigan, Gary Ross Ricard, Timothy Joseph Torzewski
-
Patent number: 6711700Abstract: An apparatus and method for monitoring the state of a computer system running multiple operating systems shared by a partition manager is provided. A dedicated service processor monitors the individual run state condition of a plurality of processors running a plurality of operating systems. The service processor executes a routine to poll a memory location in each processor in the system to determine if the processor has entered an error loop with interrupts disabled. If any one of the plurality of processors are in an error loop, the service processor executes a routine to send a non-maskable interrupt to the looped processor so that the partition manager may regain control of the processor.Type: GrantFiled: April 23, 2001Date of Patent: March 23, 2004Assignee: International Business Machines CorporationInventors: Troy David Armstrong, William Joseph Armstrong, Stephanie Maria Forsman, Naresh Nayar, Jeffrey Jay Scheel, Andy Wottreng
-
Patent number: 6691146Abstract: A partition manager for managing logical partitions in a computer system includes hooks to low-level operating system code in one of the logical partitions. By using the operating system code to manage the resources of a computer system, any changes that are made to the operating system are automatically reflected in the function of the partition manager. In addition, low-level functions of operating systems, which are often well-debugged and tested, can be used when generating a new partition manager, greatly simplifying the time and reducing the cost of producing a partition manager.Type: GrantFiled: May 19, 1999Date of Patent: February 10, 2004Assignee: International Business Machines CorporationInventors: Troy David Armstrong, William Joseph Armstrong, Michael Joseph Corrigan, Naresh Nayar, Thomas Rembert Sand, Jeffrey Jay Scheel, Erik Tkal, Kenneth Charles Vossen
-
Patent number: 6681240Abstract: A partitioner for creating logical partitions allows a user to specify maximum interactive performance in one partition independently of maximum interactive performance of other partitions to arrive at logical partitions that may be much different than the maximum overall interactive performance percentage of the computer system itself. First, the maximum interactive performance for a computer system is specified, and resources are allocated accordingly. Next, logical partitions may be created, which initially reflect the maximum interactive performance for the computer system as a whole. Finally, the maximum interactive performance can be specified for a partition independently of the interactive performance in other partitions. In this manner a computer system that is configured as a server system with low interactive and high batch performance can have two different partitions, one that has very low interactive performance and the other that balances interactive and batch processing.Type: GrantFiled: May 19, 1999Date of Patent: January 20, 2004Assignee: International Business Machines CorporationInventors: William Joseph Armstrong, Lynn Allen McMahon, Jeffrey Jay Scheel
-
Publication number: 20030114949Abstract: Diagnostic data, such as a time increment corresponding to how long a thread waits to access a shared resource, is stored within a predetermined location in a data structure, such as a hash bucket in a hash table. The location is preferably correlated to the resource such that a display of the diagnostic data may be tailored to reflect a user-specified relationship between the data and resource.Type: ApplicationFiled: December 17, 2001Publication date: June 19, 2003Applicant: International Business Machines CorporationInventors: William Joseph Armstrong, Ryan Harvey Bishop, Michael Brian Brutman, Chris Francois, Richard Karl Kirkman, Jay Paul Kurtz, Henry Joseph May, Naresh Nayar, Dennis A. Towne
-
Publication number: 20030055864Abstract: An apparatus, program product and method for coordinating the distribution of CPUs as among logically-partitioned virtual processors. A virtual processor may yield a CPU to precipitate an occurrence upon which its own execution may be predicated. As such, program code may dispatch the surrendered CPU to a designated virtual processor.Type: ApplicationFiled: August 24, 2001Publication date: March 20, 2003Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: William Joseph Armstrong, Chris Francois, Naresh Nayar
-
Publication number: 20030041090Abstract: An apparatus, program product and method accommodate conventional yield calls within a multithreaded processor environment by coordinating yielding threads within the hypervisor. A hypervisor coordinates the yielding threads within the hypervisor to ensure all threads on a multithreaded processor execute within the same partition or hypervisor.Type: ApplicationFiled: August 24, 2001Publication date: February 27, 2003Inventors: William Joseph Armstrong, Chris Francois, Naresh Nayar
-
Publication number: 20020156939Abstract: An apparatus and method for monitoring the state of a computer system running multiple operating systems shared by a partition manager is provided. A dedicated service processor monitors the individual run state condition of a plurality of processors running a plurality of operating systems. The service processor executes a routine to poll a memory location in each processor in the system to determine if the processor has entered an error loop with interrupts disabled. If any one of the plurality of processors are in an error loop, the service processor executes a routine to send a non-maskable interrupt to the looped processor so that the partition manager may regain control of the processor.Type: ApplicationFiled: April 23, 2001Publication date: October 24, 2002Applicant: International Business Machines CorporationInventors: Troy David Armstrong, William Joseph Armstrong, Stephanie Maria Forsman, Naresh Nayar, Jeffrey Jay Scheel, Andy Wottreng
-
Publication number: 20020156824Abstract: A processor allocation mechanism for a logically partitionable computer system allows an administrator to specify processing capability allocable to each partition as an equivalent number of processors, where the processing capability may be specified as a non-integer value. This processing capability value is unaffected by changes to the processing capability values of other partitions. The administrator may designate multiple sets of processors, assigning each physical processor of the system to a respective processor set. Each logical partition is constrained to execute in an assigned processor set, which may be shared by more than one partition. Preferably, the administrator may designate a logical partition as either capped, meaning that a partition can not use excess idle capacity of the processors, or uncapped, meaning that it can.Type: ApplicationFiled: April 19, 2001Publication date: October 24, 2002Applicant: International Business Machines CorporationInventors: William Joseph Armstrong, Mark Gregory Manges, Naresh Nayar, Jeffrey Jay Scheel, Craig Alden Wilcox