Patents by Inventor Jong-Deok Choi

Jong-Deok Choi 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: 8122438
    Abstract: Computer implemented method, system and computer usable program code for profiling the execution of an application that is both space- and time-efficient and highly accurate. A computer implemented method for profiling the execution of an application includes sampling execution characteristics of the application at a plurality of sampling points to provide samples, and deriving a calling context of the samples. The application is continuously executed between sampling points while additional profiling data is gathered.
    Type: Grant
    Filed: June 18, 2008
    Date of Patent: February 21, 2012
    Assignee: International Business Machines Corporation
    Inventors: Harold Wade Cain, III, Jong-Deok Choi, Mauricio Jose Serrano, Xiaotong Zhuang
  • Publication number: 20110167222
    Abstract: An unbounded transactional memory system which can process overflow data. The unbounded transactional memory system may include a host processor, a memory, and a memory processor. The host processor may include an execution unit to perform a transaction, and a cache to temporarily store data. The memory processor may store overflow data in overflow storage included in the memory in response to an overflow event in which the overflow data is generated in the cache during the transaction.
    Type: Application
    Filed: December 9, 2010
    Publication date: July 7, 2011
    Applicants: Samsung Electronics Co., Ltd., SNU R&DB Foundation
    Inventors: Jaejin LEE, Jong-Deok Choi, Seung-Mo Cho
  • Publication number: 20110161944
    Abstract: Provided is a method of transforming program code written such that a plurality of work-items are allocated respectively to and concurrently executed on a plurality of processing elements included in a computing unit. A program code translator may identify, in the program code, two or more code regions, which are to be enclosed by work-item coalescing loops (WCLs), based on a synchronization barrier function contained in the program code, such that the work-items are serially executable on a smaller number of processing elements than a number of the processing elements, and may enclose the identified code regions with the WCLs, respectively.
    Type: Application
    Filed: December 23, 2010
    Publication date: June 30, 2011
    Applicants: SAMSUNG ELECTRONICS CO., LTD., SUN R&DB FOUNDATION
    Inventors: Seung-Mo Cho, Jong-Deok Choi, Jaejin Lee
  • Patent number: 7921260
    Abstract: A computer-implemented method of cache replacement includes steps of: determining whether each cache block in a cache memory is a read or a write block; augmenting metadata associated with each cache block with an indicator of the type of access; receiving an access request resulting in a cache miss, the cache miss indicating that a cache block will need to be replaced; examining the indicator in the metadata of each cache block for determining a probability that said cache block will be replaced; and selecting for replacement the cache block with the highest probability of replacement.
    Type: Grant
    Filed: October 24, 2007
    Date of Patent: April 5, 2011
    Assignee: International Business Machines Corporation
    Inventors: Harold W. Cain, III, Jong-Deok Choi, Mauricio J. Serrano
  • Patent number: 7900026
    Abstract: A system for predicting multiple targets for a single branch includes: a branch target buffer that includes a previous next address for an instruction and that receives an indirect instruction address to provide a first branch target prediction; a first branch table for capturing local past target information of an indirect branch in an encoded form; a second branch table which is a correlation table for storing potential branch targets based on a local branch history and which provides a second branch target prediction when the first branch target prediction is not successful; an exclusion predictor for inhibiting updates of inefficient entries; and a multiplexer to select the predicted target as output.
    Type: Grant
    Filed: October 6, 2008
    Date of Patent: March 1, 2011
    Assignee: International Business Machines Corporation
    Inventors: Il Park, Mauricio J. Serrano, Jong-Deok Choi
  • Patent number: 7818722
    Abstract: Computer implemented method, system and computer usable program code for profiling the execution of an application that is both space- and time-efficient and highly accurate. A computer implemented method for profiling the execution of an application includes sampling execution characteristics of the application at a plurality of sampling points to provide samples, and deriving a calling context of the samples. The application is continuously executed between sampling points while additional profiling data is gathered.
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: October 19, 2010
    Assignee: International Business Machines Corporation
    Inventors: Harold Wade Cain, III, Jong-Deok Choi, Mauricio Jose Serrano, Xiaotong Zhuang
  • Patent number: 7793049
    Abstract: A system and method for cache replacement includes: augmenting each cache block in a cache region with a region hint indicating a temporal priority of the cache block; receiving an indication that a cache miss has occurred; and selecting for eviction the cache block comprising the region hint indicating a low temporal priority.
    Type: Grant
    Filed: October 30, 2007
    Date of Patent: September 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: Harold W. Cain, Jong-Deok Choi, Pratak Pattnaik, Mauricio J. Serrano
  • Publication number: 20090199162
    Abstract: A method of detecting a datarace between first and second memory accesses within a program, including: determining whether the first and second memory accesses are to the same memory location; determining whether the first and second memory accesses are executed by different threads in the program; determining whether the first and second memory accesses are guarded by a common synchronization object; and determining whether there is an execution ordering enforced between the first and second memory accesses.
    Type: Application
    Filed: February 5, 2009
    Publication date: August 6, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jong-Deok Choi, Keunwoo Lee, Robert W. O'Callahan, Vivek Sarkar, Manu Sridharan
  • Publication number: 20090113132
    Abstract: A computer-implemented method of cache replacement includes steps of: determining whether each cache block in a cache memory is a read or a write block; augmenting metadata associated with each cache block with an indicator of the type of access; receiving an access request resulting in a cache miss, the cache miss indicating that a cache block will need to be replaced; examining the indicator in the metadata of each cache block for determining a probability that said cache block will be replaced; and selecting for replacement the cache block with the highest probability of replacement.
    Type: Application
    Filed: October 24, 2007
    Publication date: April 30, 2009
    Applicant: International Business Machines Corporation
    Inventors: Harold Wade Cain, III, Jong-Deok Choi, Mauricio J. Serrano
  • Publication number: 20090113135
    Abstract: A system and method for cache replacement includes: augmenting each cache block in a cache region with a region hint indicating a temporal priority of the cache block; receiving an indication that a cache miss has occurred; and selecting for eviction the cache block comprising the region hint indicating a low temporal priority.
    Type: Application
    Filed: October 30, 2007
    Publication date: April 30, 2009
    Applicant: International Business Machines Corporation
    Inventors: Harold W. Cain, Jong-Deok Choi, Pratak Pattnaik, Mauricio J. Serrano
  • Patent number: 7516446
    Abstract: A method of detecting a datarace between first and second memory accesses within a program, including: determining whether the first and second memory accesses are to the same memory location; determining whether the first and second memory accesses are executed by different threads in the program; determining whether the first and second memory accesses are guarded by a common synchronization object; and determining whether there is an execution ordering enforced between the first and second memory accesses.
    Type: Grant
    Filed: June 25, 2002
    Date of Patent: April 7, 2009
    Assignee: International Business Machines Corporation
    Inventors: Jong-Deok Choi, Keunwoo Lee, Robert W. O'Callahan, Vivek Sarkar, Manu Sridharan
  • Publication number: 20090037708
    Abstract: A system for predicting multiple targets for a single branch includes: a branch target buffer that includes a previous next address for an instruction and that receives an indirect instruction address to provide a first branch target prediction; a first branch table for capturing local past target information of an indirect branch in an encoded form; a second branch table which is a correlation table for storing potential branch targets based on a local branch history and which provides a second branch target prediction when the first branch target prediction is not successful; an exclusion predictor for inhibiting updates of inefficient entries; and a multiplexer to select the predicted target as output.
    Type: Application
    Filed: October 6, 2008
    Publication date: February 5, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Il Park, Mauricio J. Serrano, Jong-Deok Choi
  • Patent number: 7469403
    Abstract: A static datarace detection method (and apparatus) for multithreaded applications includes inputting a set of input information including a multithreaded context graph (MCG) representation of a multithreaded application, processing the set of input information, and outputting a statement conflict set (SCS). The SCS is a set of statement pairs that may exhibit dataraces. The processing of the set of information includes initializing a synchronization object set for each of a plurality of MCG nodes, performing a nested traversal on the MCG to identify pairs of MCG nodes which are not mutually synchronized, and examining each pair of MCG nodes which are not mutually exclusive to determine if pairs of statements in the nodes represent a datarace by considering objects that can be accessed by the statements.
    Type: Grant
    Filed: January 2, 2002
    Date of Patent: December 23, 2008
    Assignee: International Business Machines Corporation
    Inventors: Jong-Deok Choi, Alexey Loginov, Vivek Sarkar
  • Publication number: 20080288926
    Abstract: Computer implemented method, system and computer usable program code for profiling the execution of an application that is both space-and time-efficient and highly accurate. A computer implemented method for profiling the execution of an application includes sampling execution characteristics of the application at a plurality of sampling points to provide samples, and deriving a calling context of the samples. The application is continuously executed between sampling points while additional profiling data is gathered.
    Type: Application
    Filed: June 18, 2008
    Publication date: November 20, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINE CORPORATION
    Inventors: Harold Wade Cain, III, Jong-Deok Choi, Mauricio Jose Serrano, Xiaotong Zhuang
  • Publication number: 20080288760
    Abstract: An information processing system for branch target prediction includes: a first memory for storing entries for multi-target branch, wherein each entry includes a plurality of target addresses representing a history of target addresses for each single branch in the multi-target branch, and wherein said first memory stores an entry for the branch only if the branch is a multi-target branch; hardware logic for reading the memory and identifying a repeated pattern in each of the plurality of target addresses for the multi-target branch; logic for predicting a next target address for the multi-target branch based on the repeated pattern that was identified, using a pattern matching algorithm; and a second memory for storing information regarding whether a branch is a multi-target branch; wherein the logic for reading and the logic for predicting are executed only if the branch is the multi-target branch.
    Type: Application
    Filed: July 31, 2008
    Publication date: November 20, 2008
    Applicant: International Business Machines Corporation
    Inventors: Il Park, Pratap C. Pattnaik, Jong-Deok Choi
  • Publication number: 20080271004
    Abstract: A computer-implemented method, system, and program product for optimizing a distributed (software) application are provided. Specifically, a configuration of a target computing environment, in which the distributed application is deployed, is discovered upon deployment of the distributed application. Thereafter, based on a set of rules and the discovered configuration, one or more optimization techniques are applied to optimize the distributed application. In a typical embodiment, the set of rules can be embedded in the distributed application, or they can be accessed from an external source such as a repository.
    Type: Application
    Filed: July 3, 2008
    Publication date: October 30, 2008
    Inventors: Jong-Deok Choi, Manish Gupta, Parviz Kermani, Kang-Won Lee, Kyung Dong Ryu, Dinesh C. Verma, Peng Wu
  • Publication number: 20080263257
    Abstract: A dual-mode prefetch mechanism for implementing checkpoint tag prefetching includes: a data array for storing data fetched from cache memory; a set of cache tags for identifying the data stored in the data array; a set of checkpoint tags for storing data identification; a cache controller including prefetch logic, the prefetch logic including a checkpoint prefetch controller and a checkpoint prefetch operator.
    Type: Application
    Filed: April 17, 2007
    Publication date: October 23, 2008
    Applicant: International Business Machines Corporation
    Inventors: Harold Wade Cain III, Jong-Deok Choi
  • Publication number: 20080263194
    Abstract: A method for selecting a best performing binding for a server and a client in a service-oriented architecture includes: discovering configuration information about the service and the operating environment of the server and the client; selecting the best performing binding between the client and the server based on the discovered information; enabling the selected binding in a binding proxy for communication between the client and the server.
    Type: Application
    Filed: April 17, 2007
    Publication date: October 23, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jong-Deok Choi, Kang-Won Lee, Sang-Jeong Lee, Kyung D. Ryu, Dinesh Verma
  • Patent number: 7434037
    Abstract: An information processing system includes a branch target buffer (BTB) comprising the last next address for the instruction and for receiving an indirect instruction address and providing a BTB predicted target; and next branch target table (NBTT) for storing potential branch targets based on a history of the branch and for providing an NBTT when the a BTB predicted target is not successful. In another embodiment a system comprising a plurality of branch prediction resources dynamically predicts the best resource appropriate for a branch. The method includes predicting a target branch for an indirect instruction address using a resource chosen among the plurality of branch prediction resources; and selectively inhibiting updates of the branch prediction resources whose prediction accuracy does not meet a threshold.
    Type: Grant
    Filed: April 7, 2006
    Date of Patent: October 7, 2008
    Assignee: International Business Machines Corporation
    Inventors: Il Park, Mauricio J. Serrano, Jong-Deok Choi
  • Patent number: 7409535
    Abstract: An information processing system for branch target prediction is disclosed. The information processing system includes a memory for storing entries, wherein each entry includes a plurality of target addresses representing a history of target addresses for a multi-target branch and logic for reading the memory and identifying a repeated pattern in a plurality of target addresses for a multi-target branch. The information processing system further includes logic for predicting a next target address for the multi-target branch based on the repeated pattern that was identified.
    Type: Grant
    Filed: April 20, 2005
    Date of Patent: August 5, 2008
    Assignee: International Business Machines Corporation
    Inventors: Il Park, Pratap C. Pattnaik, Jong-Deok Choi