Patents by Inventor Rathijit Sen
Rathijit Sen 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: 20240126604Abstract: A system provisioning resources of a processing unit. The system predicts a performance impact on a workload attributable to a performance constraint of the processing unit for the workload according to a resource model, wherein the workload includes a query and the resource model characterizes attainable compute bandwidth, attainable memory bandwidth, and arithmetic intensity based on peak compute bandwidth and peak memory bandwidth of the processing unit. The system determines a resource allocation of the processing unit, based on the predicted performance impact and instructs the processing unit to allocate the resources for processing the workload based on the determined resource allocation.Type: ApplicationFiled: January 30, 2023Publication date: April 18, 2024Inventors: Rathijit SEN, Matteo INTERLANDI, Jiashen CAO
-
Publication number: 20240119050Abstract: Example aspects include techniques for query processing over deep neural network runtimes. These techniques include receiving a query including a query operator and a trainable user defined function (UDF). In addition, the techniques include determining a query representation based on the query, and determining, for performing the query in a neural network runtime, an initial neural network program based on the query representation, the initial neural network program including a differentiable operators corresponding to the query operator. and executing the neural network program in the neural network runtime over the neural network data structure to generate a query result. Further, the techniques include training the initial neural network program via the neural network runtime to determine a trained neural network program, and executing the trained neural network program in the neural network runtime to generate inference information.Type: ApplicationFiled: October 11, 2022Publication date: April 11, 2024Inventors: Matteo INTERLANDI, Apurva Sandeep Gandhi, Yuki Asada, Advitya Gemawat, Victor Renjie Fu, Lihao Zhang, Rathijit Sen, Dalitso Hansini Banda
-
Patent number: 11934874Abstract: A serverless query processing system receives a query and determines whether the query is a recurring query or a non-recurring query. The system may predict, in response to determining that the query is the recurring query, a peak resource requirement during an execution of the query. The system may compute, in response to determining that the query is the non-recurring query, a tight resource requirement corresponding to an amount of resources that satisfy a performance requirement over the execution of the query, where the tight resource requirement is less than the peak resource requirement. The system allocates resources to the query based on an applicable one of the peak resource requirement or the tight resource requirement. The system then starts the execution of the query using the resources.Type: GrantFiled: August 24, 2022Date of Patent: March 19, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Hiren Shantilal Patel, Shi Qiao, Alekh Jindal, Malay Kumar Bag, Rathijit Sen, Carlo Aldo Curino
-
Publication number: 20230376800Abstract: Methods, systems and computer program products are provided for predicting runtime variation in big data analytics. Runtime probability distributions may be predicted for proposed computing jobs. A predictor may classify proposed computing jobs based on multiple runtime probability distributions that represent multiple clusters of runtime probability distributions for multiple executed recurring computing job groups. Proposed computing jobs may be classified as delta-normalized runtime probability distributions and/or a ratio-normalized runtime probability distributions. Sources of runtime variation may be identified with a quantitative contribution to predicted runtime variation. A runtime probability distribution editor may indicate modifications to sources of runtime variation in a proposed computing job and/or predict reductions in predicted runtime variation provided by modifications to a proposed computing job.Type: ApplicationFiled: May 17, 2022Publication date: November 23, 2023Inventors: Yiwen ZHU, Rathijit SEN, Robert McArn HORTON, John Mark AGOSTA
-
Patent number: 11734480Abstract: Embodiments described herein are directed to a microarchitecture modeling tool configured to model and analyze a microarchitecture using a dependency graph. The dependency graph may be generated based on an execution trace of a program and a microarchitecture definition that specifies various features and/or characteristics of the microarchitecture on which the execution trace is based. The dependency graph includes vertices representing different microarchitectural events. The vertices are coupled via edges representing a particular dependency therebetween. The edges are associated with a cost for performing microarchitectural event(s) corresponding to the vertices coupled thereto. The dependency graph also takes into account various policies for structural hazards of the microarchitecture. The microarchitecture modeling tool analyzes the costs associated with each of the edges to determine a design metric of the microarchitecture.Type: GrantFiled: December 18, 2018Date of Patent: August 22, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Gagan Gupta, Rathijit Sen, Hossein Golestani
-
Publication number: 20230244662Abstract: Example aspects include techniques for query processing over deep neural network runtimes. These techniques may include receiving a query including one or more query operators and determining a query representation based on the one or more query operators. In addition, the techniques may include determining a neural network program based on the query representation, the neural network program including one or more neural network operators for performing the query in a neural network runtime, generating a neural network data structure based on a dataset associated with the query, and executing the neural network program in the neural network runtime over the neural network data structure to generate a query result.Type: ApplicationFiled: January 28, 2022Publication date: August 3, 2023Inventors: Matteo INTERLANDI, Konstantinos KARANASOS, Dong HE, Dalitso Hansini BANDA, Jesus CAMACHO RODRIGUEZ, Rathijit SEN, Supun Chathurang NAKANDALA
-
Publication number: 20220413914Abstract: A serverless query processing system receives a query and determines whether the query is a recurring query or a non-recurring query. The system may predict, in response to determining that the query is the recurring query, a peak resource requirement during an execution of the query. The system may compute, in response to determining that the query is the non-recurring query, a tight resource requirement corresponding to an amount of resources that satisfy a performance requirement over the execution of the query, where the tight resource requirement is less than the peak resource requirement. The system allocates resources to the query based on an applicable one of the peak resource requirement or the tight resource requirement. The system then starts the execution of the query using the resources.Type: ApplicationFiled: August 24, 2022Publication date: December 29, 2022Inventors: Hiren Shantilal PATEL, Shi QIAO, Alekh JINDAL, Malay Kumar BAG, Rathijit SEN, Carlo Aldo CURINO
-
Patent number: 11455192Abstract: A serverless query processing system receives a query and determines whether the query is a recurring query or a non-recurring query. The system may predict, in response to determining that the query is the recurring query, a peak resource requirement during an execution of the query. The system may compute, in response to determining that the query is the non-recurring query, a tight resource requirement corresponding to an amount of resources that satisfy a performance requirement over the execution of the query, where the tight resource requirement is less than the peak resource requirement. The system allocates resources to the query based on an applicable one of the peak resource requirement or the tight resource requirement. The system then starts the execution of the query using the resources.Type: GrantFiled: November 27, 2019Date of Patent: September 27, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Hiren Shantilal Patel, Shi Qiao, Alekh Jindal, Malay Kumar Bag, Rathijit Sen, Carlo Aldo Curino
-
Publication number: 20220100763Abstract: Solutions for optimizing job runtimes via prediction-based token allocation includes receiving training data comprising historical run data, the historical run data comprising job characteristics, runtime results, and a token count for each of a plurality of prior jobs, and the job characteristics comprising an intermediate representation and job graph data; based at least on the training data, training a token estimator, the token estimator comprising a machine learning (ML) model; receiving job characteristics for a user-submitted job; based at least on the received job characteristics, generating, with the token estimator, token prediction data for the user-submitted job; selecting a token count for the user-submitted job, based at least on the token prediction data; identifying the selected token count to an execution environment; and executing, with the execution environment, the user-submitted job in accordance with the selected token count.Type: ApplicationFiled: September 30, 2020Publication date: March 31, 2022Inventors: Rathijit SEN, Alekh JINDAL, Anish Yatin PIMPLEY, Shuo LI, Anubha SRIVASTAVA, Vishal Lalchand ROHRA, Yi ZHU, Hiren Shantilal PATEL, Shi QIAO, Marc Todd FRIEDMAN, Clemens Alden SZYPERSKI
-
Patent number: 11176129Abstract: Methods for automatic selection of degrees of parallelism for efficient execution of queries in a database system are performed by systems and devices. An incoming query associated with a query system is received and features of the incoming query are determined. A system state of the query system and a set of executing queries are also determined, along with a query state of each executing query in the set. At runtime of the incoming query, allocation of a degree of parallelism for executing the query is determined by calculating different possible execution times for the incoming query at least partially concurrently with the set of executing queries. Execution times are calculated for different parallel thread options and based on query features, system state, or query states of executing queries. The execution of the incoming query is initialized with the parallel thread option corresponding to a specific execution completion time.Type: GrantFiled: September 30, 2018Date of Patent: November 16, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Zhiwei Fan, Rathijit Sen, Harshada Chavan, Alan Halverson
-
Publication number: 20210124739Abstract: The description relates to executing an inference query relative to a database management system, such as a relational database management system. In one example a trained machine learning model can be stored within the database management system. An inference query can be received that applies the trained machine learning model on data local to the database management system. Analysis can be performed on the inference query and the trained machine learning model to generate a unified intermediate representation of the inference query and the trained model. Cross optimization can be performed on the unified intermediate representation. Based upon the cross-optimization, a first portion of the unified intermediate representation to be executed by a database engine of the database management system can be determined, and, a second portion of the unified intermediate representation to be executed by a machine learning runtime can be determined.Type: ApplicationFiled: August 11, 2020Publication date: April 29, 2021Applicant: Microsoft Technology Licensing, LLCInventors: Konstantinos KARANASOS, Matteo INTERLANDI, Fotios PSALLIDAS, Rathijit SEN, Kwanghyun PARK, Ivan POPIVANOV, Subramaniam VENKATRAMAN KRISHNAN, Markus WEIMER, Yuan YU, Raghunath RAMAKRISHNAN, Carlo Aldo CURINO, Doris Suiyi XIN, Karla Jean SAUR
-
Publication number: 20210096915Abstract: A serverless query processing system receives a query and determines whether the query is a recurring query or a non-recurring query. The system may predict, in response to determining that the query is the recurring query, a peak resource requirement during an execution of the query. The system may compute, in response to determining that the query is the non-recurring query, a tight resource requirement corresponding to an amount of resources that satisfy a performance requirement over the execution of the query, where the tight resource requirement is less than the peak resource requirement. The system allocates resources to the query based on an applicable one of the peak resource requirement or the tight resource requirement. The system then starts the execution of the query using the resources.Type: ApplicationFiled: November 27, 2019Publication date: April 1, 2021Inventors: Hiren Shantilal PATEL, Shi QIAO, Alekh JINDAL, Malay Kumar BAG, Rathijit SEN, Carlo Aldo CURINO
-
Publication number: 20210089532Abstract: The cloud-based query workload optimization system disclosed herein the cloud-based query workloads optimization system receives query logs from various query engines to a cloud data service, extracts various query entities from the query logs, parses query entities to generate a set of common workload features, generates intermediate representations of the query workloads, wherein the intermediate representations are agnostic to the language of the plurality of the queries, identifies a plurality of workload patterns based on the intermediate representations of the query workloads, categorizes the workloads in one or more workload type categories based on the workload patterns and the workload features, and selects an optimization scheme based on the category of workload pattern.Type: ApplicationFiled: September 25, 2019Publication date: March 25, 2021Inventors: Hiren S. PATEL, Rathijit SEN, Zhicheng YIN, Shi QIAO, Abhishek ROY, Alekh JINDAL, Subramaniam Venkatraman KRISHNAN, Carlo Aldo CURINO
-
Patent number: 10789247Abstract: According to examples, an apparatus may include a machine readable medium on which is stored machine readable instructions that may cause a processor to, for each of a plurality of resource setting levels, determine resource usage characteristics and execution times of executed workloads, assign, based on the resource usage characteristics of the executed workloads, each of the executed workloads into one of a plurality of resource bins, determine, for each of the resource bins, an average execution time of the executed workloads in the resource bin, determine a total average execution time of the executed workloads from the determined average execution times, identify a lowest total average execution time of the determined total average execution times, determine the resource setting level corresponding to the identified lowest total average execution time, and tune a resource setting to the determined resource setting level.Type: GrantFiled: May 22, 2018Date of Patent: September 29, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rathijit Sen, Karthik S. Ramachandra, Alan D. Halverson
-
Publication number: 20200192994Abstract: Embodiments described herein are directed to a microarchitecture modeling tool configured to model and analyze a microarchitecture using a dependency graph. The dependency graph may be generated based on an execution trace of a program and a microarchitecture definition that specifies various features and/or characteristics of the microarchitecture on which the execution trace is based. The dependency graph includes vertices representing different microarchitectural events. The vertices are coupled via edges representing a particular dependency therebetween. The edges are associated with a cost for performing microarchitectural event(s) corresponding to the vertices coupled thereto. The dependency graph also takes into account various policies for structural hazards of the microarchitecture. The microarchitecture modeling tool analyzes the costs associated with each of the edges to determine a design metric of the microarchitecture.Type: ApplicationFiled: December 18, 2018Publication date: June 18, 2020Inventors: Gagan Gupta, Rathijit Sen, Hossein Golestani
-
Publication number: 20200104397Abstract: Methods for automatic selection of degrees of parallelism for efficient execution of queries in a database system are performed by systems and devices. An incoming query associated with a query system is received and features of the incoming query are determined. A system state of the query system and a set of executing queries are also determined, along with a query state of each executing query in the set. At runtime of the incoming query, allocation of a degree of parallelism for executing the query is determined by calculating different possible execution times for the incoming query at least partially concurrently with the set of executing queries. Execution times are calculated for different parallel thread options and based on query features, system state, or query states of executing queries. The execution of the incoming query is initialized with the parallel thread option corresponding to a specific execution completion time.Type: ApplicationFiled: September 30, 2018Publication date: April 2, 2020Inventors: Zhiwei Fan, Rathijit Sen, Harshada Chavan, Alan Halverson
-
Patent number: 10551901Abstract: A frequency governing method for a processor includes reading power management information from the processor. The processor operates in an active state or one of multiple power saving states. The power management information includes first information indicating occupancy of a first core of the processor in the active state and second information indicating occupancy of the first core in a first power saving state. The method includes generating an effective utilization based on the first information and the second information. The method includes setting a target frequency by performing a selected action of a first action including increasing the target frequency and a second action including decreasing the target frequency with respect to a current frequency of the processor based on the effective utilization. The selected action is selected according to the effective utilization. The method includes instructing the processor to operate the first core at the target frequency.Type: GrantFiled: July 1, 2017Date of Patent: February 4, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rathijit Sen, Alan Dale Halverson
-
Publication number: 20190362005Abstract: According to examples, an apparatus may include a machine readable medium on which is stored machine readable instructions that may cause a processor to, for each of a plurality of resource setting levels, determine resource usage characteristics and execution times of executed workloads, assign, based on the resource usage characteristics of the executed workloads, each of the executed workloads into one of a plurality of resource bins, determine, for each of the resource bins, an average execution time of the executed workloads in the resource bin, determine a total average execution time of the executed workloads from the determined average execution times, identify a lowest total average execution time of the determined total average execution times, determine the resource setting level corresponding to the identified lowest total average execution time, and tune a resource setting to the determined resource setting level.Type: ApplicationFiled: May 22, 2018Publication date: November 28, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Rathijit SEN, Karthik S. Ramachandra, Alan D. Halverson
-
Publication number: 20190004585Abstract: A frequency governing method for a processor includes reading power management information from the processor. The processor operates in an active state or one of multiple power saving states. The power management information includes first information indicating occupancy of a first core of the processor in the active state and second information indicating occupancy of the first core in a first power saving state. The method includes generating an effective utilization based on the first information and the second information. The method includes setting a target frequency by performing a selected action of a first action including increasing the target frequency and a second action including decreasing the target frequency with respect to a current frequency of the processor based on the effective utilization. The selected action is selected according to the effective utilization. The method includes instructing the processor to operate the first core at the target frequency.Type: ApplicationFiled: July 1, 2017Publication date: January 3, 2019Inventors: Alan Dale HALVERSON, Rathijit SEN
-
Patent number: 9965343Abstract: Disclosed is a method of determining concurrency factors for an application running on a parallel processor. Also disclosed is a system for implementing the method. In an embodiment, the method includes running at least a portion of the kernel as sequences of mini-kernels, each mini-kernel including a number of concurrently executing workgroups. The number of concurrently executing workgroups is defined as a concurrency factor of the mini-kernel. A performance measure is determined for each sequence of mini-kernels. From the sequences, a particular sequence is chosen that achieves a desired performance of the kernel, based on the performance measures. The kernel is executed with the particular sequence.Type: GrantFiled: May 13, 2015Date of Patent: May 8, 2018Assignee: Advanced Micro Devices, Inc.Inventors: Rathijit Sen, Indrani Paul, Wei Huang