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: 20240126604
    Abstract: 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: Application
    Filed: January 30, 2023
    Publication date: April 18, 2024
    Inventors: Rathijit SEN, Matteo INTERLANDI, Jiashen CAO
  • Publication number: 20240119050
    Abstract: 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: Application
    Filed: October 11, 2022
    Publication date: April 11, 2024
    Inventors: Matteo INTERLANDI, Apurva Sandeep Gandhi, Yuki Asada, Advitya Gemawat, Victor Renjie Fu, Lihao Zhang, Rathijit Sen, Dalitso Hansini Banda
  • Patent number: 11934874
    Abstract: 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: Grant
    Filed: August 24, 2022
    Date of Patent: March 19, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Hiren Shantilal Patel, Shi Qiao, Alekh Jindal, Malay Kumar Bag, Rathijit Sen, Carlo Aldo Curino
  • Publication number: 20230376800
    Abstract: 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: Application
    Filed: May 17, 2022
    Publication date: November 23, 2023
    Inventors: Yiwen ZHU, Rathijit SEN, Robert McArn HORTON, John Mark AGOSTA
  • Patent number: 11734480
    Abstract: 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: Grant
    Filed: December 18, 2018
    Date of Patent: August 22, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Gagan Gupta, Rathijit Sen, Hossein Golestani
  • Publication number: 20230244662
    Abstract: 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: Application
    Filed: January 28, 2022
    Publication date: August 3, 2023
    Inventors: Matteo INTERLANDI, Konstantinos KARANASOS, Dong HE, Dalitso Hansini BANDA, Jesus CAMACHO RODRIGUEZ, Rathijit SEN, Supun Chathurang NAKANDALA
  • Publication number: 20220413914
    Abstract: 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: Application
    Filed: August 24, 2022
    Publication date: December 29, 2022
    Inventors: Hiren Shantilal PATEL, Shi QIAO, Alekh JINDAL, Malay Kumar BAG, Rathijit SEN, Carlo Aldo CURINO
  • Patent number: 11455192
    Abstract: 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: Grant
    Filed: November 27, 2019
    Date of Patent: September 27, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Hiren Shantilal Patel, Shi Qiao, Alekh Jindal, Malay Kumar Bag, Rathijit Sen, Carlo Aldo Curino
  • Publication number: 20220100763
    Abstract: 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: Application
    Filed: September 30, 2020
    Publication date: March 31, 2022
    Inventors: 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: 11176129
    Abstract: 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: Grant
    Filed: September 30, 2018
    Date of Patent: November 16, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Zhiwei Fan, Rathijit Sen, Harshada Chavan, Alan Halverson
  • Publication number: 20210124739
    Abstract: 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: Application
    Filed: August 11, 2020
    Publication date: April 29, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: 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: 20210096915
    Abstract: 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: Application
    Filed: November 27, 2019
    Publication date: April 1, 2021
    Inventors: Hiren Shantilal PATEL, Shi QIAO, Alekh JINDAL, Malay Kumar BAG, Rathijit SEN, Carlo Aldo CURINO
  • Publication number: 20210089532
    Abstract: 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: Application
    Filed: September 25, 2019
    Publication date: March 25, 2021
    Inventors: Hiren S. PATEL, Rathijit SEN, Zhicheng YIN, Shi QIAO, Abhishek ROY, Alekh JINDAL, Subramaniam Venkatraman KRISHNAN, Carlo Aldo CURINO
  • Patent number: 10789247
    Abstract: 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: Grant
    Filed: May 22, 2018
    Date of Patent: September 29, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Rathijit Sen, Karthik S. Ramachandra, Alan D. Halverson
  • Publication number: 20200192994
    Abstract: 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: Application
    Filed: December 18, 2018
    Publication date: June 18, 2020
    Inventors: Gagan Gupta, Rathijit Sen, Hossein Golestani
  • Publication number: 20200104397
    Abstract: 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: Application
    Filed: September 30, 2018
    Publication date: April 2, 2020
    Inventors: Zhiwei Fan, Rathijit Sen, Harshada Chavan, Alan Halverson
  • Patent number: 10551901
    Abstract: 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: Grant
    Filed: July 1, 2017
    Date of Patent: February 4, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Rathijit Sen, Alan Dale Halverson
  • Publication number: 20190362005
    Abstract: 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: Application
    Filed: May 22, 2018
    Publication date: November 28, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Rathijit SEN, Karthik S. Ramachandra, Alan D. Halverson
  • Publication number: 20190004585
    Abstract: 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: Application
    Filed: July 1, 2017
    Publication date: January 3, 2019
    Inventors: Alan Dale HALVERSON, Rathijit SEN
  • Patent number: 9965343
    Abstract: 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: Grant
    Filed: May 13, 2015
    Date of Patent: May 8, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Rathijit Sen, Indrani Paul, Wei Huang