Patents by Inventor Richard L. Hudson

Richard L. Hudson 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: 6993540
    Abstract: In one embodiment a memory management method uses a third finger fetching pointer thread operating on memory objects distributed in a second memory space between a scan pointer thread and an allocation pointer thread to fetch objects in the second memory space prior to them being scanned. The fetching thread is moved to a next memory slot in the second memory space when the scanned memory slot does not hold a pointer to an object in the first memory space. The memory object is prefetched into a cache shared with an allocation pointer thread when the scanned memory slot holds a pointer to an object in the first space.
    Type: Grant
    Filed: December 20, 2002
    Date of Patent: January 31, 2006
    Assignee: Intel Corporation
    Inventors: Richard L. Hudson, Hong Wang
  • Patent number: 6950837
    Abstract: An improved moving garbage collection algorithm is described. The algorithm allows efficient use of non-temporal stores to reduce the required time for garbage collection. Non-temporal stores (or copies) are a CPU feature that allows the copy of data objects within main memory with no interference or pollution of the cache memory. The live objects copied to new memory locations will not be accessed again in the near future and therefore need not be copied to cache. This avoids copy operations and avoids taxing the CPU with cache determinations. In a preferred embodiment, the algorithm of the present invention exploits the fact that live data objects will be stored to consecutive new memory locations in order to perform streaming copies. Since each copy procedure has an associated CPU overhead, the process of streaming the copies reduces the degradation of system performance and thus reduces the time for garbage collection.
    Type: Grant
    Filed: June 19, 2001
    Date of Patent: September 27, 2005
    Assignee: Intel Corporation
    Inventors: Sreenivas Subramoney, Richard L. Hudson
  • Publication number: 20040205313
    Abstract: A method is provided including determining if an object has been published previously, identifying the object as public according to whether the object has been published previously, identifying objects reachable from the object as public according to whether the object has been published previously, and publishing the object. An apparatus for performing the method, and an article including a machine- accessible medium that provides instructions that, if executed by a processor, will cause the processor to perform the method are also provided.
    Type: Application
    Filed: April 10, 2003
    Publication date: October 14, 2004
    Inventors: Richard L. Hudson, Hong Wang, John Shen, Weldon Washburn, James M. Stichnoth, Sreenivas Subramoney, CHRIS NEWBURN
  • Publication number: 20040122876
    Abstract: In one embodiment a memory management method uses a third finger fetching pointer thread operating on memory objects distributed in a second memory space between a scan pointer thread and an allocation pointer thread to fetch objects in the second memory space prior to them being scanned. The fetching thread is moved to a next memory slot in the second memory space when the scanned memory slot does not hold a pointer to an object in the first memory space. The memory object is prefetched into a cache shared with an allocation pointer thread when the scanned memory slot holds a pointer to an object in the first space.
    Type: Application
    Filed: December 20, 2002
    Publication date: June 24, 2004
    Inventors: Richard L. Hudson, Hong Wang
  • Patent number: 6671707
    Abstract: A method for practical concurrent copying garbage collection offering minimal thread blocking times. The method comprises achieving dynamic consistency between objects in an old memory space and objects in a new memory space. Threads are allowed to progress during garbage collection and threads are flipped one at a time. No read barrier is required.
    Type: Grant
    Filed: October 19, 1999
    Date of Patent: December 30, 2003
    Assignee: Intel Corporation
    Inventors: Richard L. Hudson, J. Eliot B. Moss
  • Patent number: 6662274
    Abstract: A method for creating a mark stack for use in a moving garbage collection algorithm is described. The algorithm of the present invention creates a mark stack to implement a MGCA. The algorithm allows efficient use of cache memory prefetch features to reduce the required time to complete the mark stack and thus reduce the time required for garbage collection. Instructions are issued to prefetch data objects that will be examined in the future, so that by the time the scan pointer reaches the data object, the cache lines for the data object are already filled. At some point after the data object is prefetched, the address location of associated data objects is likewise prefetched. Finally, the associated data objects located at the previously fetched addresses are prefetched. This reduces garbage collection by continually supplying the garbage collector with a stream of preemptively prefetched data objects that require scanning.
    Type: Grant
    Filed: June 20, 2001
    Date of Patent: December 9, 2003
    Assignee: Intel Corporation
    Inventors: Sreenivas Subramoney, Richard L. Hudson
  • Publication number: 20030074390
    Abstract: A method to support the non-blocking synchronization between threads of a multi-thread application. In one embodiment a thread switch flag (H-flag) is added to the system flags register. An instruction set allows the H-flag to be used to facilitate synchronization between application threads using resources local to the CPU. In one embodiment the instruction set may be used to generate a non-blocking object allocation algorithm. The algorithm allows the thread to complete an instruction sequence and subsequently validate the result. The present invention allows the sequence to execute and if an interruption occurs during execution, the sequence is abandoned midway and repeated. During the instruction sequence, the H-flag indicates an interruption. If the thread is interrupted, the instruction sequence is repeated. The sequence is designed to be idempotent, i.e., it can be abandoned mid-sequence and repeated without consequence.
    Type: Application
    Filed: October 12, 2001
    Publication date: April 17, 2003
    Inventor: Richard L. Hudson
  • Publication number: 20020199065
    Abstract: A method for creating a mark stack for use in a moving garbage collection algorithm is described. The algorithm of the present invention creates a mark stack to implement a MGCA. The algorithm allows efficient use of cache memory prefetch features to reduce the required time to complete the mark stack and thus reduce the time required for garbage collection. Instructions are issued to prefetch data objects that will be examined in the future, so that by the time the scan pointer reaches the data object, the cache lines for the data object are already filled. At some point after the data object is prefetched, the address location of associated data objects is likewise prefetched. Finally, the associated data objects located at the previously fetched addresses are prefetched. This reduces garbage collection by continually supplying the garbage collector with a stream of preemptively prefetched data objects that require scanning.
    Type: Application
    Filed: June 20, 2001
    Publication date: December 26, 2002
    Inventors: Sreenivas Subramoney, Richard L. Hudson
  • Publication number: 20020194210
    Abstract: An improved moving garbage collection algorithm is described. The algorithm allows efficient use of non-temporal stores to reduce the required time for garbage collection. Non-temporal stores (or copies) are a CPU feature that allows the copy of data objects within main memory with no interference or pollution of the cache memory. The live objects copied to new memory locations will not be accessed again in the near future and therefore need not be copied to cache. This avoids copy operations and avoids taxing the CPU with cache determinations. In a preferred embodiment, the algorithm of the present invention exploits the fact that live data objects will be stored to consecutive new memory locations in order to perform streaming copies. Since each copy procedure has an associated CPU overhead, the process of streaming the copies reduces the degradation of system performance and thus reduces the time for garbage collection.
    Type: Application
    Filed: June 19, 2001
    Publication date: December 19, 2002
    Inventors: Sreenivas Subramoney, Richard L. Hudson
  • Patent number: 5795232
    Abstract: A drive assembly coupler to transfer torque from a motor shaft. The coupler includes a body having a first end, a second opposed end, and an axial opening through the body extending between the ends. A first pair of opposed channels is provided in the body, each channel parallel to the other and parallel to the opening. A second pair of opposed channels is provided in the body, each channel parallel to the other and parallel to the opening. A first U-shaped insert has a threaded opening receivable in the first end and has a first pair of extending legs receivable in the first channels. A second U-shaped insert has a threaded opening receivable in the second end and has a second pair of extending legs receivable in the second channels.
    Type: Grant
    Filed: March 13, 1997
    Date of Patent: August 18, 1998
    Assignee: R. L. Hudson & Company
    Inventors: Carl R. Sitzberger, Richard L. Hudson, Thomas W. Boyer