Patents by Inventor Madanlal Musuvathi
Madanlal Musuvathi 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: 10922620Abstract: Systems, methods, and computer media for machine learning through a symbolic, parallelized stochastic gradient descent (SGD) analysis are provided. An initial data portion analyzer can be configured to perform, using a first processor, SGD analysis on an initial portion of a training dataset. Values for output model weights for the initial portion are initialized to concrete values. Local model builders can be configured to perform, using an additional processor for each local model builder, symbolic SGD analysis on an additional portion of the training dataset. The symbolic SGD analysis uses a symbolic representation as an initial state for output model weights for the corresponding portions of the training dataset. The symbolic representation allows the SGD analysis and symbolic SGD analysis to be performed in parallel. A global model builder can be configured to combine outputs of the local model builders and the initial data portion analyzer into a global model.Type: GrantFiled: January 26, 2016Date of Patent: February 16, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Todd Mytkowicz, Madanlal Musuvathi, Yufei Ding
-
Patent number: 10067989Abstract: Concepts and technologies are described herein providing technologies for mining patterns in temporal data streams. Data is broken into data sub-portions. Dependencies in computation between one or more of the data sub-portions are broken using symbolic data types. Symbolic summaries of computations of sub-portions are performed in parallel and are reduced to generate an output.Type: GrantFiled: April 17, 2015Date of Patent: September 4, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Madanlal Musuvathi, Todd D. Mytkowicz, Veselin Raychev
-
Patent number: 9955194Abstract: Various technologies described herein pertain to performing collaborative rendering. A GPU of a mobile device can generate a mobile-rendered video stream based on a first instance of an application executed on the mobile device. A GPU of a server can generate one or more server-rendered video streams based on instance(s) of the application executed on the server. Based on the one or more server-rendered video streams, the server can generate a compressed server-manipulated video stream. The mobile device can further combine the mobile-rendered video stream and the compressed server-manipulated video stream to form a collaborative video stream, and a display screen of the mobile device can be caused to display the collaborative video stream. The mobile-rendered video stream can have a first level of a quality attribute and the collaborative video stream can have a second level of the quality attribute greater than the first level of the quality attribute.Type: GrantFiled: January 19, 2016Date of Patent: April 24, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Alastair Wolman, Eduardo Alberto Cuervo Laffaye, Stefan Saroiu, Madanlal Musuvathi
-
Publication number: 20170213148Abstract: Systems, methods, and computer media for machine learning through a symbolic, parallelized stochastic gradient descent (SGD) analysis are provided. An initial data portion analyzer can be configured to perform, using a first processor, SGD analysis on an initial portion of a training dataset. Values for output model weights for the initial portion are initialized to concrete values. Local model builders can be configured to perform, using an additional processor for each local model builder, symbolic SGD analysis on an additional portion of the training dataset. The symbolic SGD analysis uses a symbolic representation as an initial state for output model weights for the corresponding portions of the training dataset. The symbolic representation allows the SGD analysis and symbolic SGD analysis to be performed in parallel. A global model builder can be configured to combine outputs of the local model builders and the initial data portion analyzer into a global model.Type: ApplicationFiled: January 26, 2016Publication date: July 27, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Todd Mytkowicz, Madanlal Musuvathi, Yufei Ding
-
Publication number: 20160306859Abstract: Concepts and technologies are described herein providing technologies for mining patterns in temporal data streams. Data is broken into data sub-portions. Dependencies in computation between one or more of the data sub-portions are broken using symbolic data types. Symbolic summaries of computations of sub-portions are performed in parallel and are reduced to generate an output.Type: ApplicationFiled: April 17, 2015Publication date: October 20, 2016Inventors: Madanlal Musuvathi, Todd D. Mytkowicz, Veselin Raychev
-
Patent number: 9384239Abstract: Various technologies described herein pertain to parallel local sequence alignment that aligns a query sequence with a database sequence. The database sequence is segmented into a plurality of stripes. A first processing unit can compute Smith-Waterman values for a first stripe of the database sequence across the query sequence based on a cost function that models biological similarity between sequences. Moreover, a second processing unit can compute Smith-Waterman values for a second stripe of the database sequence across the query sequence based on the cost function. Further, a subset of the Smith-Waterman values for the second stripe of the database sequence across the query sequence can be re-computed based on the cost function (e.g., by the first processing unit or the second processing unit). The subset of the Smith-Waterman values to be re-computed can be determined based on a query sequence length and the cost function.Type: GrantFiled: December 17, 2012Date of Patent: July 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Madanlal Musuvathi, Todd Mytkowicz
-
Publication number: 20160134907Abstract: Various technologies described herein pertain to performing collaborative rendering. A GPU of a mobile device can generate a mobile-rendered video stream based on a first instance of an application executed on the mobile device. A GPU of a server can generate one or more server-rendered video streams based on instance(s) of the application executed on the server. Based on the one or more server-rendered video streams, the server can generate a compressed server-manipulated video stream. The mobile device can further combine the mobile-rendered video stream and the compressed server-manipulated video stream to form a collaborative video stream, and a display screen of the mobile device can be caused to display the collaborative video stream. The mobile-rendered video stream can have a first level of a quality attribute and the collaborative video stream can have a second level of the quality attribute greater than the first level of the quality attribute.Type: ApplicationFiled: January 19, 2016Publication date: May 12, 2016Inventors: Alastair Wolman, Eduardo Alberto Cuervo Laffaye, Stefan Saroiu, Madanlal Musuvathi
-
Patent number: 9264749Abstract: Various technologies described herein pertain to performing collaborative rendering. A GPU of a mobile device can generate a mobile-rendered video stream based on a first instance of an application executed on the mobile device. A GPU of a server can generate one or more server-rendered video streams based on instance(s) of the application executed on the server. Based on the one or more server-rendered video streams, the server can generate a compressed server-manipulated video stream. The mobile device can further combine the mobile-rendered video stream and the compressed server-manipulated video stream to form a collaborative video stream, and a display screen of the mobile device can be caused to display the collaborative video stream. The mobile-rendered video stream can have a first level of a quality attribute and the collaborative video stream can have a second level of the quality attribute greater than the first level of the quality attribute.Type: GrantFiled: December 13, 2012Date of Patent: February 16, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Alastair Wolman, Eduardo Alberto Cuervo Laffaye, Stefan Saroiu, Madanlal Musuvathi
-
Patent number: 9195436Abstract: The techniques and/or systems described herein implement parallel processing of a dynamic programming problem across stages and/or clusters by breaking dependencies between stages and/or clusters. For instance, the techniques and/or systems may identify dependencies between sub-problems of the dynamic programming problem and group the sub-problems into stages. The techniques and/or systems may also group the stages into clusters (e.g., at least two clusters to be parallel processed). Then, the techniques and/or systems generate one or more solutions to use instead of actual solutions so that the dynamic programming problem can be parallel processed across stages and/or clusters.Type: GrantFiled: April 21, 2014Date of Patent: November 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Todd D. Mytkowicz, Madanlal Musuvathi, Saeed Maleki
-
Patent number: 9063778Abstract: Techniques for providing a fair stateless model checker are disclosed. In some aspects, a schedule is generated to allocate resources for threads of a multi-thread program in lieu of having an operating system allocate resources for the threads. The generated schedule is both fair and exhaustive. In an embodiment, a priority graph may be implemented to reschedule a thread when a different thread is determined not to be making progress. A model checker may then implement one of the generated schedules in the program in order to determine if a bug or a livelock occurs during the particular execution of the program. An output by the model checker may facilitate identifying bugs and/or livelocks, or authenticate a program as operating correctly.Type: GrantFiled: January 9, 2008Date of Patent: June 23, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Madanlal Musuvathi, Shaz Qadeer
-
Patent number: 9053227Abstract: A concurrency assertions system disclosed herein provides for atomic evaluation of an assertion expression by locking an assertion lock upon initiating an assertion and thereby protecting the assertion evaluation from concurrent modifications to the variables in the assertion expressions. When a violation of an assertion is detected, the concurrency assertions system ensures that the exception statistics at the time of the assertion violation represents a program state where the assertion is violated, thus improving analysis of assertion violations. Furthermore, the concurrency assertions system continuously evaluates an expression for an assertion for a time period while other threads in the program are being executed.Type: GrantFiled: March 9, 2012Date of Patent: June 9, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Jacob Samuels Burnim, Madanlal Musuvathi, Shaz Qadeer
-
Publication number: 20150106783Abstract: The techniques and/or systems described herein implement parallel processing of a dynamic programming problem across stages and/or clusters by breaking dependencies between stages and/or clusters. For instance, the techniques and/or systems may identify dependencies between sub-problems of the dynamic programming problem and group the sub-problems into stages. The techniques and/or systems may also group the stages into clusters (e.g., at least two clusters to be parallel processed). Then, the techniques and/or systems generate one or more solutions to use instead of actual solutions so that the dynamic programming problem can be parallel processed across stages and/or clusters.Type: ApplicationFiled: April 21, 2014Publication date: April 16, 2015Applicant: Microsoft CorporationInventors: Todd D. Mytkowicz, Madanlal Musuvathi, Saeed Maleki
-
Publication number: 20140172824Abstract: Various technologies described herein pertain to parallel local sequence alignment that aligns a query sequence with a database sequence. The database sequence is segmented into a plurality of stripes. A first processing unit can compute Smith-Waterman values for a first stripe of the database sequence across the query sequence based on a cost function that models biological similarity between sequences. Moreover, a second processing unit can compute Smith-Waterman values for a second stripe of the database sequence across the query sequence based on the cost function. Further, a subset of the Smith-Waterman values for the second stripe of the database sequence across the query sequence can be re-computed based on the cost function (e.g., by the first processing unit or the second processing unit). The subset of the Smith-Waterman values to be re-computed can be determined based on a query sequence length and the cost function.Type: ApplicationFiled: December 17, 2012Publication date: June 19, 2014Applicant: MICROSOFT CORPORATIONInventors: Madanlal Musuvathi, Todd Mytkowicz
-
Publication number: 20140173674Abstract: Various technologies described herein pertain to performing collaborative rendering. A GPU of a mobile device can generate a mobile-rendered video stream based on a first instance of an application executed on the mobile device. A GPU of a server can generate one or more server-rendered video streams based on instance(s) of the application executed on the server. Based on the one or more server-rendered video streams, the server can generate a compressed server-manipulated video stream. The mobile device can further combine the mobile-rendered video stream and the compressed server-manipulated video stream to form a collaborative video stream, and a display screen of the mobile device can be caused to display the collaborative video stream. The mobile-rendered video stream can have a first level of a quality attribute and the collaborative video stream can have a second level of the quality attribute greater than the first level of the quality attribute.Type: ApplicationFiled: December 13, 2012Publication date: June 19, 2014Applicant: MICROSOFT CORPORATIONInventors: Alastair Wolman, Eduardo Alberto Cuervo Laffaye, Stefan Saroiu, Madanlal Musuvathi
-
Publication number: 20130239120Abstract: A concurrency assertions system disclosed herein provides for atomic evaluation of an assertion expression by locking an assertion lock upon initiating an assertion and thereby protecting the assertion evaluation from concurrent modifications to the variables in the assertion expressions. When a violation of an assertion is detected, the concurrency assertions system ensures that the exception statistics at the time of the assertion violation represents a program state where the assertion is violated, thus improving analysis of assertion violations. Furthermore, the concurrency assertions system continuously evaluates an expression for an assertion for a time period while other threads in the program are being executed.Type: ApplicationFiled: March 9, 2012Publication date: September 12, 2013Applicant: Microsoft CorporationInventors: Jacob Samuels Burnim, Madanlal Musuvathi, Shaz Qadeer
-
Patent number: 8418146Abstract: This document describes a dynamic data race detector that utilizes adaptive sampling techniques. The adaptive sampling techniques include locating threads during execution of a multi-threaded program and identifying thread-specific hot paths, thread-specific cold paths and lockset paths during execution of the program. Once these paths are identified, they are sampled, potentially at different rates. Any information gained during the sampling may be stored in a data race log, which a developer may use to correct any identified program bugs.Type: GrantFiled: November 26, 2008Date of Patent: April 9, 2013Assignee: Microsoft CorporationInventors: Madanlal Musuvathi, Daniel Marino, Satish Narayanasamy
-
Patent number: 8392891Abstract: A system and method capable of finding relaxed memory-model vulnerabilities in a computer program caused by running on a machine having a relaxed memory model. A relaxed memory model vulnerability in a computer program includes the presence of program executions that are not sequentially consistent. In one embodiment, non-sequentially consistent executions are detected by exploring sequentially consistent executions.Type: GrantFiled: June 26, 2008Date of Patent: March 5, 2013Assignee: Microsoft CorporationInventors: Sebastian Burckhardt, Madanlal Musuvathi
-
Patent number: 7873945Abstract: The present invention extends to methods, systems, and computer program products for automatically generating test cases for binary code. Embodiments of the present invention can automatically generate test inputs for systematically covering program execution paths within binary code. By monitoring program execution of the binary code on existing or random test cases, branch predicates on execution paths can be dynamically inferred. These inferred branch predicates can then be used to drive the program along previously unexplored execution paths, enabling the learning of further execution paths. Embodiments of the invention can be used in combination with other analysis and testing techniques to provide better test coverage and expose program errors.Type: GrantFiled: June 29, 2007Date of Patent: January 18, 2011Assignee: Microsoft CorporationInventors: Madanlal Musuvathi, Lin Tan
-
Publication number: 20100153928Abstract: A network service runtime module executing on a processor is configured to accept a directed acyclic service graph representing elements of a network service application. During execution of the service graph, runtime events are stored. The service graph may by optimized by generating alternate service graphs, and simulating performance of the alternate service graphs in a simulator using the stored runtime events. A hill climber algorithm may be used in conjunction with the simulator to vary alternate service graphs and determine which alternate service graphs provide the greatest utility. Once determined, an alternate service graph with the greatest utility may be loaded into the network service runtime module for execution.Type: ApplicationFiled: December 16, 2008Publication date: June 17, 2010Applicant: Microsoft CorporationInventors: Benjamin Livshits, Emre M. Kiciman, Alexander C. Rasmussen, Madanlal Musuvathi
-
Publication number: 20100131931Abstract: This document describes a dynamic data race detector that utilizes adaptive sampling techniques. The adaptive sampling techniques include locating threads during execution of a multi-threaded program and identifying thread-specific hot paths, thread-specific cold paths and lockset paths during execution of the program. Once these paths are identified, they are sampled, potentially at different rates.Type: ApplicationFiled: November 26, 2008Publication date: May 27, 2010Applicant: Microsoft CorporationInventors: Madanlal Musuvathi, Daniel Marino, Satish Narayanasamy