Patents by Inventor Muthian Sivathanu
Muthian Sivathanu 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: 12190147Abstract: The disclosure herein describes platform-level checkpointing for deep learning (DL) jobs. The checkpointing is performed through capturing two kinds of state data: (i) GPU state (device state), and (ii) CPU state (host state). The GPU state includes GPU data (e.g., model parameters, optimizer state, etc.) that is located in the GPU and GPU context (e.g., the default stream in GPU, various handles created by the libraries such as DNN, Blas, etc.). Only a fraction of the GPU memory is copied because the checkpointing is done in a domain-aware manner. The “active” memory contains useful data like model parameters. To be able to capture the useful data, memory management is controlled to identify which parts of the memory are active. Also, to restore the destination GPU to the same context/state, a mechanism is used to capture such state-changing events on an original GPU and replayed on a destination GPU.Type: GrantFiled: June 26, 2021Date of Patent: January 7, 2025Assignee: Microsoft Technology Licensing, LLC.Inventors: Muthian Sivathanu, Srinidhi Viswanatha, Dharma Kiritkumar Shukla, Nipun Kwatra, Ramachandran Ramjee, Rimma Vladimirovna Nehme, Pankaj Sharma, Bhalakumaaran Erode Ranganathan, Vaibhav Sharma
-
Patent number: 12166829Abstract: The disclosure herein describes platform-level migration for deep learning training (DLT) jobs from a checkpointed stated between a source node and a destination node. The checkpointing is performed through capturing GPU state (e.g., device state) and CPU state (e.g., host state). The GPU state includes GPU data (e.g., model parameters, optimizer state, etc.) that is located in the GPU and GPU context (e.g., the default stream in GPU, various handles created by libraries). Restoring the DLT job on the destination node involves resumption of processing of a destination GPU at the same checkpointed state.Type: GrantFiled: June 7, 2023Date of Patent: December 10, 2024Assignee: Microsoft Technology Licensing, LLC.Inventors: Dharma Kiritkumar Shukla, Muthian Sivathanu, Lu Xun, Rimma Vladimirovna Nehme
-
Publication number: 20230396682Abstract: The disclosure herein describes platform-level migration for deep learning training (DLT) jobs from a checkpointed stated between a source node and a destination node. The checkpointing is performed through capturing GPU state (e.g., device state) and CPU state (e.g., host state). The GPU state includes GPU data (e.g., model parameters, optimizer state, etc.) that is located in the GPU and GPU context (e.g., the default stream in GPU, various handles created by libraries). Restoring the DLT job on the destination node involves resumption of processing of a destination GPU at the same checkpointed state.Type: ApplicationFiled: June 7, 2023Publication date: December 7, 2023Inventors: Dharma Kiritkumar SHUKLA, Muthian SIVATHANU, Lu XUN, Rimma Vladimirovna NEHME
-
Patent number: 11722573Abstract: The disclosure herein describes platform-level migration for deep learning training (DLT) jobs from a checkpointed stated between a source node and a destination node. The checkpointing is performed through capturing GPU state (e.g., device state) and CPU state (e.g., host state). The GPU state includes GPU data (e.g., model parameters, optimizer state, etc.) that is located in the GPU and GPU context (e.g., the default stream in GPU, various handles created by libraries). Restoring the DLT job on the destination node involves resumption of processing of a destination GPU at the same checkpointed state.Type: GrantFiled: June 25, 2021Date of Patent: August 8, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Dharma Kiritkumar Shukla, Muthian Sivathanu, Lu Xun, Rimma Vladimirovna Nehme
-
Publication number: 20230236837Abstract: The disclosure herein describes elastically managing the execution of workers of multi-worker workloads on accelerator devices. A first worker of a workload is executed on an accelerator device during a first time interval. A first context switch point is identified when the first worker is in a first worker state. At the identified context switch point, a first memory state of the first worker is stored in a host memory and the accelerator device is configured to a second memory state of the second worker. The second worker is executed during a second time interval and a second context switch point is identified at the end of the second time interval when the second worker is in a state that is equivalent to the first worker state. During the intervals, collective communication operations between the workers are accumulated and, at the second context switch point, the accumulated operations are performed.Type: ApplicationFiled: June 30, 2022Publication date: July 27, 2023Inventors: Muthian SIVATHANU, Srinidhi VISWANATHA, Bhargav GULAVANI, Dharma Kiritkumar SHUKLA, Rimma Vladimirovna NEHME, Amey AGRAWAL, Ramachandran RAMJEE, Kaustubh WELANKAR, Ravi Shreyas ANUPINDI
-
Publication number: 20220318052Abstract: The disclosure herein describes scheduling execution of artificial intelligence (AI) workloads in a cloud infrastructure platform. A global scheduler receives AI workloads associated with resource ticket values. The scheduler distributes the AI workloads to nodes based on balancing resource ticket values. Local schedulers of the nodes schedule AI workloads on resources based on the resource ticket values of the AI workloads. Based on scheduling the AI workloads, coordinator services of the local schedulers execute the distributed AI workloads on the infrastructure resources of the nodes. The disclosure further describes scheduling AI workloads based on priority tiers. A scheduler receives AI workloads, and each AI workload is associated with a priority tier indicative of a preemption priority while being executed. The AI workloads are scheduled for execution on a distributed set of nodes based on the priority tiers and then execute based on the scheduling.Type: ApplicationFiled: June 28, 2021Publication date: October 6, 2022Inventors: Muthian SIVATHANU, Atul KATIYAR, Dharma Kiritkumar SHUKLA, Rimma Vladimirovna NEHME, Shreshth SINGHAL, Pankaj SHARMA, Nipun KWATRA, Ramachandran RAMJEE
-
Publication number: 20220318674Abstract: The disclosure herein describes managing artificial intelligence (AI) workloads in a cloud infrastructure platform. A set of distributed infrastructure resources are integrated into the cloud infrastructure platform via native support interfaces. AI workloads are received from a plurality of tenants, wherein the AI workloads include training workloads and inferencing workloads and resource subsets of the set of distributed infrastructure resources are assigned to the received AI workloads. The received AI workloads are scheduled for execution on the assigned resource subsets and based on the scheduling of the AI workloads, they are executed on the assigned resource subsets. The described cloud infrastructure platform provides efficient, secure execution of AI workloads for many different tenants and enables the flexible use of a wide variety of both third-party and first-party infrastructure resources.Type: ApplicationFiled: June 28, 2021Publication date: October 6, 2022Inventors: Dharma Kiritkumar SHUKLA, Rimma Vladimirovna NEHME, Pankaj SHARMA, Shreshth SINGHAL, Vipul Arunkant MODI, Muthian SIVATHANU, Atul KATIYAR
-
Publication number: 20220308917Abstract: The disclosure herein describes platform-level checkpointing for deep learning (DL) jobs. The checkpointing is performed through capturing two kinds of state data: (i) GPU state (device state), and (ii) CPU state (host state). The GPU state includes GPU data (e.g., model parameters, optimizer state, etc.) that is located in the GPU and GPU context (e.g., the default stream in GPU, various handles created by the libraries such as DNN, Blas, etc.). Only a fraction of the GPU memory is copied because the checkpointing is done in a domain-aware manner. The “active” memory contains useful data like model parameters. To be able to capture the useful data, memory management is controlled to identify which parts of the memory are active. Also, to restore the destination GPU to the same context/state, a mechanism is used to capture such state-changing events on an original GPU and replayed on a destination GPU.Type: ApplicationFiled: June 26, 2021Publication date: September 29, 2022Inventors: Muthian SIVATHANU, Srinidhi VISWANATHA, Dharma Kiritkumar SHUKLA, Nipun KWATRA, Ramachandran RAMJEE, Rimma Vladimirovna NEHME, Pankaj SHARMA, Bhalakumaaran Erode RANGANATHAN, Vaibhav SHARMA
-
Publication number: 20220311832Abstract: The disclosure herein describes platform-level migration for deep learning training (DLT) jobs from a checkpointed stated between a source node and a destination node. The checkpointing is performed through capturing GPU state (e.g., device state) and CPU state (e.g., host state). The GPU state includes GPU data (e.g., model parameters, optimizer state, etc.) that is located in the GPU and GPU context (e.g., the default stream in GPU, various handles created by libraries). Restoring the DLT job on the destination node involves resumption of processing of a destination GPU at the same checkpointed state.Type: ApplicationFiled: June 25, 2021Publication date: September 29, 2022Inventors: Dharma Kiritkumar SHUKLA, Muthian SIVATHANU, Lu XUN, Rimma Vladimirovna NEHME
-
Patent number: 11405181Abstract: A system includes a set of low resource devices, each configured to receive transactions to be added to an encrypted block chain ledger from a sample of untrusted high resource devices, prepare a proposed block of the received transactions, provide the proposed block to the sample of untrusted high resource devices, receive proposed blocks from the untrusted high resource devices originating from the set of low resource devices. The low resource devices run a consensus protocol to select one proposed block to add to the encrypted block chain ledger stored on the untrusted high resource devices.Type: GrantFiled: July 12, 2019Date of Patent: August 2, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Muthian Sivathanu, Nishanth Chandran, Divya Gupta, Apurv Mehra, Satyanarayana V. Lokam, Sambhav Satija, Sudheesh Singanamalla
-
Publication number: 20210014042Abstract: A system includes a set of low resource devices, each configured to receive transactions to be added to an encrypted block chain ledger from a sample of untrusted high resource devices, prepare a proposed block of the received transactions, provide the proposed block to the sample of untrusted high resource devices, receive proposed blocks from the untrusted high resource devices originating from the set of low resource devices. The low resource devices run a consensus protocol to select one proposed block to add to the encrypted block chain ledger stored on the untrusted high resource devices.Type: ApplicationFiled: July 12, 2019Publication date: January 14, 2021Inventors: Muthian Sivathanu, Nishanth Chandran, Divya Gupta, Apurv Mehra, Satyanarayana V. Lokam, Sambhav Satija, Sudheesh Singanamalla
-
Patent number: 10810206Abstract: Methods, systems, and computer programs are presented for structuring a database to support multiple partitioning orders at the storage layer. One method includes an operation for identifying partitioning fields for a database that is stored distributed across computing devices, where each computing device stores an extent that holds a subset of entries from the database. For each partitioning field, the database entries are stored in extents associated with the partitioning field, the database entries in the extents for the partitioning field being organized based on the value of the partitioning field. Further, the method includes operations for receiving a database query that includes a filter based on values of a selected partitioning field, and for retrieving the data for the database query from one or more of the extents associated with the selected partitioning field. The retrieved data is returned for the database query.Type: GrantFiled: June 15, 2017Date of Patent: October 20, 2020Assignee: Microsoft Technology Licensing, LLCInventor: Muthian Sivathanu
-
Patent number: 10798098Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium for access control for enterprise information. In one aspect, a method includes receiving resources of an enterprise, each resource having a respective access control list specifying access privileges to the resource for one or more members, and the resources including entities related to the enterprise and relationships; identifying entity facts of the entities from the resources; determining, for each entity fact, an entity fact access control list; storing data describing the entities, entity facts and the respective entity fact access control lists, wherein each entity fact is associated with its corresponding entity fact access control list; and providing, to each of the members of the enterprise, access privileges to the data describing the entities and the entity facts according to the respective entity fact access control lists.Type: GrantFiled: April 30, 2019Date of Patent: October 6, 2020Assignee: Google LLCInventors: Brent VerWeyst, Martin James Cochran, Muthian Sivathanu
-
Patent number: 10474650Abstract: Implementations provide an indexing system with near-instant updates to an inverted index while maintaining techniques for query optimization. The system may provision empty positions in posting lists to enable in-place updating, without having to rebuild the posting list or append updates to the end of the posting list. For example, a system comprises at least one processor and memory storing an index that includes at least one posting list that maps a term to a set of the documents. The posting list includes an ordered list of documents and has a plurality of open positions within the ordered list. The memory also stores instructions that, when executed by the at least one processor, cause the system to locate an open position of the plurality of open positions for a new document and to insert the new document into the at least one posting list using the open position.Type: GrantFiled: November 21, 2013Date of Patent: November 12, 2019Assignee: GOOGLE LLCInventors: Muthian Sivathanu, Saurabh Goyal, Rajiv Mathews
-
Publication number: 20190260749Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium for access control for enterprise information. In one aspect, a method includes receiving resources of an enterprise, each resource having a respective access control list specifying access privileges to the resource for one or more members, and the resources including entities related to the enterprise and relationships; identifying entity facts of the entities from the resources; determining, for each entity fact, an entity fact access control list; storing data describing the entities, entity facts and the respective entity fact access control lists, wherein each entity fact is associated with its corresponding entity fact access control list; and providing, to each of the members of the enterprise, access privileges to the data describing the entities and the entity facts according to the respective entity fact access control lists.Type: ApplicationFiled: April 30, 2019Publication date: August 22, 2019Inventors: Brent VerWeyst, Martin James Cochran, Muthian Sivathanu
-
Patent number: 10326768Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium for access control for enterprise information. In one aspect, a method includes receiving resources of an enterprise, each resource having a respective access control list specifying access privileges to the resource for one or more members, and the resources including entities related to the enterprise and relationships; identifying entity facts of the entities from the resources; determining, for each entity fact, an entity fact access control list; storing data describing the entities, entity facts and the respective entity fact access control lists, wherein each entity fact is associated with its corresponding entity fact access control list; and providing, to each of the members of the enterprise, access privileges to the data describing the entities and the entity facts according to the respective entity fact access control lists.Type: GrantFiled: May 28, 2015Date of Patent: June 18, 2019Assignee: Google LLCInventors: Brent VerWeyst, Martin James Cochran, Muthian Sivathanu
-
Publication number: 20180365292Abstract: Methods, systems, and computer programs are presented for structuring a database to support multiple partitioning orders at the storage layer. One method includes an operation for identifying partitioning fields for a database that is stored distributed across computing devices, where each computing device stores an extent that holds a subset of entries from the database. For each partitioning field, the database entries are stored in extents associated with the partitioning field, the database entries in the extents for the partitioning field being organized based on the value of the partitioning field. Further, the method includes operations for receiving a database query that includes a filter based on values of a selected partitioning field, and for retrieving the data for the database query from one or more of the extents associated with the selected partitioning field. The retrieved data is returned for the database query.Type: ApplicationFiled: June 15, 2017Publication date: December 20, 2018Inventor: Muthian Sivathanu
-
Patent number: 10102268Abstract: A system for efficiently responding to proximity queries may include a memory storing an index for searching a graph-based data store, the index including posting lists for one or more proximity ranges compatible with a space. A posting list can include one or more entities of a type compatible with the space, each entity having a location within the space, the location being a basic unit in a location hierarchy for the space and, for each entity, at least one node in the location hierarchy that falls within the proximity range of the posting list with reference to the location of the entity. The system may also include a memory storing instructions that cause the system to use the index to respond to a query that includes a query proximity range for the space. The space can be a geographic space or a time space.Type: GrantFiled: December 27, 2016Date of Patent: October 16, 2018Assignee: GOOGLE LLCInventors: Muthian Sivathanu, Puneet Garg, Rajesh S R
-
Patent number: 10073874Abstract: Implementations provide an indexing system with an instant failover that uses a moving snapshot window. For example, a method may include receiving, by a processor, a query and determining that a main query processing engine is not responding. The method may further include generating a search result for the query using a secondary query processing engine that applies at least one snapshot record to a portion of a posting list, the snapshot record including the portion of the posting list as it appeared before a modification, and the modification occurring within a predetermined time before receiving the query. The portion is a fixed size smaller than the posting list. Applying the snapshot record can include overlaying the portion of the posting list with the snapshot record beginning at an offset specified by the snapshot record. The main query processing engine generates a search result without applying snapshot records.Type: GrantFiled: November 21, 2013Date of Patent: September 11, 2018Assignee: GOOGLE LLCInventors: Muthian Sivathanu, Saurabh Goyal, Rajiv Mathews
-
Patent number: 9576007Abstract: A search index for searching a graph-based data store can include triple entries, each triple entry having a posting list value, at least one intersection identifier associated with the posting list value, and at least one result identifier associated with the intersection identifier. The index may also include search entries having a posting list value that corresponds to a text search aid. The search index may also include pre-computed path entries, such as chain path entries and converge path entries. The index may also include bucket posting lists representing ranges of object values for a particular predicate and proximity posting lists that include one or more entities and the areas of a location hierarchy with locations within the proximity of the entity. Queries for the data graph may have at least two stages, each stage being associated with a posting list from a graph index.Type: GrantFiled: December 10, 2013Date of Patent: February 21, 2017Assignee: Google Inc.Inventors: Muthian Sivathanu, Puneet Garg, Rajesh S R