Patents by Inventor Andrew Dunshea
Andrew Dunshea 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: 7861051Abstract: A system and method for implementing a fast file synchronization in a data processing system. A memory management unit divides a file stored in system memory into a collection of data block groups. In response to a master (e.g., processing unit, peripheral, etc.) modifying a first data block group among the collection of data block groups, the memory management unit writes a first block group number associated with the first data block group to system memory. In response to a master modifying a second data block group, the memory management unit writes the first data block group to a hard disk drive and writes a second data block group number associated with the second data block group to system memory. In response to a request to update modified data block groups of the file stored in the system memory to the hard disk drive, the memory management unit writes the second data block to the hard disk drive.Type: GrantFiled: June 20, 2008Date of Patent: December 28, 2010Assignee: International Business Machines CorporationInventors: Jos M. Accapadi, Mathew Accapadi, Andrew Dunshea, Dirk Michel
-
Patent number: 7853771Abstract: A method, system, device, and article of manufacture for use in a computer memory system utilizing multiple page types, for handling a memory resource request. In a accordance with the method of the invention, a request is received for allocation of pages having a first page type. The first page type has a specified allocation limit. A determination is made in response to the page allocation request of whether the number of allocated pages of the first page type exceeds or is below the allocation limit. In response to determining that the number of allocated pages of said first page type is below the allocation limit, the virtual memory manager enables allocation of pages for the request to exceed the allocation limit.Type: GrantFiled: April 12, 2005Date of Patent: December 14, 2010Assignee: International Business Machines CorporationInventors: Andrew James Declercq, Andrew Dunshea, Matthew John Harding, Zachary Merlynn Loafman
-
Patent number: 7844859Abstract: A computer implemented method, apparatus, and computer usable program product for utilizing instruction trace registers. In one embodiment, a value in a target processor register in a plurality of processor registers is updated in response to executing an instruction associated with program code. In response to updating the value in the target processor register, an address for the instruction is copied from an instruction address register into an instruction trace register associated with the target processor register. The instruction trace register holds the address of the instruction that updated the value stored in the target processor register.Type: GrantFiled: October 25, 2007Date of Patent: November 30, 2010Assignee: International Business Machines CorporationInventors: Jos Manuel Accapadi, Andrew Dunshea, Miho Ogishima, Suzanne Shi
-
Patent number: 7831980Abstract: Scheduling threads in a multi-processor computer system including establishing an interrupt threshold for a thread, where the interrupt threshold represents a maximum permissible number of interrupts during thread execution on a processor; executing the thread on a current processor, where the thread has thread affinity for one or more processors including the current processor; counting a number of interrupts during execution of the thread on the current processor; and removing thread affinity for the current processor in dependence upon the counted number of interrupts and the interrupt threshold.Type: GrantFiled: March 25, 2008Date of Patent: November 9, 2010Assignee: International Business Machines CorporationInventors: Jos M. Accapadi, Herman D. Dierks, Jr., Andrew Dunshea, Dirk Michel
-
Patent number: 7788455Abstract: A method, system, and program for managing memory page requests in a multi-processor data processing system determines a threshold value of available memory, and dynamically adjusts an allocation time to fulfill a page request if the available memory is below a threshold value. The allocation time to fulfill the page request is based upon a percentage of available memory pages once a page stealer commences a scan for pages. An allocation wait time is inversely proportionally adjusted depending upon the percentage of available memory. The allocation wait time has a duration that increases in time as the percentage of available memory decreases and decreases in time as the percentage of available memory increases. More specifically, an average time per page to allocate a page including a scan time for the scan in computing the average time is determined. Then a tunable value is applied to the average time to determine a wait time.Type: GrantFiled: June 5, 2009Date of Patent: August 31, 2010Assignee: International Business Machines CorporationInventors: Andrew Dunshea, Jos Manuel Accapadi, Catherine Moriarty Nunez
-
Patent number: 7752620Abstract: Administration of locks for critical sections of computer programs in a computer that supports a multiplicity of logical partitions that include determining by a thread executing on a virtual processor executing in a time slice on a physical processor whether an expected lock time for a critical section of the thread exceeds a remaining entitlement of the virtual processor in the time slice and deferring acquisition of a lock if the expected lock time exceeds the remaining entitlement.Type: GrantFiled: June 6, 2005Date of Patent: July 6, 2010Assignee: International Business Machines CorporationInventors: Jos M. Accapadi, Andrew Dunshea, Sujatha Kashyap
-
Publication number: 20100161934Abstract: Disclosed is a computer implemented method, computer program product, and apparatus for maintaining a preselect list. The method comprises software components detecting a page fault of a memory page. In response to detecting a page fault, the software components determine whether the memory page is referenced in the preselect list and unhide the memory page. Upon determining whether the memory page is referenced in the preselect list, the software components remove an entry of the preselect list corresponding to the memory page to form at least one removed candidate page and skip paging-out of the at least one removed candidate page.Type: ApplicationFiled: December 19, 2008Publication date: June 24, 2010Applicant: International Business Machines CorporationInventors: Abraham Alvarez, Andrew Dunshea, Douglas J. Griffith
-
Patent number: 7721047Abstract: In view of the foregoing, the shortcomings of the prior art cache optimization techniques, the present invention provides an improved method, system, and computer program product that can optimize cache utilization. In one embodiment, an application requests a kernel cache map from a kernel service and the application receives the kernel. The application designs an optimum cache footprint for a data set from said application. The objects, advantages and features of the present invention will become apparent from the following detailed description. In one embodiment of the present invention, the application transmits a memory reallocation order to a memory manager. In one embodiment of the present invention, the step of the application transmitting a memory reallocation order to the memory manager further comprises the application transmitting a memory reallocation order containing the optimum cache footprint to the memory manager.Type: GrantFiled: December 7, 2004Date of Patent: May 18, 2010Assignee: International Business Machines CorporationInventors: Andrew Dunshea, Diane Garza Flemming
-
Patent number: 7698707Abstract: Identifying compatible threads in a Simultaneous Multithreading (SMT) processor environment is provided by calculating a performance metric, such as cycles per instruction (CPI), that occurs when two threads are running on the SMT processor. The CPI that is achieved when both threads were executing on the SMT processor is determined. If the CPI that was achieved is better than the compatibility threshold, then information indicating the compatibility is recorded. When a thread is about to complete, the scheduler looks at the run queue from which the completing thread belongs to dispatch another thread. The scheduler identifies a thread that is (1) compatible with the thread that is still running on the SMT processor (i.e., the thread that is not about to complete), and (2) ready to execute. The CPI data is continually updated so that threads that are compatible with one another are continually identified.Type: GrantFiled: February 25, 2008Date of Patent: April 13, 2010Assignee: International Business Machines CorporationInventors: Jos Manuel Accapadi, Andrew Dunshea, Dirk Michel, Mysore Sathyanarayana Srinivas
-
Patent number: 7698529Abstract: A method is provided for a data processing system configured to include multiple logical partitions, wherein resources of the system are selectively allocated among respective partitions. In the method, an entity such as a Partition Load Manager or a separate background process is used to manage resources based on locality levels. The method includes the step of evaluating the allocation of resources to each of the partitions at a particular time, in order to select a partition having at least one resource considered to be of low desirability due to its level of locality with respect to the selected partition. The method further comprises identifying each of the other partitions that has a resource matching the resource of low desirability, and determining the overall benefit to the system that would result from trading the resource of low desirability for the matching resource of each of the identified partitions.Type: GrantFiled: January 10, 2007Date of Patent: April 13, 2010Assignee: International Business Machines CorporationInventors: Jos Manuel Accapadi, Andrew Dunshea, Diane Garza Flemming, Catherine Moriarty Nunez
-
Publication number: 20100082855Abstract: Input/output (I/O) requests generated by processes are typically stored in I/O queues. Because the queued I/O requests may not be associated with the processes that generated them, changing a process' priority may not affect the priority of the I/O requests generated by the process. Therefore, after the process' priority has been increased, it may be forced to wait for an I/O handler to service its I/O request, which may be stuck behind an I/O request generated by a lower priority process. Functionality can be implemented to associate the processes' priorities with the I/O requests generated by the processes. Also, reordering the queued I/O requests to reflect changes in the processes' priorities can ensure that the I/O requests from high priority processes are serviced before the I/O requests from low priority processes. This can ensure efficient processing and lower wait times for high priority processes.Type: ApplicationFiled: September 29, 2008Publication date: April 1, 2010Applicant: Internatinal Business Machines CorporationInventors: Jos Accapadi, Andrew Dunshea, Vandana Mallempati, Agustin Mena, III
-
Patent number: 7676808Abstract: A system and method for scheduling threads in a Simultaneous Multithreading (SMT) processor environment utilizing multiple SMT processors is provided. Poor performing threads that are being run on each of the SMT processors are identified. After being identified, the poor performing threads are moved to a different SMT processor. Data is captured regarding the performance of threads. In one embodiment, this data includes each threads' CPI value. When a thread is moved, data regarding the thread and its performance at the time it was moved is recorded along with a timestamp. The data regarding previous moves is used to determine whether a thread's performance is improved following the move.Type: GrantFiled: December 13, 2007Date of Patent: March 9, 2010Assignee: International Business Machines CorporationInventors: Jos Manuel Accapadi, Andrew Dunshea, Dirk Michel, Mysore Sathyanarayana Srinivas
-
Publication number: 20100017576Abstract: Some embodiments comprise a method for selecting data to be transferred to a storage space of virtual memory and include identifying a set of data and determining subsets. Determining subsets may allow for delays before transferring the subsets and allow access to memory of the subsets during the delays. Accesses during the delays may enable embodiments to select other data to be transferred to the storage space and prevent transference of the accessed data. Other embodiments comprise apparatuses that have a paging space, a page identifier, and a page transferrer to transfer pages to the paging space after a delay. The delay may prevent a number of pages from being transferred to the paging space, such as for pages that were accessed during the delay.Type: ApplicationFiled: July 16, 2008Publication date: January 21, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Shashidhar Bomma, Andrew Dunshea, Douglas J. Griffith, Jean-Philippe Sugarbroad
-
Publication number: 20090323527Abstract: Methods and arrangements of network communications are discussed. Embodiments include transformations, code, state machines or other logic to determine an average rate of duplicate packets per connection for packets received by a node over an interface. The embodiment may involve selecting a connection from the connections established over the interface, determining that a rate of duplicate packets for the selected connection exceeds the average rate of duplicate packets by a threshold percentage, and sending a message to a transmitter of the duplicate packets over the connection to increase a timeout interval to retransmit packets. Another embodiment may provide an apparatus for increasing a timeout interval to retransmit packets. Still another embodiment may provide a computer program produce for increasing a timeout interval to retransmit packets.Type: ApplicationFiled: June 27, 2008Publication date: December 31, 2009Applicant: International Business Machines CorporationInventors: Jos M. Accapadi, Andrew Dunshea, Gary L. Nevling
-
Publication number: 20090254730Abstract: A method, system, and program for managing memory page requests in a multi-processor data processing system determines a threshold value of available memory, and dynamically adjusts an allocation time to fulfill a page request if the available memory is below a threshold value. The allocation time to fulfill the page request is based upon a percentage of available memory pages once a page stealer commences a scan for pages. An allocation wait time is inversely proportionally adjusted depending upon the percentage of available memory. The allocation wait time has a duration that increases in time as the percentage of available memory decreases and decreases in time as the percentage of available memory increases. More specifically, an average time per page to allocate a page including a scan time for the scan in computing the average time is determined. Then a tunable value is applied to the average time to determine a wait time.Type: ApplicationFiled: June 5, 2009Publication date: October 8, 2009Applicant: International Business Machines CorporationInventors: Andrew Dunshea, Jos Manuel Accapadi, Catherine Moriarty Nunez
-
Publication number: 20090248809Abstract: A method facilitates instant message (IM) session transfer of messages intended for an IM user to a new IM session being established by the user. Existing IM sessions may be queried for active IM sessions when the user is connecting to an instant message service. If there is an active session for the user, the IM server will request the content and sender of active messages waiting for the user, and transfer this information to the new IM session being established for the user. In this way, the user does not “miss” IM message(s) intended for him or her while going between existing, active IM sessions and new IM sessions. As used herein, session or sessions refer to IM session or IM sessions.Type: ApplicationFiled: March 28, 2008Publication date: October 1, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Aruna Yedavilli, Andrew Dunshea, Suzanne Shi, Jos Manuel Accapadi
-
Patent number: 7552303Abstract: A method, system, and program for managing memory page requests in a multi-processor data processing system determines a threshold value of available memory, and dynamically adjusts an allocation time to fulfill a page request if the available memory is below a threshold value. The allocation time to fulfill the page request is based upon a percentage of available memory pages once a page stealer commences a scan for pages. An allocation wait time is inversely proportionally adjusted depending upon the percentage of available memory. The allocation wait time has a duration that increases in time as the percentage of available memory decreases and decreases in time as the percentage of available memory increases. More specifically, an average time per page to allocate a page including a scan time for the scan in computing the average time is determined. Then a tunable value is applied to the average time to determine a wait time.Type: GrantFiled: December 14, 2004Date of Patent: June 23, 2009Assignee: International Business Machines CorporationInventors: Andrew Dunshea, Jos Manuel Aecapadi, Catherine Moriarty Nunez
-
Patent number: 7543124Abstract: A computer-implemented system, method, and program product is disclosed for managing memory pages in a memory that includes a page replacement function. The method includes detecting that a sequence of pages is read by an application into the memory. The method continues by initiating a read-ahead to access a plurality of pages including the sequence of pages and a next page that has not yet been read, and storing the plurality in a page frame table of the memory. During the read-ahead, the method sets a soft-pin bit in the page frame table corresponding to each of the pages of the plurality of pages in the read-ahead. Each the soft-pin bit temporarily reserves its respective page from replacement by the page replacement function.Type: GrantFiled: July 9, 2008Date of Patent: June 2, 2009Assignee: International Business Machines CorporationInventors: Mathew Accapadi, Dirk Michel, Andrew Dunshea, Jos M. Accapadi
-
Publication number: 20090118839Abstract: A computer implemented methods data processing system, and computer program product for configuring a partition with needed system resources to enable an application to run and process in a secure environment. Upon receiving a command to create a short lived secure partition for a secure application, a short lived secure partition is created in the data processing system. This short lived secure partition is inaccessible by superusers or other applications. System resources comprising physical resources and virtual allocations of the physical resources are allocated to the short lived secure partition. Hardware and software components needed to run the secure application are loaded into the short lived secure partition.Type: ApplicationFiled: November 6, 2007Publication date: May 7, 2009Inventors: Jos Manuel Accapadi, Andrew Dunshea, Lynne Marie Weber, Linda Ann Zimmer
-
Publication number: 20090113239Abstract: A computer implemented method, apparatus, and computer usable program product for utilizing instruction trace registers. In one embodiment, a value in a target processor register in a plurality of processor registers is updated in response to executing an instruction associated with program code. In response to updating the value in the target processor register, an address for the instruction is copied from an instruction address register into an instruction trace register associated with the target processor register. The instruction trace register holds the address of the instruction that updated the value stored in the target processor register.Type: ApplicationFiled: October 25, 2007Publication date: April 30, 2009Inventors: Jos Manuel Accapadi, Andrew Dunshea, Miho Ogishima, Suzanne Shi