Patents by Inventor Paul Edward McKenney
Paul Edward McKenney 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: 9374325Abstract: A method for hash perturbation with queue management in data communication is provided. Using a first set of old queues corresponding to a first hash function, a set of data packets corresponding to a set of session is queued. At a first time, the first hash function is changed to a second hash function. A second set of new queues is created corresponding to the second hash function. A data packet is dequeued from a first old queue in a set of old queues. A second data packet is selected from a second queue in the set of old queues. A new hash value is computed for the second data packet using the second hash function. The second data packet is queued in a first new queue such that the second packet is in position to be delivered first from the first new queue.Type: GrantFiled: December 6, 2013Date of Patent: June 21, 2016Assignee: GLOBALFOUNDRIES INC.Inventor: Paul Edward McKenney
-
Patent number: 9178838Abstract: A system, and computer program product for hash perturbation with queue management in data communication are provided. Using a first set of old queues corresponding to a first hash function, a set of data packets corresponding to a set of session is queued. At a first time, the first hash function is changed to a second hash function. A second set of new queues is created corresponding to the second hash function. A data packet is dequeued from a first old queue in a set of old queues. A second data packet is selected from a second queue in the set of old queues. A new hash value is computed for the second data packet using the second hash function. The second data packet is queued in a first new queue such that the second packet is in position to be delivered first from the first new queue.Type: GrantFiled: September 17, 2013Date of Patent: November 3, 2015Assignee: GlobalFoundries U.S. 2 LLCInventor: Paul Edward McKenney
-
Publication number: 20150078394Abstract: A system, and computer program product for hash perturbation with queue management in data communication are provided. Using a first set of old queues corresponding to a first hash function, a set of data packets corresponding to a set of session is queued. At a first time, the first hash function is changed to a second hash function. A second set of new queues is created corresponding to the second hash function. A data packet is dequeued from a first old queue in a set of old queues. A second data packet is selected from a second queue in the set of old queues. A new hash value is computed for the second data packet using the second hash function. The second data packet is queued in a first new queue such that the second packet is in position to be delivered first from the first new queue.Type: ApplicationFiled: September 17, 2013Publication date: March 19, 2015Applicant: International Business Machines CorporationInventor: PAUL EDWARD MCKENNEY
-
Publication number: 20150078398Abstract: A method for hash perturbation with queue management in data communication is provided. Using a first set of old queues corresponding to a first hash function, a set of data packets corresponding to a set of session is queued. At a first time, the first hash function is changed to a second hash function. A second set of new queues is created corresponding to the second hash function. A data packet is dequeued from a first old queue in a set of old queues. A second data packet is selected from a second queue in the set of old queues. A new hash value is computed for the second data packet using the second hash function. The second data packet is queued in a first new queue such that the second packet is in position to be delivered first from the first new queue.Type: ApplicationFiled: December 6, 2013Publication date: March 19, 2015Applicant: International Business Machines CorporationInventor: PAUL EDWARD MCKENNEY
-
Patent number: 7831796Abstract: A method is disclosed for dynamically allocating main memory among applications. The method includes maintaining a first list and a second list, each list having a plurality of pages, maintaining a cache memory module having a selected size, and resizing the selected size by adaptively selecting the first or second list and adding pages to the selected list to increase the selected size and subtracting pages from the selected list to decrease the selected size.Type: GrantFiled: November 5, 2008Date of Patent: November 9, 2010Assignee: International Business Machines CorporationInventors: Sorav Bansal, Paul Edward McKenney, Dharmendra Shantilal Modha
-
Patent number: 7734833Abstract: Provided is a method for scheduling operations called by a task on a real-time or non-real-time processor. Execution durations are provided for operations. A call is received from a task for an operation. A determination is made of a latency requirement for a first processor and of the execution duration of the called operation. The called operation is executed on the first processor in response to determining that the determined execution duration is less than the latency requirement. The called operation is executed on a second processor in response to determining that the determined execution duration is greater than the latency requirement.Type: GrantFiled: September 8, 2005Date of Patent: June 8, 2010Assignee: International Business Machines CorporationInventor: Paul Edward McKenney
-
Patent number: 7721291Abstract: An apparatus, system, and method are provided for automatically minimizing Real-Time (RT) task latency and maximizing Non-Real Time (NRT) task throughput. The apparatus may include a task manager, a determination module, and optionally a tracking module. The task manager may execute a NRT task configured to obtain exclusive access to a resource within a multi-processor environment. The determination module identifies a RT task within the multi-processor environment that shares exclusive access to the resource with the NRT task. Optionally, the tracking module selectively executes or bypasses a preemption point associated with the NRT task in response to the RT task becoming runnable. Alternatively, the NRT task selectively executes or bypasses a predefined preemption point in response to the RT task becoming runnable.Type: GrantFiled: October 15, 2004Date of Patent: May 18, 2010Assignee: International Business Machines CorporationInventor: Paul Edward McKenney
-
Publication number: 20090055617Abstract: A method is disclosed for dynamically allocating main memory among applications. The method includes maintaining a first list and a second list, each list having a plurality of pages, maintaining a cache memory module having a selected size, and resizing the selected size by adaptively selecting the first or second list and adding pages to the selected list to increase the selected size and subtracting pages from the selected list to decrease the selected size.Type: ApplicationFiled: November 5, 2008Publication date: February 26, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sorav Bansal, Paul Edward McKenney, Dharmendra Shantilal Modha
-
Patent number: 7487320Abstract: An apparatus and system are disclosed for dynamically allocating main memory among applications. The apparatus includes a cache memory module configured to maintain a first list and a second list, each list having a plurality of pages, and a resize module configured to resize the cache by adaptively selecting the first or second list and subtracting pages from or adding pages to the selected list. The system includes the apparatus and a cache replacement module configured to adaptively distribute a workload between the first list and the second list.Type: GrantFiled: December 15, 2004Date of Patent: February 3, 2009Assignee: International Business Machines CorporationInventors: Sorav Bansal, Paul Edward McKenney, Dharmendra Shantilal Modha
-
Patent number: 6842809Abstract: An apparatus, method and computer program product for minimizing the negative effects that occur when simple locks are highly contended among processors which may or may not have identical latencies to the memory that represents a given lock, are provided. The apparatus, method and computer program product minimize these effects by converting simple locks such that they act as standard simple locks when there is no contention and act as krlocks when there is contention for a lock. In this way, the number of processors spinning on a lock is limited to a single processor, thereby reducing the number of processors that are in a wait state and not performing any useful work.Type: GrantFiled: April 12, 2001Date of Patent: January 11, 2005Assignee: International Business Machines CorporationInventors: Luke Matthew Browning, Thomas Stanley Mathews, Paul Edward McKenney, James Bernard Moody
-
Publication number: 20020199045Abstract: An apparatus, method and computer program product for minimizing the negative effects that occur when simple locks are highly contended among processors which may or may not have identical latencies to the memory that represents a given lock, are provided. The apparatus, method and computer program product minimize these effects by converting simple locks such that they act as standard simple locks when there is no contention and act as krlocks when there is contention for a lock. In this way, the number of processors spinning on a lock is limited to a single processor, thereby reducing the number of processors that are in a wait state and not performing any useful work.Type: ApplicationFiled: April 12, 2001Publication date: December 26, 2002Applicant: International Business Machines CorporationInventors: Luke Matthew Browning, Thomas Stanley Mathews, Paul Edward McKenney, James Bernard Moody
-
Patent number: 6473819Abstract: A method for a computation agent to acquire a queue lock in a multiprocessor system that prevents deadlock between the computation agent and external interrupts. The method provides for the computation agent to join a queue to acquire a lock. Next, upon receiving ownership of the lock, the computation agent raises its priority level to a higher second priority level. In response to a receipt of an external interrupt having a higher priority level occurring before the computation agent has raised its priority level to the second higher priority level, the computation agent relinquishes ownership of the lock. Subsequent to raising its priority level to the second higher priority level, the computation agent determines if it still has ownership of the lock. If the computation agent determines that it has not acquired possession of the lock after raising its priority level, the computation agent rejoins the queue to reacquire the lock.Type: GrantFiled: December 17, 1999Date of Patent: October 29, 2002Assignee: International Business Machines CorporationInventors: Benedict Joseph Jackson, Paul Edward McKenney, Ramakrishnan Rajamony, Ronald Lynn Rockhold
-
Patent number: 6247041Abstract: An apparatus and method is disclosed for allowing a user process to advise or control an operating system to place a process on a particular node or a node within a set of nodes. When a user process makes a system call to the operating system to either create, execute, move, or attach a process, a specified system resource is passed to the operating system with the system call. This advises the operating system to store the process on a node containing the system resource identified in the system call. The user process can also require the operating system to store a process on a particular node.Type: GrantFiled: August 29, 1997Date of Patent: June 12, 2001Assignee: International Business Machines CorporationInventors: Phillip Eric Krueger, Corene Casper, Kenneth Frank Dove, Brent Alan Kingsbury, Paul Edward McKenney