Patents by Inventor Kai-Ting A. Wang
Kai-Ting A. 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: 9904922Abstract: A computing system includes at least one processor and at least one module operable by the at least one processor to calculate a tail of a first dataset by determining elements of the first dataset that fall outside of a specified percentile, and determine locations of the first dataset at which elements of the first dataset that fall outside of the specified percentile are located. The at least one module may be operable to calculate a tail of a second dataset by populating a data structure with elements of the second dataset that correspond to the locations of the first dataset, and determining, using the data structure, elements of the second dataset that fall outside of the specified percentile. The at least one module may be operable to output an indication of at least one of the tail of the first dataset or the tail of the second dataset.Type: GrantFiled: March 1, 2016Date of Patent: February 27, 2018Assignee: International Business Machines CorporationInventors: Robert J. Blainey, Barnaby Dalton, Louis Ly, James A Sedgwick, Lior Velichover, Kai-Ting A. Wang
-
Patent number: 9892411Abstract: A computing system includes at least one processor and at least one module operable by the at least one processor to calculate a tail of a first dataset by determining elements of the first dataset that fall outside of a specified percentile, and determine locations of the first dataset at which elements of the first dataset that fall outside of the specified percentile are located. The at least one module may be operable to calculate a tail of a second dataset by populating a data structure with elements of the second dataset that correspond to the locations of the first dataset, and determining, using the data structure, elements of the second dataset that fall outside of the specified percentile. The at least one module may be operable to output an indication of at least one of the tail of the first dataset or the tail of the second dataset.Type: GrantFiled: February 27, 2015Date of Patent: February 13, 2018Assignee: International Business Machines CorporationInventors: Robert J. Blainey, Barnaby Dalton, Louis Ly, James A. Sedgwick, Lior Velichover, Kai-Ting A. Wang
-
Publication number: 20160253674Abstract: A computing system includes at least one processor and at least one module operable by the at least one processor to calculate a tail of a first dataset by determining elements of the first dataset that fall outside of a specified percentile, and determine locations of the first dataset at which elements of the first dataset that fall outside of the specified percentile are located. The at least one module may be operable to calculate a tail of a second dataset by populating a data structure with elements of the second dataset that correspond to the locations of the first dataset, and determining, using the data structure, elements of the second dataset that fall outside of the specified percentile. The at least one module may be operable to output an indication of at least one of the tail of the first dataset or the tail of the second dataset.Type: ApplicationFiled: March 1, 2016Publication date: September 1, 2016Inventors: Robert J. Blainey, Barnaby Dalton, Louis Ly, James A. Sedgwick, Lior Velichover, Kai-Ting A. Wang
-
Publication number: 20160253671Abstract: A computing system includes at least one processor and at least one module operable by the at least one processor to calculate a tail of a first dataset by determining elements of the first dataset that fall outside of a specified percentile, and determine locations of the first dataset at which elements of the first dataset that fall outside of the specified percentile are located. The at least one module may be operable to calculate a tail of a second dataset by populating a data structure with elements of the second dataset that correspond to the locations of the first dataset, and determining, using the data structure, elements of the second dataset that fall outside of the specified percentile. The at least one module may be operable to output an indication of at least one of the tail of the first dataset or the tail of the second dataset.Type: ApplicationFiled: February 27, 2015Publication date: September 1, 2016Inventors: Robert J. Blainey, Barnaby Dalton, Louis Ly, James A. Sedgwick, Lior Velichover, Kai-Ting A. Wang
-
Publication number: 20160110162Abstract: As disclosed herein a method, executed by a computer, for conducting non-recursive cascading reduction includes receiving a collection of floating point values, using a binary representation of an index corresponding to a value being processed to determine a reduction depth for elements on a stack to be accumulated, and according to the reduction depth, iteratively conducting a reduction operation on the current value and one or more values on the stack. In addition to accumulation, the reduction operation may include transforming the value with a corresponding function. The method may also include using a SIMD processing environment to further increase the performance of the method. The method provides results with both high performance and accuracy. A computer system and computer program product corresponding to the method are also disclosed herein.Type: ApplicationFiled: May 12, 2015Publication date: April 21, 2016Inventors: Neil E. Bartlett, Robert J. Blainey, Barnaby P. Dalton, Dharmendra P. Gupta, Mohammad Fahham A. Khan, Nho Sinh Louis Ly, James A. Sedgwick, Lior Velichover, Kai-Ting A. Wang
-
Publication number: 20160112061Abstract: As disclosed herein a method, executed by a computer, for conducting non-recursive cascading reduction includes receiving a collection of floating point values, using a binary representation of an index corresponding to a value being processed to determine a reduction depth for elements on a stack to be accumulated, and according to the reduction depth, iteratively conducting a reduction operation on the current value and one or more values on the stack. In addition to accumulation, the reduction operation may include transforming the value with a corresponding function. The method may also include using a SIMD processing environment to further increase the performance of the method. The method provides results with both high performance and accuracy. A computer system and computer program product corresponding to the method are also disclosed herein.Type: ApplicationFiled: October 21, 2014Publication date: April 21, 2016Inventors: Neil E. Bartlett, Robert J. Blainey, Barnaby P. Dalton, Dharmendra P. Gupta, Mohammad Fahham A. Khan, Nho Sinh Louis Ly, James A. Sedgwick, Lior Velichover, Kai-Ting A. Wang
-
Publication number: 20160078532Abstract: Techniques are disclosed for computing a real-time credit risk score. In one example, the method comprises at least one processor generating a computation graph comprising static computation nodes, dynamic computation nodes, and computation edges. The computation graph is a tree. Before receiving the real-time trade, the processor determines a pipeline kernel in the computation graph and computes the respective static information in the pipeline kernel. After computing the static information, the processor receives the real-time trade. The real-time trade is associated with a current exchange of assets for which a real-time credit risk score may be determined and comprises real-time information for use in computing the real-time credit risk score. The processor computes, based on the real-time trade and the computed static information, the dynamic information in the pipeline kernel and computes, based on the computed dynamic information, the real-time credit risk score.Type: ApplicationFiled: April 10, 2015Publication date: March 17, 2016Inventors: Neil Bartlett, Robert J. Blainey, Barnaby Dalton, Dharmendra P. Gupta, Mohammad Fahham A. Khan, Louis Ly, James Sedgwick, Jan Treibig, Lior Velichover, Kai-Ting A. Wang
-
Publication number: 20160078531Abstract: Techniques are disclosed for computing a real-time credit risk score. In one example, the method comprises at least one processor generating a computation graph comprising static computation nodes, dynamic computation nodes, and computation edges. The computation graph is a tree. Before receiving the real-time trade, the processor determines a pipeline kernel in the computation graph and computes the respective static information in the pipeline kernel. After computing the static information, the processor receives the real-time trade. The real-time trade is associated with a current exchange of assets for which a real-time credit risk score may be determined and comprises real-time information for use in computing the real-time credit risk score. The processor computes, based on the real-time trade and the computed static information, the dynamic information in the pipeline kernel and computes, based on the computed dynamic information, the real-time credit risk score.Type: ApplicationFiled: September 11, 2014Publication date: March 17, 2016Inventors: Neil Bartlett, Robert J. Blainey, Barnaby Dalton, Dharmendra P. Gupta, Mohammad Fahham A. Khan, Louis Ly, James Sedgwick, Jan Treibig, Lior Velichover, Kai-Ting A. Wang
-
Patent number: 9268574Abstract: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, clears the high-priority request and sets an allocation token to the absolute thread number associated with the oldest aborted thread, thereby allowing the oldest aborted thread to retry a work unit associated with the absolute thread number. A corresponding apparatus and computer program product are also disclosed.Type: GrantFiled: March 15, 2013Date of Patent: February 23, 2016Assignee: International Business Machines CorporationInventors: Khaled A. Mohammed, Martin Ohmacht, Raul E. Silvera, Kai-Ting A. Wang
-
Patent number: 9262172Abstract: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, modifies a local allocation token of the oldest aborted thread. The modification prompts the oldest aborted thread to retry a work unit associated with its absolute thread number. The oldest aborted thread subsequently initiates the retry of a successor thread by updating the successor thread's local allocation token. A corresponding apparatus and computer program product are also disclosed.Type: GrantFiled: March 15, 2013Date of Patent: February 16, 2016Assignee: International Business Machines CorporationInventors: Martin Ohmacht, Raul E. Silvera, Mark G. Stoodley, Kai-Ting A. Wang
-
Patent number: 9189243Abstract: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, clears the high-priority request and sets an allocation token to the absolute thread number associated with the oldest aborted thread, thereby allowing the oldest aborted thread to retry a work unit associated with the absolute thread number. A corresponding apparatus and computer program product are also disclosed.Type: GrantFiled: September 30, 2012Date of Patent: November 17, 2015Assignee: International Business Machines CorporationInventors: Khaled A. Mohammed, Martin Ohmacht, Raul E. Silvera, Kai-Ting A. Wang
-
Patent number: 8990819Abstract: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, modifies a local allocation token of the oldest aborted thread. The modification prompts the oldest aborted thread to retry a work unit associated with its absolute thread number. The oldest aborted thread subsequently initiates the retry of a successor thread by updating the successor thread's local allocation token. A corresponding apparatus and computer program product are also disclosed.Type: GrantFiled: December 28, 2012Date of Patent: March 24, 2015Assignee: International Business Machines CorporationInventors: Martin Ohmacht, Raul E. Silvera, Mark G. Stoodley, Kai-Ting A. Wang
-
Publication number: 20140123152Abstract: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, clears the high-priority request and sets an allocation token to the absolute thread number associated with the oldest aborted thread, thereby allowing the oldest aborted thread to retry a work unit associated with the absolute thread number. A corresponding apparatus and computer program product are also disclosed.Type: ApplicationFiled: March 15, 2013Publication date: May 1, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Khaled A. Mohammed, Martin Ohmacht, Raul E. Silvera, Kai-Ting A. Wang
-
Publication number: 20140096141Abstract: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, modifies a local allocation token of the oldest aborted thread. The modification prompts the oldest aborted thread to retry a work unit associated with its absolute thread number. The oldest aborted thread subsequently initiates the retry of a successor thread by updating the successor thread's local allocation token. A corresponding apparatus and computer program product are also disclosed.Type: ApplicationFiled: December 28, 2012Publication date: April 3, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Martin Ohmacht, Raul E. Silvera, Mark G. Stoodley, Kai-Ting A. Wang
-
Publication number: 20140096142Abstract: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, clears the high-priority request and sets an allocation token to the absolute thread number associated with the oldest aborted thread, thereby allowing the oldest aborted thread to retry a work unit associated with the absolute thread number. A corresponding apparatus and computer program product are also disclosed.Type: ApplicationFiled: September 30, 2012Publication date: April 3, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Khaled A. Mohammed, Martin Ohmacht, Raul E. Silvera, Kai-Ting A. Wang
-
Patent number: 8667260Abstract: Mechanisms for building approximate data dependences using a moving look-back window are provided. The mechanisms track dependence information for memory accesses over iterations of execution of a portion of code. The mechanisms receive a memory access of an iteration of the portion of code, the memory access having an address for access the memory and an access type indicating at least one of a read or a write access type. An entry in a moving look-back window data structure is generated corresponding to a memory location accessed by the memory access. The entry comprises at least an identification of the address, the access type, and an iteration number corresponding to the iteration of the memory access. The moving look-back window data structure is utilized to determine dependence information for memory accesses over a plurality of iterations of the portion of code.Type: GrantFiled: March 5, 2010Date of Patent: March 4, 2014Assignee: International Business Machines CorporationInventors: Alexandre E. Eichenberger, John K. P. O'Brien, Kathryn M. O'Brien, Kai-Ting A. Wang, Xiaotong Zhuang
-
Publication number: 20110219222Abstract: Mechanisms for building approximate data dependences using a moving look-back window are provided. The mechanisms track dependence information for memory accesses over iterations of execution of a portion of code. The mechanisms receive a memory access of an iteration of the portion of code, the memory access having an address for access the memory and an access type indicating at least one of a read or a write access type. An entry in a moving look-back window data structure is generated corresponding to a memory location accessed by the memory access. The entry comprises at least an identification of the address, the access type, and an iteration number corresponding to the iteration of the memory access. The moving look-back window data structure is utilized to determine dependence information for memory accesses over a plurality of iterations of the portion of code.Type: ApplicationFiled: March 5, 2010Publication date: September 8, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Alexandre E. Eichenberger, John K.P. O'Brien, Kathryn M. O'Brien, Kai-Ting A. Wang, Xiaotong Zhuang