Patents by Inventor Changhoan Kim

Changhoan Kim 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: 11593167
    Abstract: Methods and systems for locking a cache line of a cache. A cache line is locked based on a count of a plurality of threads that access the cache line and maintained in the cache until all of the plurality of threads have loaded the cache line.
    Type: Grant
    Filed: May 9, 2019
    Date of Patent: February 28, 2023
    Assignee: International Business Machines Corporation
    Inventors: Changhoan Kim, John A. Gunnels
  • Patent number: 11288194
    Abstract: An approach is disclosed that maintains a consistent view of a virtual address by a local node which writes a first value to the virtual address and, after writing the first value, establishes a snapshot consistency state of the virtual address. The virtual address is shared amongst any number of processes and the processes includes a writing process and other processes that read from the virtual address. After writing the first value, the writing process writes a second value to the virtual address. Even after writing the second value, the first value is still visible to the other processes.
    Type: Grant
    Filed: December 12, 2018
    Date of Patent: March 29, 2022
    Assignee: International Business Machines Corporation
    Inventors: Charles R. Johns, James A. Kahle, Martin Ohmacht, Changhoan Kim, Jose R. Brunheroto, Constantinos Evangelinos, Abdullah Kayi, Alessandro Morari, James C. Sexton, Patrick D. Siegl
  • Patent number: 11288208
    Abstract: An approach is described that provides access to a named data element in a Coordination Namespace that is stored in a memory that is distributed amongst a set of nodes. A request of a name corresponding to the named data element is received from a requesting process and the approach responsively searches for the name in the Coordination Namespace. In response to determining an absence of data corresponding to the named data element, a pending state is indicated to the requesting process. In response to determining that the data corresponding to the named data element exists, a successful state is returned to the requesting process. In one embodiment, the successful state also includes providing the requesting process with access to the data corresponding to the named data element.
    Type: Grant
    Filed: December 12, 2018
    Date of Patent: March 29, 2022
    Assignee: International Business Machines Corporation
    Inventors: Ravi Nair, Charles R. Johns, James A. Kahle, Changhoan Kim, Constantinos Evangelinos, Patrick D. Siegl
  • Patent number: 11048758
    Abstract: A system for storing and looking up values via hash table is disclosed. The system comprises multiple hash tables, each hash table being associated with a different hashing function and a content addressable memory (CAM). One or more processors receive a request to store a value; generate hashes of the value via each of the hashing functions; determine whether there exists at least one hash table that has a vacancy for the value; and if the determination is positive, insert the value in one of the at least one hash tables having the vacancy, and if the determination is negative, insert the value in the CAM. The processors also receive a request to look up a value; determine whether any of the hash tables or the CAM contain the value; and return the determination of whether the any of the plurality of hash tables or the CAM contain the value.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: June 29, 2021
    Assignee: Morgan Stanley Services Group Inc.
    Inventors: Changhoan Kim, Sunghyun Park
  • Patent number: 10915460
    Abstract: An approach is described that accesses data in a shared memory that is shared amongst nodes that include a local node and remote nodes. The local node receives a name corresponding to a named data element in a Coordination Namespace, the Coordination Namespace having been created in a memory distributed amongst the nodes. A hash function is applied to at least a portion of the name with a result of the hash function being a natural node indicator. Data corresponding to the named data element is requested from a natural node identified by the indicator. Based on the request, a response is received from the natural node.
    Type: Grant
    Filed: December 12, 2018
    Date of Patent: February 9, 2021
    Assignee: International Business Machines Corporation
    Inventors: Ravi Nair, Charles R. Johns, James A. Kahle, Changhoan Kim, Jose R. Brunheroto, Constantinos Evangelinos, Abdullah Kayi, Patrick D. Siegl
  • Publication number: 20200356411
    Abstract: Methods and systems for locking a cache line of a cache. A cache line is locked based on a count of a plurality of threads that access the cache line and maintained in the cache until all of the plurality of threads have loaded the cache line.
    Type: Application
    Filed: May 9, 2019
    Publication date: November 12, 2020
    Inventors: CHANGHOAN KIM, JOHN A. GUNNELS
  • Publication number: 20200192820
    Abstract: An approach is described that provides access to a named data element in a Coordination Namespace that is stored in a memory that is distributed amongst a set of nodes. A request of a name corresponding to the named data element is received from a requesting process and the approach responsively searches for the name in the Coordination Namespace. In response to determining an absence of data corresponding to the named data element, a pending state is indicated to the requesting process. In response to determining that the data corresponding to the named data element exists, a successful state is returned to the requesting process. In one embodiment, the successful state also includes providing the requesting process with access to the data corresponding to the named data element.
    Type: Application
    Filed: December 12, 2018
    Publication date: June 18, 2020
    Inventors: Ravi Nair, Charles R. Johns, James A. Kahle, Changhoan Kim, Constantinos Evangelinos, Patrick D. Siegl
  • Publication number: 20200192799
    Abstract: An approach is disclosed that maintains a consistent view of a virtual address by a local node which writes a first value to the virtual address and, after writing the first value, establishes a snapshot consistency state of the virtual address. The virtual address is shared amongst any number of processes and the processes includes a writing process and other processes that read from the virtual address. After writing the first value, the writing process writes a second value to the virtual address. Even after writing the second value, the first value is still visible to the other processes.
    Type: Application
    Filed: December 12, 2018
    Publication date: June 18, 2020
    Inventors: Charles R. Johns, James A. Kahle, Martin Ohmacht, Changhoan Kim, Jose R. Brunheroto, Constantinos Evangelinos, Abdullah Kayi, Alessandro Morari, James C. Sexton, Patrick D. Siegl
  • Publication number: 20200192819
    Abstract: An approach is described that accesses data in a shared memory that is shared amongst nodes that include a local node and remote nodes. The local node receives a name corresponding to a named data element in a Coordination Namespace, the Coordination Namespace having been created in a memory distributed amongst the nodes. A hash function is applied to at least a portion of the name with a result of the hash function being a natural node indicator. Data corresponding to the named data element is requested from a natural node identified by the indicator. Based on the request, a response is received from the natural node.
    Type: Application
    Filed: December 12, 2018
    Publication date: June 18, 2020
    Inventors: Ravi Nair, Charles R. Johns, James A. Kahle, Changhoan Kim, Jose R. Brunheroto, Constantinos Evangelinos, Abdullah Kayi, Patrick D. Siegl
  • Publication number: 20200050971
    Abstract: The disclosure is directed to optimizing parallel machine learning system design and performance using minibatch. A system for allocating data center resources according to embodiments includes: a machine learning process; a machine learning data set; a processing system including a P parallel processing elements for training the machine learning process using the machine learning data set, wherein the machine learning data set is split into a plurality of batches with a batch size M; and a resource manager for (1) minimizing a training time T=T(M,P) of the machine learning process over M for each value of P, and (2) efficient system design.
    Type: Application
    Filed: August 8, 2018
    Publication date: February 13, 2020
    Inventors: Changhoan Kim, Michael P. Perrone
  • Publication number: 20180341851
    Abstract: Optimizing the performance of a machine learning system includes: defining an n-dimensional approximate computing configuration space, the n-dimensional approximate computing configuration space defining tuning parameters for tuning the machine learning system; setting a performance objective for the machine learning system that identifies one or more machine learning system performance criteria; collecting and monitoring performance data; comparing the performance data to the machine learning system performance objective; and dynamically updating the n-dimensional approximate computing configuration space by adjusting the at least one tuning parameter, in response to the comparison.
    Type: Application
    Filed: May 24, 2017
    Publication date: November 29, 2018
    Inventors: I-Hsin CHUNG, John A. GUNNELS, Changhoan KIM, Michael P. PERRONE, Bhuvana RAMABHADRAN
  • Patent number: 9916163
    Abstract: A system for synchronizing parallel processing of a plurality of functional processing units (FPU), a first FPU and a first program counter to control timing of a first stream of program instructions issued to the first FPU by advancement of the first program counter; a second FPU and a second program counter to control timing of a second stream of program instructions issued to the second FPU by advancement of the second program counter, the first FPU is in communication with a second FPU to synchronize the issuance of a first stream of program instructions to the second stream of program instructions and the second FPU is in communication with the first FPU to synchronize the issuance of the second stream program instructions to the first stream of program instructions.
    Type: Grant
    Filed: January 9, 2017
    Date of Patent: March 13, 2018
    Assignee: International Business Machines Corporation
    Inventor: Changhoan Kim
  • Patent number: 9870340
    Abstract: In one embodiment, a system includes a processor having a vector processing mode and a multithreading mode. The processor is configured to operate on one thread per cycle in the multithreading mode. The processor includes a program counter register having a plurality of program counters, and the program counter register is vectorized. Each program counter in the program counter register represents a distinct corresponding thread of a plurality of threads. The processor is configured to execute the plurality of threads by activating the plurality of program counters in a round robin cycle.
    Type: Grant
    Filed: March 30, 2015
    Date of Patent: January 16, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Constantinos Evangelinos, Changhoan Kim, Ravi Nair
  • Publication number: 20170147347
    Abstract: A system for synchronizing parallel processing of a plurality of functional processing units (FPU), a first FPU and a first program counter to control timing of a first stream of program instructions issued to the first FPU by advancement of the first program counter; a second FPU and a second program counter to control timing of a second stream of program instructions issued to the second FPU by advancement of the second program counter, the first FPU is in communication with a second FPU to synchronize the issuance of a first stream of program instructions to the second stream of program instructions and the second FPU is in communication with the first FPU to synchronize the issuance of the second stream program instructions to the first stream of program instructions.
    Type: Application
    Filed: November 24, 2015
    Publication date: May 25, 2017
    Inventor: Changhoan Kim
  • Publication number: 20170147352
    Abstract: A system for synchronizing parallel processing of a plurality of functional processing units (FPU), a first FPU and a first program counter to control timing of a first stream of program instructions issued to the first FPU by advancement of the first program counter; a second FPU and a second program counter to control timing of a second stream of program instructions issued to the second FPU by advancement of the second program counter, the first FPU is in communication with a second FPU to synchronize the issuance of a first stream of program instructions to the second stream of program instructions and the second FPU is in communication with the first FPU to synchronize the issuance of the second stream program instructions to the first stream of program instructions.
    Type: Application
    Filed: January 9, 2017
    Publication date: May 25, 2017
    Inventor: Changhoan Kim
  • Patent number: 9652235
    Abstract: A system for synchronizing parallel processing of a plurality of functional processing units (FPU), a first FPU and a first program counter to control timing of a first stream of program instructions issued to the first FPU by advancement of the first program counter; a second FPU and a second program counter to control timing of a second stream of program instructions issued to the second FPU by advancement of the second program counter, the first FPU is in communication with a second FPU to synchronize the issuance of a first stream of program instructions to the second stream of program instructions and the second FPU is in communication with the first FPU to synchronize the issuance of the second stream program instructions to the first stream of program instructions.
    Type: Grant
    Filed: November 24, 2015
    Date of Patent: May 16, 2017
    Assignee: International Business Machines Corporation
    Inventor: Changhoan Kim
  • Patent number: 9569215
    Abstract: A system for synchronizing parallel processing of a plurality of functional processing units (FPU), a first FPU and a first program counter to control timing of a first stream of program instructions issued to the first FPU by advancement of the first program counter; a second FPU and a second program counter to control timing of a second stream of program instructions issued to the second FPU by advancement of the second program counter, the first FPU is in communication with a second FPU to synchronize the issuance of a first stream of program instructions to the second stream of program instructions and the second FPU is in communication with the first FPU to synchronize the issuance of the second stream program instructions to the first stream of program instructions.
    Type: Grant
    Filed: August 15, 2016
    Date of Patent: February 14, 2017
    Assignee: International Business Machines Corporation
    Inventor: Changhoan Kim
  • Publication number: 20160292128
    Abstract: In one embodiment, a system includes a processor having a vector processing mode and a multithreading mode. The processor is configured to operate on one thread per cycle in the multithreading mode. The processor includes a program counter register having a plurality of program counters, and the program counter register is vectorized. Each program counter in the program counter register represents a distinct corresponding thread of a plurality of threads. The processor is configured to execute the plurality of threads by activating the plurality of program counters in a round robin cycle.
    Type: Application
    Filed: March 30, 2015
    Publication date: October 6, 2016
    Inventors: Constantinos Evangelinos, Changhoan Kim, Ravi Nair
  • Publication number: 20160291978
    Abstract: In one embodiment, a system includes a processor having a vector processing mode and a multithreading mode. The processor is configured to operate on one thread per cycle in the multithreading mode. The processor includes a program counter register having a plurality of program counters, and the program counter register is vectorized. Each program counter in the program counter register represents a distinct corresponding thread of a plurality of threads. The processor is configured to execute the plurality of threads by activating the plurality of program counters in a round robin cycle.
    Type: Application
    Filed: March 10, 2016
    Publication date: October 6, 2016
    Inventors: Constantinos Evangelinos, Changhoan Kim, Ravi Nair
  • Patent number: 8806141
    Abstract: A list prefetch engine improves a performance of a parallel computing system. The list prefetch engine receives a current cache miss address. The list prefetch engine evaluates whether the current cache miss address is valid. If the current cache miss address is valid, the list prefetch engine compares the current cache miss address and a list address. A list address represents an address in a list. A list describes an arbitrary sequence of prior cache miss addresses. The prefetch engine prefetches data according to the list, if there is a match between the current cache miss address and the list address.
    Type: Grant
    Filed: August 24, 2012
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventors: Peter Boyle, Norman Christ, Alan Gara, Changhoan Kim, Robert Mawhinney, Martin Ohmacht, Krishnan Sugavanam