Patents by Inventor David Paul Grove
David Paul Grove 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: 8429658Abstract: Techniques are disclosed for schedule management. By way of example, a method for managing performance of tasks of a thread associated with a processor comprises the following steps. A request to execute a task of a first task type within the thread is received. A determination is made whether the processor is currently executing a critical section of a task of a second task type within the thread. When it is determined that the processor is not executing a critical section of the second task type within the thread, the task of the first task type is executed within the thread. When it is determined that the processor is executing a critical section of the first task type within the thread, a determination is made whether the request for execution of the task of the first task type within the thread is deferrable based on a prior execution of one or more units of the first task type.Type: GrantFiled: October 16, 2008Date of Patent: April 23, 2013Assignee: International Business Machines CorporationInventors: Joshua Seth Auerbach, David Francis Bacon, Perry Cheng, David Paul Grove
-
Publication number: 20120304192Abstract: Work-stealing is efficiently extended to distributed memory using low degree, low-diameter, fully-connected directed lifeline graphs. These lifeline graphs include k-dimensional hypercubes. When a node is unable to find work after w unsuccessful steals, that node quiesces after informing the outgoing edges in its lifeline graph. Quiescent nodes do not disturb other nodes. Each quiesced node reactivates when work arrives from a lifeline, itself sharing this work with its incoming lifelines that are activated. Termination occurs when computation at all nodes has quiesced. In a language such as X10, such passive distributed termination is detected automatically using the finish construct.Type: ApplicationFiled: May 24, 2012Publication date: November 29, 2012Applicant: INTERNATIONAL BUSINESS MACHINESInventors: David Paul Grove, Prabhanjan Kambadur, Sreedhar Babu Kodali, Vijay Anand Saraswat
-
Patent number: 8205203Abstract: Techniques are disclosed for schedule management. By way of example, a method for managing performance of tasks in threads associated with at least one processor comprises the following steps. One or more units of a first task type are executed. A count of the one or more units of the first task type executed is maintained. The count represents one or more credits accumulated by the processor for executing the one or more units of a first task type. One or more units of a second task type are executed. During execution of the one or more units of a second task type, a request to execute at least one further unit of the first task type is received. The amount of credits in the count is checked. When it is determined that there is sufficient credit in the count, the request to execute the at least one further unit of the first task type is forgone, and execution of the one or more units of the second task type continues.Type: GrantFiled: October 16, 2008Date of Patent: June 19, 2012Assignee: International Business Machines CorporationInventors: Joshua Seth Auerbach, David Francis Bacon, Perry Cheng, David Paul Grove
-
Patent number: 7917737Abstract: A method of performing data and pointer compression includes, in a buffer which is formed between a processor and a level one cache and stores plural tags and full-word values associated with the tags, when the buffer is presented with an address, breaking the address into a line number which indexes a set of the full-word values, and a tag which is used as a key to determine whether a value in the set of full-word values includes a value associated with the presented address, if a tag in the presented address matches a tag in the buffer, returning a full-word value in the buffer which is associated with the tag, and storing the returned full-word value in a destination register of an instruction which originated the presented address, and if a tag in the presented address does not match a tag in the buffer, generating a fault and branching control to a pre-defined handler.Type: GrantFiled: October 22, 2008Date of Patent: March 29, 2011Assignee: International Business Machines CorporationInventors: David Francis Bacon, Perry Cheng, David Paul Grove
-
Publication number: 20100198885Abstract: A method of executing a task includes executing, by using a processor, a first task including a low-frequency task in which garbage is collected using a garbage collector, initializing a second task including a high-frequency task by constructing an instance of a class that implements a standard runnable thread interface, and creating a data structure for supporting communication between the second task and lower priority threads, the data structure being accessible by a thread running in a garbage-collected heap in the first task to communicate data between the high-frequency task and the low-frequency task, validating the second task to ensure that the second task is executable without synchronizing with the first task, instantiating the second task to create a class for executing the second task; and after the instantiating the second task, executing the second task, the garbage collector being preemptable by the second task.Type: ApplicationFiled: April 7, 2010Publication date: August 5, 2010Applicant: International Business Machines CorporationInventors: David Francis Bacon, Perry Sze-Din Cheng, David Paul Grove, Daniel J. Spoonhower
-
Patent number: 7756911Abstract: A method (and system) for executing a task includes executing a first task in which garbage is collected using a garbage collector, and executing a second task, the garbage collector being preemptable (e.g., preempted) by the second task.Type: GrantFiled: June 9, 2006Date of Patent: July 13, 2010Assignee: International Business Machines CorporationInventors: David Francis Bacon, Perry Sze-Din Cheng, David Paul Grove, Daniel J. Spoonhower
-
Publication number: 20100107168Abstract: Techniques are disclosed for schedule management. By way of example, a method for managing performance of tasks in threads associated with at least one processor comprises the following steps. One or more units of a first task type are executed. A count of the one or more units of the first task type executed is maintained. The count represents one or more credits accumulated by the processor for executing the one or more units of a first task type. One or more units of a second task type are executed. During execution of the one or more units of a second task type, a request to execute at least one further unit of the first task type is received. The amount of credits in the count is checked. When it is determined that there is sufficient credit in the count, the request to execute the at least one further unit of the first task type is forgone, and execution of the one or more units of the second task type continues.Type: ApplicationFiled: October 16, 2008Publication date: April 29, 2010Inventors: Joshua Seth Auerbach, David Francis Bacon, Perry Cheng, David Paul Grove
-
Publication number: 20100100575Abstract: Techniques are disclosed for schedule management. By way of example, a method for managing performance of tasks of a thread associated with a processor comprises the following steps. A request to execute a task of a first task type within the thread is received. A determination is made whether the processor is currently executing a critical section of a task of a second task type within the thread. When it is determined that the processor is not executing a critical section of the second task type within the thread, the task of the first task type is executed within the thread. When it is determined that the processor is executing a critical section of the first task type within the thread, a determination is made whether the request for execution of the task of the first task type within the thread is deferrable based on a prior execution of one or more units of the first task type.Type: ApplicationFiled: October 16, 2008Publication date: April 22, 2010Inventors: Joshua Seth Auerbach, David Francis Bacon, Perry Cheng, David Paul Grove
-
Patent number: 7596569Abstract: A system includes a processor for executing a collector program to perform a method (e.g., a method of collection). The method includes using an object model during a collection phase that is different than an object model used during program execution. The processor may also perform a method including assigning a hash code to at least some objects, and consulting a structure that maintains a mapping of objects to hashcode values to determine said hashcode for one of said objects. The processor may also perform a method including storing a class pointer and garbage collector state information in a single word, and accessing said class pointer by masking out non-class bits.Type: GrantFiled: September 24, 2004Date of Patent: September 29, 2009Assignee: International Business Machines CorporationInventors: David Francis Bacon, Perry Sze-Din Cheng, David Paul Grove
-
Publication number: 20090049282Abstract: A method of performing data and pointer compression includes, in a buffer which is formed between a processor and a level one cache and stores plural tags and full-word values associated with the tags, when the buffer is presented with an address, breaking the address into a line number which indexes a set of the full-word values, and a tag which is used as a key to determine whether a value in the set of full-word values includes a value associated with the presented address, if a tag in the presented address matches a tag in the buffer, returning a full-word value in the buffer which is associated with the tag, and storing the returned full-word value in a destination register of an instruction which originated the presented address, and if a tag in the presented address does not match a tag in the buffer, generating a fault and branching control to a pre-defined handler.Type: ApplicationFiled: October 22, 2008Publication date: February 19, 2009Applicant: International Business Machines CorporationInventors: David F. Bacon, Perry Cheng, David Paul Grove
-
Patent number: 7457940Abstract: A system and method for managing data includes executing a set of instructions which are used for operating on compressed data and another set of instructions (e.g., different instructions) which are used for operating on uncompressed data.Type: GrantFiled: November 16, 2004Date of Patent: November 25, 2008Assignee: International Business Machines CorporationInventors: David Francis Bacon, Perry Cheng, David Paul Grove
-
Publication number: 20070288538Abstract: A method (and system) for executing a task includes executing a first task in which garbage is collected using a garbage collector, and executing a second task, the garbage collector being preemptable (e.g., preempted) by the second task.Type: ApplicationFiled: June 9, 2006Publication date: December 13, 2007Applicant: International Business Machines CorporationInventors: David Francis Bacon, Perry Sze-Din Cheng, David Paul Grove, Daniel J. Spoonhower