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: 8589896Abstract: 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: GrantFiled: October 28, 2009Date of Patent: November 19, 2013Assignee: International Business Machines CorporationInventors: Rui Hou, Zhi Yu Liu, Huayong Wang, Yan Qi Wang
-
Patent number: 8457943Abstract: 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: GrantFiled: February 27, 2008Date of Patent: June 4, 2013Assignee: International Business Machines CorporationInventors: Huayong Wang, Kun Wang, Honesty C. Young
-
Patent number: 8448173Abstract: 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: GrantFiled: January 12, 2010Date of Patent: May 21, 2013Assignee: International Business Machines CorporationInventor: Huayong Wang
-
Patent number: 8397050Abstract: 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: GrantFiled: December 8, 2009Date of Patent: March 12, 2013Assignee: International Business Machines CorporationInventors: Xiao Tao Chang, Huayong Wang, Kun Wang, Yu Zhang
-
Publication number: 20120324038Abstract: 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: ApplicationFiled: August 30, 2012Publication date: December 20, 2012Applicant: International Business Machines CorporationInventors: Ying Chen, Yan Li, Qiming Teng, Huayong Wang
-
Patent number: 8321443Abstract: 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: GrantFiled: September 7, 2010Date of Patent: November 27, 2012Assignee: International Business Machines CorporationInventors: Henrique Andrade, Bugra Gedik, Martin J. Hirzel, Robert J. Soule, Huayong Wang, Kun-Lung Wu, Qiong Zou
-
Publication number: 20120221671Abstract: 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: ApplicationFiled: February 21, 2012Publication date: August 30, 2012Applicant: International Business Machines CorporationInventors: Ying Chen, Yan Li, Qiming Teng, Huayong Wang
-
Publication number: 20120210106Abstract: 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: ApplicationFiled: April 26, 2012Publication date: August 16, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Wen Bo Shen, Peng Shao, Yu Li, Xiao Tao Chang, Yi Ge, Huayong Wang, Huan Hao Zou
-
Publication number: 20120059839Abstract: 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: ApplicationFiled: September 7, 2010Publication date: March 8, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Henrique Andrade, Bugra Gedik, Martin J. Hirzel, Robert J. Soule, Huayong Wang, Kun-Lung Wu, Qiong Zou
-
Patent number: 8132051Abstract: 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: GrantFiled: April 27, 2010Date of Patent: March 6, 2012Assignee: International Business Machines CorporationInventors: Rui Hou, Zhi Yu Liu, Huayong Wang, Yan Qi Wang, Qiong Zou, Yao Zou
-
Patent number: 8131894Abstract: 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: GrantFiled: November 23, 2009Date of Patent: March 6, 2012Assignee: International Business Machines CorporationInventors: Harold Wade Cain, III, Rui Hou, Xiaowei Shen, Huayong Wang
-
Publication number: 20100281310Abstract: 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: ApplicationFiled: April 27, 2010Publication date: November 4, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Rui Hou, Zhi Yu Liu, Huayong Wang, Yan Qi Wang, Qiong Zou, Yao Zou
-
Publication number: 20100217945Abstract: 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: ApplicationFiled: February 19, 2010Publication date: August 26, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Yi Ge, Rui Hou, Huayong Wang
-
Publication number: 20100186015Abstract: 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: ApplicationFiled: January 12, 2010Publication date: July 22, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Huayong Wang
-
Publication number: 20100161875Abstract: 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: ApplicationFiled: December 8, 2009Publication date: June 24, 2010Applicant: International Business Machines CorporationInventors: Xiao Tao Chang, Huayong Wang, Kun Wang, Yu Zhang
-
Publication number: 20100138571Abstract: 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: ApplicationFiled: November 23, 2009Publication date: June 3, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Harold Wade Cain, III, Rui Hou, Xiaowei Shen, Huayong Wang
-
Publication number: 20100106950Abstract: 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: ApplicationFiled: October 28, 2009Publication date: April 29, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Rui Hou, Zhi Yu Liu, Huayong Wang, Yan Qi Wang
-
Publication number: 20090193424Abstract: 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: ApplicationFiled: January 22, 2009Publication date: July 30, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Wen Bo Shen, Peng Shao, Yu Li, Xiao Tao Chang, Yi Ge, Huayong Wang, Huan Hao Zou
-
Publication number: 20080208558Abstract: 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: ApplicationFiled: February 27, 2008Publication date: August 28, 2008Inventors: Huayong Wang, Kun Wang, Honesty C. Young