Patents by Inventor Youfeng Wu

Youfeng Wu 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: 7506217
    Abstract: A method and apparatus for software-based control flow checking for soft error detection. In one embodiment, the method includes the instrumentation of one basic block of a target program to update a signature register with a successor basic block signature at an end of the basic block. In addition, the basic block is instrumented to verify that contents of the signature register match a basic block signature at a beginning of the basic block. In one embodiment, an instruction is inserted within the basic block to cause the signature register to store a predetermined value if the contents of the signature register match a basic block signature. In one embodiment, a basic block may be subdivided into a plurality of regions; each region is assigned a signature and instrumented to update the signature register at a beginning of each region. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: March 17, 2009
    Assignee: Intel Corporation
    Inventors: Edson Borin, Cheng C. Wang, Youfeng Wu
  • Patent number: 7467377
    Abstract: Methods and apparatus to manage bypassing of a first cache are disclosed. In one such method, a load instruction having an expected latency greater than or equal to a predetermined threshold is identified. A request is then made to schedule the identified load instruction to have a predetermined latency. The software program is then scheduled. An actual latency associated with the load instruction in the scheduled software program is then compared to the predetermined latency. If the actual latency is greater than or equal to the predetermined latency, the load instruction is marked to bypass the first cache.
    Type: Grant
    Filed: October 22, 2002
    Date of Patent: December 16, 2008
    Assignee: Intel Corporation
    Inventors: Youfeng Wu, Li-Ling Chen
  • Publication number: 20080282257
    Abstract: Disclosed is a method for running a first code generated by a Software-based Redundant Multi-Threading (SRMT) compiler along with a second code generated by a normal compiler at runtime, the first code including a first function and a second function, the second code including a third function. The method comprises running the first function in a leading thread and a tailing thread (104); running the third function in a single thread (106), the leading thread calls the third function and running the second function in the leading thread and the tailing thread (108), the third function calls the second function. The present disclosure provides a mechanism for handling function calls wherein SRMT functions and binary functions can call each other irrespective of whether the callee function is a SRMT function or a binary function and thereby dynamically adjusts reliability and performance tradeoff based on run-time information and user selectable policies.
    Type: Application
    Filed: May 7, 2007
    Publication date: November 13, 2008
    Applicant: INTEL CORPORATION
    Inventors: Cheng Wang, Youfeng Wu
  • Publication number: 20080282116
    Abstract: Disclosed is a method for running a first code generated by a Software-based Redundant Multi-Threading (SRMT) compiler along with a second code generated by a normal compiler at runtime, the first code including a first function and a second function, the second code including a third function. The method comprises running the first function in a leading thread and a tailing thread (104); running the third function in a single thread (106), the leading thread calls the third function and running the second function in the leading thread and the tailing thread (108), the third function calls the second function. The present disclosure provides a mechanism for handling function calls wherein SRMT functions and binary functions can call each other irrespective of whether the callee function is a SRMT function or a binary function and thereby dynamically adjusts reliability and performance tradeoff based on run-time information and user selectable policies.
    Type: Application
    Filed: June 28, 2007
    Publication date: November 13, 2008
    Applicant: INTEL CORPORATION
    Inventors: Cheng Wang, Youfeng Wu
  • Patent number: 7451121
    Abstract: A method to compress microcode utilizing a genetic algorithm includes generating a population of chromosomes, each chromosome including one or more elements that indicate a cluster to which a portion of microcode memory belongs. The method further includes determining a fitness value of each chromosome and modifying the population of chromosomes based on the fitness values of the chromosomes to generate a new population of chromosomes. In addition, the method includes compressing the microcode memory using a cluster-based compression technique, wherein clusters are selected according to a chromosome from the new population with the best fitness value. Other embodiments are also disclosed.
    Type: Grant
    Filed: September 27, 2005
    Date of Patent: November 11, 2008
    Assignee: Intel Corporation
    Inventors: Youfeng Wu, Mauricio Breternitz, Jr.
  • Patent number: 7448031
    Abstract: Methods and apparatus to compile a software program to manage parallel ? caches are disclosed. In an example method, a compiler attempts to schedule a software program such that load instructions in a first set of load instructions has a first predetermine latency greater than the latency of the first cache. The compiler also marks a second set of load instructions with a latency less than the first predetermined latency to access the first cache. The compiler attempts to schedule the software program such that the load instruction in a third set have at least a second predetermined latency greater than the latency of the second cache. The compiler identifies a fourth set of load instructions in the scheduled software program having less than the second predetermined latency and marks the fourth set of load instructions to access the second cache.
    Type: Grant
    Filed: December 17, 2003
    Date of Patent: November 4, 2008
    Assignee: Intel Corporation
    Inventor: Youfeng Wu
  • Publication number: 20080244538
    Abstract: A processor virtualization abstracts the behavior of a processor instruction set architecture from an underlying micro-architecture implementation. It is capable of running any processor instruction set architecture compatible software on any micro-architecture implementation. A system wide dynamic binary translator translates source system programs to target programs and manages the execution of those target programs. It also provides the necessary and sufficient infrastructure requires to render multi-core processor virtualization.
    Type: Application
    Filed: March 26, 2007
    Publication date: October 2, 2008
    Inventors: Sreekumar R. Nair, Youfeng Wu
  • Patent number: 7430574
    Abstract: Methods are disclosed to implement bit scan operations using properties of two's complement arithmetic and compute zero index instructions. A data value may be provided and the most-significant or least-significant bit may be determined using the methods set forth herein.
    Type: Grant
    Filed: June 24, 2004
    Date of Patent: September 30, 2008
    Assignee: Intel Corporation
    Inventors: Mauricio Breternitz, Jr., Youfeng Wu, Tal Abir
  • Patent number: 7428731
    Abstract: A method, machine readable medium, and system are disclosed. In one embodiment the method comprises collecting a loop trip count continuously during runtime of a region of code being executed that contains a loop, categorizing the trip count to identify one or more code modification techniques applicable to the loop, and dynamically applying the one or more applicable code modification techniques to alter the code that relates to the loop.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: September 23, 2008
    Assignee: Intel Corporation
    Inventors: Youfeng Wu, Mauricio Breternitz, Jr.
  • Publication number: 20080162885
    Abstract: A method and apparatus for ensuring integrity of transaction exit functions is herein described. Dead local data in a transaction is prevented from overwriting local variables associated with a transaction exit function. In a write-buffering Software Transactional Memory (STM) system, a commit function is associated with a private stack to store local variables to ensure write-back of local dead data in a write-buffer does not corrupt the commit function. Similarly, in a roll-back STM, an abort function is associated with a private stack to store local variables to ensure the roll-back of a program stack with local dead data from a write log does not corrupt the abort function. Alternatively, one stack may be used for the transaction including a first function and an exit function. Here, local dead variables are detected and prevented from overwriting local variables of the exit function.
    Type: Application
    Filed: December 28, 2006
    Publication date: July 3, 2008
    Inventors: Cheng Wang, Youfeng Wu, Bratin Saha, Ali-Reza Adl-Tabatabai
  • Publication number: 20080162990
    Abstract: A method and apparatus for efficient register checkpointing is herein described. A transaction is detected in program code. A recovery block is inserted in the program code to perform recovery operations in response to an abort of the first transaction. A roll-back edge is potentially inserted from an abort point to the recovery block. A control flow edge is inserted from the recovery block to a entry point of the transaction. Checkpoint code is inserted before the entry point to backup live-in registers in backup storage elements and recovery code is inserted in the recovery block to restor the live-in registers from the backup storage elements in response to an abort of the transaction.
    Type: Application
    Filed: December 28, 2006
    Publication date: July 3, 2008
    Inventors: Cheng Wang, Youfeng Wu
  • Publication number: 20080163220
    Abstract: A method and apparatus for efficient and consistent validation/conflict detection in a Software Transactional Memory (STM) system is herein described. A version check barrier is inserted after a load to compare versions of loaded values before and after the load. In addition, a global timestamp (GTS) is utilized to track a latest committed transaction. Each transaction is associated with a local timestamp (LTS) initialized to the GTS value at the start of a transaction. As a transaction commits it updates the GTS to a new value and sets versions of modified locations to the new value. Pending transactions compare versions determined in read barriers to their LTS. If the version is greater than their LTS indicating another transaction has committed after the pending transaction started and initialized the LTS, then the pending transaction validates its read set to maintain efficient and consistent transactional execution.
    Type: Application
    Filed: December 28, 2006
    Publication date: July 3, 2008
    Inventors: Cheng Wang, Youfeng Wu, Wei-Yu Chen, Bratin Saha, Ali-Reza Adl-Tabatabai
  • Publication number: 20080147714
    Abstract: Implementation of a Bloom filter using multiple single-ported memory slices. A control value is combined with a hashed address value such that the resultant address value has the property that one, and only one, of the k memories or slices is selected for a given input value, a, for each bank. Collisions are thereby avoided and the multiple hash accesses for a given input value, a, may be performed concurrently. Other embodiments are also described and claimed.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Mauricio Breternitz, Youfeng Wu, Peter G. Sassone, Jeffrey P. Rupley, Wesley Attrot, Bryan Black
  • Publication number: 20080134159
    Abstract: In a dynamic binary translator, selecting a code segment for load-store memory disambiguation based at least in part on a measure of likelihood of frequency of execution of the code segment, heuristically identifying one or more ambiguous memory dependencies in the code segment for disambiguation by runtime checks based at least in part on inspecting instructions in the code segment, and using a pointer analysis of the code segment to identify all other ambiguous memory dependencies that can be removed by the runtime checks.
    Type: Application
    Filed: December 5, 2006
    Publication date: June 5, 2008
    Inventors: Bolei Guo, Youfeng Wu
  • Patent number: 7383543
    Abstract: A mechanism for maintaining reuse invalidation information includes a reuse buffer and a reuse invalidation buffer. The reuse buffer stores multiple instances of the reuse region. Each instance stored in the reuse buffer is identified by one or more versions. The reuse invalidation buffer contains multiple entries. Each entry in the reuse invalidation buffer includes one or more pairs of pointers pointing to instances and versions of instances held in the reuse buffer.
    Type: Grant
    Filed: April 8, 2003
    Date of Patent: June 3, 2008
    Assignee: Intel Corporation
    Inventor: Youfeng Wu
  • Publication number: 20080126764
    Abstract: Dynamic optimization of application code is performed by selecting a portion of the application code as a possible transaction. A transaction has a property that when it is executed, it is either atomically committed or atomically aborted. Determining whether to convert the selected portion of the application code to a transaction includes determining whether to apply at least one of a group of code optimizations to the portion of the application code. If it is determined to apply at least one of the code optimizations of the group of optimizations to the portion of application code, then the optimization is applied to the portion of the code and the portion of the code is converted to a transaction.
    Type: Application
    Filed: September 27, 2006
    Publication date: May 29, 2008
    Inventors: Youfeng Wu, Cheng Wang, Ho-seop Kim
  • Publication number: 20080126755
    Abstract: Methods and an apparatus for forming a transaction object instruction construct are provided. An example method translates a source instruction construct to form a transactional objective instruction construct, executes the transactional objective instruction construct, intercepts an aborted transaction associated with the transactional objective instruction construct during execution, maintains a graph of nodes and edges associated with the executed transactional objective instruction construct to predict a deadlock situation, and resolves the deadlock situation associated with the transactional objective instruction construct based on the graph.
    Type: Application
    Filed: September 26, 2006
    Publication date: May 29, 2008
    Inventors: Youfeng Wu, Cheng Wang
  • Publication number: 20080127145
    Abstract: Methods and apparatus to optimize the parallel execution of software processes are disclosed. An example method includes receiving a first software process that processes a set of data, locating a first primitive in the first software process, and decomposing the first primitive into a first set of one or more sub-primitives. The example methods and apparatus additionally perform static fusion and dynamic fusion to optimize software processes for execution in parallel processing systems.
    Type: Application
    Filed: September 29, 2006
    Publication date: May 29, 2008
    Inventors: Byoungro So, Anwar M. Ghuloum, Youfeng Wu
  • Publication number: 20080127132
    Abstract: Methods and an apparatus to form a resilient objective instruction construct are provided. An example method obtains a source instruction construct and forms a resilient objective instruction construct by compiling one or more resilient transactions.
    Type: Application
    Filed: September 29, 2006
    Publication date: May 29, 2008
    Inventors: Youfeng Wu, Cheng Wang, Ho-Seop Kim
  • Publication number: 20080120590
    Abstract: In general, in one aspect, the disclosure describes a method to detect a transaction and direct non transactional memory (TM) user functions within the transaction. The non TM user functions are treated as TM functions and added to the TM list.
    Type: Application
    Filed: November 22, 2006
    Publication date: May 22, 2008
    Inventors: Cheng Wang, Youfeng Wu, Wei-Yu Chen, Zhiwei Ying