Patents by Inventor Irina Calciu

Irina Calciu 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).

  • Publication number: 20200034297
    Abstract: A device is connected via a coherence interconnect to a CPU with a cache. The device monitors cache coherence events via the coherence interconnect, where the cache coherence events relate to the cache of the CPU. The device also includes a buffer that can contain representations, such as addresses, of cache lines. If a coherence event occurs on the coherence interconnect indicating that a cache line in the CPU's cache is dirty, then the device is configured to add an entry to the buffer to record the dirty cache line.
    Type: Application
    Filed: July 27, 2018
    Publication date: January 30, 2020
    Inventors: Irina CALCIU, Jayneel GANDHI, Aasheesh KOLLI, Pratap SUBRAHMANYAM
  • Patent number: 10515029
    Abstract: Techniques for facilitating conversion of an application from a block-based persistence model to a byte-based persistence model are provided. In one embodiment, a computer system can receive source code of the application and automatically identify data structures in the source code that are part of the application's semantic persistent state. The computer system can then output a list of data types corresponding to the identified data structures.
    Type: Grant
    Filed: November 18, 2016
    Date of Patent: December 24, 2019
    Assignee: VMware, Inc.
    Inventors: Vijaychidambaram Velayudhan Pillai, Irina Calciu, Himanshu Chauhan, Eric Schkufza, Onur Mutlu, Pratap Subrahmanyam
  • Patent number: 10430186
    Abstract: The disclosure provides an approach for atomically executing computer instructions by a CPU of a computing device comprising non-volatile memory, the CPU configured to implement hardware transactional memory (HTM). The approach generally includes reading an instruction within a section of code designated as an HTM transaction, determining whether the instruction causes a data conflict with another thread, and copying cache lines from memory into a cache of the CPU. The approach further includes marking the copied cache lines as transactional, processing the instruction to create a persistent log within non-volatile memory, and unmarking the copied cache lines from transactional, to non-transactional.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: October 1, 2019
    Assignee: VMware, Inc.
    Inventors: Irina Calciu, Jayneel Gandhi, Pradeep Fernando, Aasheesh Kolli
  • Publication number: 20190179794
    Abstract: Exemplary methods, apparatuses, and systems include a distributed memory agent within a first node intercepting an operating system request to open a file from an application running on the first node. The request includes a file identifier, which the distributed memory agent transmits to a remote memory manager. The distributed memory agent receives, from the remote memory manager, a memory location within a second node for the file identifier and information to establish a remote direct memory access channel between the first node and the second node. In response to the request to open the file, the distributed memory agent establishes the remote direct memory access channel between the first node and the second node. The remote direct memory access channel allows the first node to read directly from or write directly to the memory location within the second node while bypassing an operating system of the second node.
    Type: Application
    Filed: December 8, 2017
    Publication date: June 13, 2019
    Inventors: Michael Wei, Marcos Aguilera, Irina Calciu, Stanko Novakovic, Lalith Suresh, Jayneel Gandhi, Nadav Amit, Pratap Subrahmanyam, Xavier Deguillard, Kiran Tati, Rajesh Venkatasubramanian
  • Publication number: 20190129812
    Abstract: Techniques for achieving application high availability via application-transparent battery-backed replication of persistent data are provided. In one set of embodiments, a computer system can detect a failure that causes an application of the computer system to stop running. In response to detecting the failure, the computer system can copy persistent data written by the application and maintained locally at the computer system to one or more remote destinations, where the copying is performed in a manner that is transparent to the application and while the computer system runs on battery power. The application can then be restarted on another computer system using the copied data.
    Type: Application
    Filed: January 26, 2018
    Publication date: May 2, 2019
    Inventors: Pratap Subrahmanyam, Rajesh Venkatasubramanian, Kiran Tati, Qasim Ali, Marcos Aguilera, Irina Calciu, Venkata Subhash Reddy Peddamallu, Xavier Deguillard, Yi Yao
  • Publication number: 20190129716
    Abstract: The disclosure provides an approach for atomically executing computer instructions by a CPU of a computing device comprising non-volatile memory, the CPU configured to implement hardware transactional memory (HTM). The approach generally includes reading an instruction within a section of code designated as an HTM transaction, determining whether the instruction causes a data conflict with another thread, and copying cache lines from memory into a cache of the CPU. The approach further includes marking the copied cache lines as transactional, processing the instruction to create a persistent log within non-volatile memory, and unmarking the copied cache lines from transactional, to non-transactional.
    Type: Application
    Filed: October 27, 2017
    Publication date: May 2, 2019
    Inventors: Irina CALCIU, Jayneel GANDHI, Pradeep FERNANDO, Aasheesh KOLLI
  • Publication number: 20190129800
    Abstract: Techniques for achieving application high availability via crash-consistent asynchronous replication of persistent data are provided. In one set of embodiments, an application running on a computer system can, during runtime of the application: write persistent data to a local nonvolatile data store of the computer system, write one or more log entries comprising the persistent data to a local log region of the computer system, and asynchronously copy the one or more log entries to one or more remote destinations. Then, upon detecting a failure that prevents the application from continuing execution, the computer system can copy the local log region or a remaining portion thereof to the one or more remote destinations, where the copying is performed while the computer system runs on battery power and where the application is restarted on another computer system using a persistent state derived from the copied log entries.
    Type: Application
    Filed: January 26, 2018
    Publication date: May 2, 2019
    Inventors: Pratap Subrahmanyam, Rajesh Venkatasubramanian, Kiran Tati, Qasim Ali, Marcos Aguilera, Irina Calciu, Venkata Subhash Reddy Peddamallu, Xavier Deguillard, Yi Yao
  • Publication number: 20190114092
    Abstract: The disclosure provides an approach for testing if a cache line of a cache has been flushed to non-volatile memory (NVM). The approach generally includes reading, by a central processing unit (CPU), data from the NVM. The approach further includes storing, by the CPU, a copy of the data in the cache as a cache line. The approach further includes modifying, by the CPU, at least a portion of the copy of the data in the cache. The approach further includes requesting, by the CPU, the cache line be flushed to the NVM. The approach further includes performing, by the CPU, one or more instructions in parallel to the cache line being flushed to the NVM. The approach further includes requesting, by the CPU, a state of the cache line and determining if the cache line has been persisted in the NVM based on the state of the cache line.
    Type: Application
    Filed: October 16, 2017
    Publication date: April 18, 2019
    Inventors: Irina CALCIU, Aasheesh KOLLI
  • Patent number: 10001949
    Abstract: Techniques for improved transactional memory management are described. In one embodiment, for example, an apparatus may comprise a processor element, an execution component for execution by the processor element to concurrently execute a software transaction and a hardware transaction according to a transactional memory process, a tracking component for execution by the processor element to activate a global lock to indicate that the software transaction is undergoing execution, and a finalization component for execution by the processor element to commit the software transaction and deactivate the global lock when execution of the software transaction completes, the finalization component to abort the hardware transaction when the global lock is active when execution of the hardware transaction completes. Other embodiments are described and claimed.
    Type: Grant
    Filed: May 20, 2016
    Date of Patent: June 19, 2018
    Assignee: INTEL CORPORATION
    Inventors: Irina Calciu, Justin E. Gottschlich, Tatiana Shpeisman
  • Publication number: 20180143839
    Abstract: Techniques for facilitating conversion of an application from a block-based persistence model to a byte-based persistence model are provided. In one embodiment, a computer system can receive source code of the application and automatically identify data structures in the source code that are part of the application's semantic persistent state. The computer system can then output a list of data types corresponding to the identified data structures.
    Type: Application
    Filed: November 18, 2016
    Publication date: May 24, 2018
    Inventors: Vijaychidambaram Velayudhan Pillai, Irina Calciu, Himanshu Chauhan, Eric Schkufza, Onur Mutlu, Pratap Subrahmanyam
  • Patent number: 9971627
    Abstract: In an embodiment of a transactional memory system, an apparatus includes a processor and an execution logic to enable concurrent execution of at least one first software transaction of a first software transaction mode and a second software transaction of a second software transaction mode and at least one hardware transaction of a first hardware transaction mode and at least one second hardware transaction of a second hardware transaction mode. In one example, the execution logic may be implemented within the processor. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 26, 2014
    Date of Patent: May 15, 2018
    Assignee: Intel Corporation
    Inventors: Irina Calciu, Justin E. Gottschlich, Tatiana Shpeisman, Gilles A. Pokam
  • Patent number: 9697040
    Abstract: A system is disclosed that includes a processor and a dynamic random access memory (DRAM). The processor includes a hybrid transactional memory (HyTM) that includes hardware transactional memory (HTM), and a program debugger to replay a program that includes an HTM instruction and that has been executed has been executed using the HyTM. The program debugger includes a software emulator that is to replay the HTM instruction by emulation of the HTM. Other embodiments are disclosed and claimed.
    Type: Grant
    Filed: March 26, 2014
    Date of Patent: July 4, 2017
    Assignee: Intel Corporation
    Inventors: Justin E. Gottschlich, Gilles A. Pokam, Shiliang Hu, Rolf Kassa, Youfeng Wu, Irina Calciu
  • Patent number: 9639392
    Abstract: A processing device implementing unbounded transactional memory with forward progress guarantees using a hardware global lock is disclosed. A processing device of the disclosure includes a hardware transactional memory (HTM) hardware contention manager to cause a bounded transaction to be translated to an unbounded transaction, the unbounded transaction to acquire a global hardware lock for the unbounded transaction, the global hardware lock read by bounded transactions that abort when the global hardware lock is taken. The processing device further includes an execution unit communicably coupled to the HTM hardware contention manager to execute instructions of the unbounded transaction without speculation, the unbounded transaction to release the global hardware lock upon completion of execution of the instructions.
    Type: Grant
    Filed: December 17, 2013
    Date of Patent: May 2, 2017
    Assignee: Intel Corporation
    Inventors: Justin E. Gottschlich, Irina Calciu, Tatiana Shpeisman, Gilles A. Pokam
  • Patent number: 9588801
    Abstract: An apparatus and method for improving the efficiency with which speculative critical sections are executed within a transactional memory architecture. For example, a method in accordance with one embodiment comprises: waiting to execute a speculative critical section of program code until a lock is freed by a current transaction; responsively executing the speculative critical section to completion upon detecting that the lock has been freed, regardless of whether the lock is held by another transaction during the execution of the speculative critical section; once execution of the speculative critical section is complete, determining whether the lock is taken; and if the lock is not taken, then committing the speculative critical section and, if the lock is taken, then aborting the speculative critical section.
    Type: Grant
    Filed: September 11, 2013
    Date of Patent: March 7, 2017
    Assignee: INTEL CORPORATION
    Inventors: Irina Calciu, Justin E Gottschlich, Tatiana Shpeisman, Gilles A Pokam
  • Publication number: 20160371036
    Abstract: Techniques for improved transactional memory management are described. In one embodiment, for example, an apparatus may comprise a processor element, an execution component for execution by the processor element to concurrently execute a software transaction and a hardware transaction according to a transactional memory process, a tracking component for execution by the processor element to activate a global lock to indicate that the software transaction is undergoing execution, and a finalization component for execution by the processor element to commit the software transaction and deactivate the global lock when execution of the software transaction completes, the finalization component to abort the hardware transaction when the global lock is active when execution of the hardware transaction completes. Other embodiments are described and claimed.
    Type: Application
    Filed: May 20, 2016
    Publication date: December 22, 2016
    Applicant: Intel Corporation
    Inventors: Irina Calciu, Justin E. Gottschlich, Tatiana Shpeisman
  • Patent number: 9361152
    Abstract: Techniques for improved transactional memory management are described. In one embodiment, for example, an apparatus may comprise a processor element, an execution component for execution by the processor element to concurrently execute a software transaction and a hardware transaction according to a transactional memory process, a tracking component for execution by the processor element to activate a global lock to indicate that the software transaction is undergoing execution, and a finalization component for execution by the processor element to commit the software transaction and deactivate the global lock when execution of the software transaction completes, the finalization component to abort the hardware transaction when the global lock is active when execution of the hardware transaction completes. Other embodiments are described and claimed.
    Type: Grant
    Filed: July 15, 2013
    Date of Patent: June 7, 2016
    Assignee: INTEL CORPORATION
    Inventors: Irina Calciu, Justin E. Gottschlich, Tatiana Shpeisman
  • Publication number: 20150277967
    Abstract: In an embodiment of a transactional memory system, an apparatus includes a processor and an execution logic to enable concurrent execution of at least one first software transaction of a first software transaction mode and a second software transaction of a second software transaction mode and at least one hardware transaction of a first hardware transaction mode and at least one second hardware transaction of a second hardware transaction mode. In one example, the execution logic may be implemented within the processor. Other embodiments are described and claimed.
    Type: Application
    Filed: March 26, 2014
    Publication date: October 1, 2015
    Inventors: Irina Calciu, Justin E. Gottschlich, Tatiana Shpeisman, Gilles A. Pokam
  • Publication number: 20150277968
    Abstract: A system is disclosed that includes a processor and a dynamic random access memory (DRAM). The processor includes a hybrid transactional memory (HyTM) that includes hardware transactional memory (HTM), and a program debugger to replay a program that includes an HTM instruction and that has been executed has been executed using the HyTM. The program debugger includes a software emulator that is to replay the HTM instruction by emulation of the HTM. Other embodiments are disclosed and claimed.
    Type: Application
    Filed: March 26, 2014
    Publication date: October 1, 2015
    Inventors: Justin E. Gottschlich, Gilles A. Pokam, Shiliang Hu, Rolf Kassa, Youfeng Wu, Irina Calciu
  • Publication number: 20150169362
    Abstract: A processing device implementing unbounded transactional memory with forward progress guarantees using a hardware global lock is disclosed. A processing device of the disclosure includes a hardware transactional memory (HTM) hardware contention manager to cause a bounded transaction to be translated to an unbounded transaction, the unbounded transaction to acquire a global hardware lock for the unbounded transaction, the global hardware lock read by bounded transactions that abort when the global hardware lock is taken. The processing device further includes an execution unit communicably coupled to the HTM hardware contention manager to execute instructions of the unbounded transaction without speculation, the unbounded transaction to release the global hardware lock upon completion of execution of the instructions.
    Type: Application
    Filed: December 17, 2013
    Publication date: June 18, 2015
    Inventors: Justin E. Gottschlich, Irina Calciu, Tatiana Shpeisman, Gilles A. Pokam
  • Publication number: 20150100741
    Abstract: Techniques for improved transactional memory management are described. In one embodiment, for example, an apparatus may comprise a processor element, an execution component for execution by the processor element to concurrently execute a software transaction and a hardware transaction according to a transactional memory process, a tracking component for execution by the processor element to activate a global lock to indicate that the software transaction is undergoing execution, and a finalization component for execution by the processor element to commit the software transaction and deactivate the global lock when execution of the software transaction completes, the finalization component to abort the hardware transaction when the global lock is active when execution of the hardware transaction completes. Other embodiments are described and claimed.
    Type: Application
    Filed: July 15, 2013
    Publication date: April 9, 2015
    Inventors: Irina Calciu, Justin E. Gottschlich, Tatiana Shpeisman