Patents by Inventor Neil A. Campbell
Neil A. Campbell 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).
-
Patent number: 9471292Abstract: Generally, this disclosure provides systems, methods and computer readable media for binary translation (BT) reuse. The system may include a (BT) module to translate a region of code from a first instruction set architecture (ISA) to a second ISA, for execution associated with a first process. The BT module may also be configured to store a first physical page number associated with the translated code and the first process. The system may also include a processor to execute the translated code and to update a virtual address instruction pointer associated with the execution. The system may further include a translation reuse module to validate the translated code for reuse by a second process. The validation may include generating a second physical page number based on a page table mapping of the updated virtual address instruction pointer and matching the second physical page number to the stored first physical page number.Type: GrantFiled: April 18, 2014Date of Patent: October 18, 2016Assignee: Intel CorporationInventors: David N. Mackintosh, John H. Kelm, Neil A. Campbell
-
Patent number: 9323551Abstract: A technique of modifying a code sequence for a processor includes identifying a set of one or more target instructions in the code sequence. A replacement instruction is selected that includes a set of replacement instruction parts. A length of each of the replacement instruction parts corresponds to a minimum instruction length for an instruction set of the processor. The replacement instruction parts include a first instruction type and one or more second instruction types that are each configured as exception instructions if processed in isolation from the first instruction type. The replacement instruction is then substituted for the set of one or more target instructions in the code sequence for processing by the processor.Type: GrantFiled: January 6, 2012Date of Patent: April 26, 2016Assignee: International Business Machines CorporationInventor: Neil A. Campbell
-
Patent number: 9256448Abstract: Embodiments include determining a set of two or more processes that share at least one of a plurality of resources in a multi-node system in which the processes are running, wherein each of the set of two or more processes is running one different nodes of the multi-node system. For each combination of the set of processes and the resources, a value is calculated based, at least in part, on a weight of the resource and frequency of access of the resource by each process of the set of processes. The pair of processes having a greatest sum of calculated values by resource is determined. A first process of the pair of processes is allocated from a first node in the multi-node system to a second node in the multi-node system that hoses a second process of the pair of processes.Type: GrantFiled: September 30, 2013Date of Patent: February 9, 2016Assignee: International Business Machines CorporationInventors: Neil A. Campbell, Chaitanya Mangla
-
Patent number: 8954765Abstract: A method allocates energy entitlement to a logical partition (LPAR) executing on a data processing system. An energy entitlement allocation (EEA) utility enables an administrator to specify a minimum and/or maximum energy entitlement and an LPAR priority. When the relevant LPARs utilize the respective minimum energy entitlement based on a respective energy consumption, the EEA utility determines whether the LPAR(s) has satisfied a respective maximum energy entitlement. When the LPAR has not satisfied its maximum energy entitlement, the EEA utility allocates unused energy entitlement from the data processing system to the LPAR, according to an allocation policy. Additionally, the EEA utility dynamically adjusts a priority level for the LPAR to efficiently control resource allocation, according to the LPAR's energy consumption relative to its energy entitlement.Type: GrantFiled: September 15, 2012Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Alexander B. Brown, Neil A. Campbell, Ryan J. Cocks
-
Publication number: 20140033220Abstract: Embodiments include determining a set of two or more processes that share at least one of a plurality of resources in a multi-node system in which the processes are running, wherein each of the set of two or more processes is running one different nodes of the multi-node system. For each combination of the set of processes and the resources, a value is calculated based, at least in part, on a weight of the resource and frequency of access of the resource by each process of the set of processes. The pair of processes having a greatest sum of calculated values by resource is determined. A first process of the pair of processes is allocated from a first node in the multi-node system to a second node in the multi-node system that hoses a second process of the pair of processes.Type: ApplicationFiled: September 30, 2013Publication date: January 30, 2014Applicant: International Business Machines CorporationInventors: Neil A. Campbell, Chaitanya Mangla
-
Publication number: 20130046998Abstract: A system and computer program product allocates energy entitlement to a logical partition (LPAR) executing on a data processing system. An energy entitlement allocation (EEA) utility enables an administrator to specify a minimum and/or maximum energy entitlement and An LPAR priority. When the relevant LPARs utilize the respective minimum energy entitlement based on respective energy consumption, the EEA utility determines whether the LPAR (and other LPARs) has satisfied a respective maximum energy entitlement. When the LPAR has not satisfied its maximum energy entitlement, the EEA utility allocates unused energy entitlement from the data processing system to the LPAR, according to an allocation policy. Additionally, the EEA utility dynamically adjusts a priority level for the LPAR to efficiently control resource allocation, according to the LPAR's energy consumption relative to its energy entitlement.Type: ApplicationFiled: August 17, 2011Publication date: February 21, 2013Applicant: IBM CorporationInventors: Alexander B. Brown, Neil A. Campbell, Ryan J. Cocks
-
Publication number: 20130047006Abstract: A method allocates energy entitlement to a logical partition (LPAR) executing on a data processing system. An energy entitlement allocation (EEA) utility enables an administrator to specify a minimum and/or maximum energy entitlement and an LPAR priority. When the relevant LPARs utilize the respective minimum energy entitlement based on a respective energy consumption, the EEA utility determines whether the LPAR(s) has satisfied a respective maximum energy entitlement. When the LPAR has not satisfied its maximum energy entitlement, the EEA utility allocates unused energy entitlement from the data processing system to the LPAR, according to an allocation policy. Additionally, the EEA utility dynamically adjusts a priority level for the LPAR to efficiently control resource allocation, according to the LPAR's energy consumption relative to its energy entitlement.Type: ApplicationFiled: September 15, 2012Publication date: February 21, 2013Applicant: IBM CorporationInventors: Alexander B. Brown, Neil A. Campbell, Ryan J. Cocks
-
Publication number: 20120179897Abstract: A technique of modifying a code sequence for a processor includes identifying a set of one or more target instructions in the code sequence. A replacement instruction is selected that includes a set of replacement instruction parts. A length of each of the replacement instruction parts corresponds to a minimum instruction length for an instruction set of the processor. The replacement instruction parts include a first instruction type and one or more second instruction types that are each configured as exception instructions if processed in isolation from the first instruction type. The replacement instruction is then substituted for the set of one or more target instructions in the code sequence for processing by the processor.Type: ApplicationFiled: January 6, 2012Publication date: July 12, 2012Inventor: Neil A. Campbell
-
Publication number: 20120117355Abstract: A dynamic binary translator apparatus, method and program for translating a first block of binary computer code intended for execution in a subject execution environment having a first memory of one page size into a second block for execution in a second execution environment having a second memory of another page size, comprising a redirection page mapper responsive to a page characteristic of the first memory for mapping an address of the first memory to an address of the second memory; a memory fault behaviour detector operable to detect memory faulting during execution of the second block and to accumulate a fault count to a trigger threshold; and a regeneration component responsive to the fault count reaching the trigger threshold to discard the second block and cause the first block to be retranslated with its memory references remapped by a page table walk.Type: ApplicationFiled: November 8, 2011Publication date: May 10, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Neil A. Campbell, Geraint North, Graham Woodward
-
Patent number: 4881177Abstract: An ultrasonic scanning system for testing large curved components of fiber/resin matrix composite material, the system ultrasonically testing these components with water jet probes caliper-mounted on the working arm of an industrial robot. The computer reads CAD data appertaining to the component, transfers it to robot-compatible form and delivers it on demand to the robot computer. The computer also reads the data output from the probe and reconciles it with the CAD data to yield as an output a quality map of the component. Instantaneous probe position on the surface of the work piece is computed from data on the starting position of the scanning movement of the probe, and the scanning velocity of the probe.Type: GrantFiled: April 28, 1986Date of Patent: November 14, 1989Assignee: Short Brothers PLCInventors: James H. McClean, Neil A. Campbell, Iain M. Reid