Patents by Inventor Huayong Wang

Huayong Wang 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: 8589896
    Abstract: Apparatus and methods are provided for controlling the loading status of DLLs. Specifically, a streaming program compiler is provided. The compiler includes operation modules for calling DLLs during streaming program execution; association table generating units for generating association tables according to user-defined rules, where the association table includes entries indicating (i) stream branches of the streaming program and (ii) an operation module corresponding to the stream branches; and a trigger generating unit for generating a trigger based on user-defined rules, where the trigger generating unit (i) determines which conditions for loading and unloading DLLs fit the streaming program, (ii) matches these conditions to a particular stream branch to identify a matched stream branch, and (iii) sends out triggering signals indicating the matched stream branch. This invention also provides a corresponding method and controller.
    Type: Grant
    Filed: October 28, 2009
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Rui Hou, Zhi Yu Liu, Huayong Wang, Yan Qi Wang
  • Patent number: 8457943
    Abstract: Techniques for simulating a multiprocessor system. Aspects of the present invention are based on such an observation that most memory accesses from different simulated processors do not conflict, and therefore the conservative policy for performing synchronization of all the memory accesses can waste a large amount of processing time. By identifying possibly conflicting memory accesses and only performing synchronization of these memory accesses, the synchronization cost can be reduced considerably. Since the function simulator is able to operate faster and to perform the same memory accesses, the possibly conflicting memory accesses can be identified by first executing the function simulator.
    Type: Grant
    Filed: February 27, 2008
    Date of Patent: June 4, 2013
    Assignee: International Business Machines Corporation
    Inventors: Huayong Wang, Kun Wang, Honesty C. Young
  • Patent number: 8448173
    Abstract: A method, apparatus, and computer readable article of manufacture for executing a transaction by a processor apparatus that includes a plurality of hardware threads. The method includes the steps of: creating a main software thread for executing the transaction; creating a helper software thread for executing a barrier function; executing the main software thread and the helper software thread using the plurality of hardware threads; deciding whether the execution of the barrier function is required; executing the barrier function by the helper software thread; and returning to the main software thread. The step of executing the barrier function includes: stalling the main software thread; activating the helper software thread; and exiting the helper software thread in response to completion of the execution.
    Type: Grant
    Filed: January 12, 2010
    Date of Patent: May 21, 2013
    Assignee: International Business Machines Corporation
    Inventor: Huayong Wang
  • Patent number: 8397050
    Abstract: A Simulator and a simulating method for running a guest program in a host are disclosed. The simulator includes: an initialization device configured for setting content of a hypervisor page table in the host, the hypervisor page table mapping a guest physical address space to a host physical address space. The simulator further includes a binary translation device configured for employing a program logical address to perform a memory access in code translation. The simulator also includes a miss handling device configured for updating a guest translation look-aside buffer by treating a miss in a host translation look-aside buffer caused by the execution of the translated code as a miss in the guest translation look-aside buffer, wherein the host translation look-aside buffer is configured to buffer entries for mapping addresses in a guest program logical address space to addresses in the guest physical address space.
    Type: Grant
    Filed: December 8, 2009
    Date of Patent: March 12, 2013
    Assignee: International Business Machines Corporation
    Inventors: Xiao Tao Chang, Huayong Wang, Kun Wang, Yu Zhang
  • Publication number: 20120324038
    Abstract: In view of the characteristics of distributed applications, the present invention proposes a technical solution for applying a shared memory on an NIC comprising: a shared memory configured to provide shared storage space for a task of a distributed application, and a microcontroller. Furthermore, the present invention provides a computer device that includes the above-mentioned NIC, a method for controlling a read/write operation on a shared memory of a NIC, and a method for invoking the NIC. The use of the technical solution provided in the present invention bypasses the processing of network protocol stack, avoids the time delay introduced by the network protocol stack. The present invention does not need to perform TCP/IP encapsulation on the data packet, thus greatly saving additional packet header and packet tail overheads generated from the TCP/IP layer data encapsulation.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 20, 2012
    Applicant: International Business Machines Corporation
    Inventors: Ying Chen, Yan Li, Qiming Teng, Huayong Wang
  • Patent number: 8321443
    Abstract: An Open Database Connectivity (ODBC) proxy infrastructure to transparently route incoming queries to one or more selected query engines. The ODBC proxy receives a query from an application, and determines based on the characteristics of the query and the capabilities of the query engines which one or more query engines are to perform the query. The proxy then routes the query to the one or more query engines, which perform the query. The results are then returned to the proxy, which provides the results to the application.
    Type: Grant
    Filed: September 7, 2010
    Date of Patent: November 27, 2012
    Assignee: International Business Machines Corporation
    Inventors: Henrique Andrade, Bugra Gedik, Martin J. Hirzel, Robert J. Soule, Huayong Wang, Kun-Lung Wu, Qiong Zou
  • Publication number: 20120221671
    Abstract: In view of the characteristics of distributed applications, the present invention proposes a technical solution for applying a shared memory on an NIC comprising: a shared memory configured to provide shared storage space for a task of a distributed application, and a microcontroller. Furthermore, the present invention provides a computer device that includes the above-mentioned NIC, a method for controlling a read/write operation on a shared memory of a NIC, and a method for invoking the NIC. The use of the technical solution provided in the present invention bypasses the processing of network protocol stack, avoids the time delay introduced by the network protocol stack. The present invention does not need to perform TCP/IP encapsulation on the data packet, thus greatly saving additional packet header and packet tail overheads generated from the TCP/IP layer data encapsulation.
    Type: Application
    Filed: February 21, 2012
    Publication date: August 30, 2012
    Applicant: International Business Machines Corporation
    Inventors: Ying Chen, Yan Li, Qiming Teng, Huayong Wang
  • Publication number: 20120210106
    Abstract: The present invention discloses a method of processing instructions in a pipeline-based central processing unit, wherein the pipeline is partitioned into base pipeline stages and enhanced pipeline stages according to functions, the base pipeline stages being activated all the while, and the enhanced pipeline stages being activated or shutdown according to requirements for performance of a workload. The present invention further discloses a method of processing instructions in a pipeline-based central processing unit, wherein the pipeline is partitioned into base pipeline stages and enhanced pipeline stages according to functions, each pipeline stage being partitioned into a base module and at least one enhanced module, the base module being activated all the while, and the enhanced module being activated or shutdown according to requirements for performance of a workload.
    Type: Application
    Filed: April 26, 2012
    Publication date: August 16, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wen Bo Shen, Peng Shao, Yu Li, Xiao Tao Chang, Yi Ge, Huayong Wang, Huan Hao Zou
  • Publication number: 20120059839
    Abstract: An Open Database Connectivity (ODBC) proxy infrastructure to transparently route incoming queries to one or more selected query engines. The ODBC proxy receives a query from an application, and determines based on the characteristics of the query and the capabilities of the query engines which one or more query engines are to perform the query. The proxy then routes the query to the one or more query engines, which perform the query. The results are then returned to the proxy, which provides the results to the application.
    Type: Application
    Filed: September 7, 2010
    Publication date: March 8, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Henrique Andrade, Bugra Gedik, Martin J. Hirzel, Robert J. Soule, Huayong Wang, Kun-Lung Wu, Qiong Zou
  • Patent number: 8132051
    Abstract: A method and system for sampling input data. The method includes: buffering input data; recording an execution path of the buffered input data in an online operation module; determining whether the buffered input data passes through a desired execution path, and responsive to the buffered input data passing through the desired execution path, sampling the buffered input data to a data set. The system includes: buffering means for buffering input data; recording means for recording an execution path; sampling means for determining whether the buffered input data passes through a desired execution path.
    Type: Grant
    Filed: April 27, 2010
    Date of Patent: March 6, 2012
    Assignee: International Business Machines Corporation
    Inventors: Rui Hou, Zhi Yu Liu, Huayong Wang, Yan Qi Wang, Qiong Zou, Yao Zou
  • Patent number: 8131894
    Abstract: A system, method, and computer readable article of manufacture for sharing buffer management. The system includes: a predictor module to predict at runtime a transaction data size of a transaction according to history information of the transaction; and a resource management module to allocate sharing buffer resources for the transaction according to the predicted transaction data size in response to beginning of the transaction, to record an actual sharing buffer size occupied by the transaction in response to the successful commitment of the transaction, and to update the history information of the transaction.
    Type: Grant
    Filed: November 23, 2009
    Date of Patent: March 6, 2012
    Assignee: International Business Machines Corporation
    Inventors: Harold Wade Cain, III, Rui Hou, Xiaowei Shen, Huayong Wang
  • Publication number: 20100281310
    Abstract: A method and system for sampling input data. The method includes: buffering input data; recording an execution path of the buffered input data in an online operation module; determining whether the buffered input data passes through a desired execution path, and responsive to the buffered input data passing through the desired execution path, sampling the buffered input data to a data set. The system includes: buffering means for buffering input data; recording means for recording an execution path; sampling means for determining whether the buffered input data passes through a desired execution path.
    Type: Application
    Filed: April 27, 2010
    Publication date: November 4, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rui Hou, Zhi Yu Liu, Huayong Wang, Yan Qi Wang, Qiong Zou, Yao Zou
  • Publication number: 20100217945
    Abstract: The present invention provides a method, apparatus and article of manufacture, for fast context saving in transactional memory. The method creates a mapping table that includes entries corresponding to architectural registers. Each entry includes a physical register index and shadow bit of a first physical register mapped to an architectural register. In response to a detection that an update occurs to an architectural register in a transaction and its shadow bit being an invalid value, the method sets the shadow bit to be a valid value and sets a shadow register for the architectural register using the physical register index of the first physical register. The method maps a second physical register to the shadow register in order to save a modified value generated by an update process and saves the original value before the update process by use of the first physical register corresponding to the architecture register.
    Type: Application
    Filed: February 19, 2010
    Publication date: August 26, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yi Ge, Rui Hou, Huayong Wang
  • Publication number: 20100186015
    Abstract: A method, apparatus, and computer readable article of manufacture for executing a transaction by a processor apparatus that includes a plurality of hardware threads. The method includes the steps of: creating a main software thread for executing the transaction; creating a helper software thread for executing a barrier function; executing the main software thread and the helper software thread using the plurality of hardware threads; deciding whether the execution of the barrier function is required; executing the barrier function by the helper software thread; and returning to the main software thread. The step of executing the barrier function includes: stalling the main software thread; activating the helper software thread; and exiting the helper software thread in response to completion of the execution.
    Type: Application
    Filed: January 12, 2010
    Publication date: July 22, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Huayong Wang
  • Publication number: 20100161875
    Abstract: A Simulator and a simulating method for running a guest program in a host are disclosed. The simulator includes: an initialization device configured for setting content of a hypervisor page table in the host, the hypervisor page table mapping a guest physical address space to a host physical address space. The simulator further includes a binary translation device configured for employing a program logical address to perform a memory access in code translation. The simulator also includes a miss handling device configured for updating a guest translation look-aside buffer by treating a miss in a host translation look-aside buffer caused by the execution of the translated code as a miss in the guest translation look-aside buffer, wherein the host translation look-aside buffer is configured to buffer entries for mapping addresses in a guest program logical address space to addresses in the guest physical address space.
    Type: Application
    Filed: December 8, 2009
    Publication date: June 24, 2010
    Applicant: International Business Machines Corporation
    Inventors: Xiao Tao Chang, Huayong Wang, Kun Wang, Yu Zhang
  • Publication number: 20100138571
    Abstract: A system, method, and computer readable article of manufacture for sharing buffer management. The system includes: a predictor module to predict at runtime a transaction data size of a transaction according to history information of the transaction; and a resource management module to allocate sharing buffer resources for the transaction according to the predicted transaction data size in response to beginning of the transaction, to record an actual sharing buffer size occupied by the transaction in response to the successful commitment of the transaction, and to update the history information of the transaction.
    Type: Application
    Filed: November 23, 2009
    Publication date: June 3, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Harold Wade Cain, III, Rui Hou, Xiaowei Shen, Huayong Wang
  • Publication number: 20100106950
    Abstract: Apparatus and methods are provided for controlling the loading status of DLLs. Specifically, a streaming program compiler is provided. The compiler includes operation modules for calling DLLs during streaming program execution; association table generating units for generating association tables according to user-defined rules, where the association table includes entries indicating (i) stream branches of the streaming program and (ii) an operation module corresponding to the stream branches; and a trigger generating unit for generating a trigger based on user-defined rules, where the trigger generating unit (i) determines which conditions for loading and unloading DLLs fit the streaming program, (ii) matches these conditions to a particular stream branch to identify a matched stream branch, and (iii) sends out triggering signals indicating the matched stream branch. This invention also provides a corresponding method and controller.
    Type: Application
    Filed: October 28, 2009
    Publication date: April 29, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rui Hou, Zhi Yu Liu, Huayong Wang, Yan Qi Wang
  • Publication number: 20090193424
    Abstract: The present invention discloses a method of processing instructions in a pipeline-based central processing unit, wherein the pipeline is partitioned into base pipeline stages and enhanced pipeline stages according to functions, the base pipeline stages being activated all the while, and the enhanced pipeline stages being activated or shutdown according to requirements for performance of a workload. The present invention further discloses a method of processing instructions in a pipeline-based central processing unit, wherein the pipeline is partitioned into base pipeline stages and enhanced pipeline stages according to functions, each pipeline stage being partitioned into a base module and at least one enhanced module, the base module being activated all the while, and the enhanced module being activated or shutdown according to requirements for performance of a workload.
    Type: Application
    Filed: January 22, 2009
    Publication date: July 30, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wen Bo Shen, Peng Shao, Yu Li, Xiao Tao Chang, Yi Ge, Huayong Wang, Huan Hao Zou
  • Publication number: 20080208558
    Abstract: Disclosed are techniques for simulating a multiprocessor system is disclosed. Aspects of the present invention are based on such an observation that most memory accesses from different simulated processors do not conflict, and therefore the conservative policy for performing synchronization of all the memory accesses can waste a large amount of processing time. By identifying possibly conflicting memory accesses and only performing synchronization of these memory accesses, the synchronization cost can be reduced considerably. Since the function simulator is able to operate faster and to perform the same memory accesses, the possibly conflicting memory accesses can be identified by first executing the function simulator.
    Type: Application
    Filed: February 27, 2008
    Publication date: August 28, 2008
    Inventors: Huayong Wang, Kun Wang, Honesty C. Young