Patents by Inventor Sameh Elnikety
Sameh Elnikety 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: 20240394167Abstract: A system may receive a first directed acyclic graphic (DAG) for an application. The system may model performance of each function in the DAG to generate a performance model. The system may generate a plurality of variant DAGs. For each of the variant DAGs, the system may obtain a configuration vector and forecast, based on the performance model and the configuration vector, a plurality of end-to-end latency distributions for the variant DAGS. The system may select the variant DAG and configuration vector based on a selection criteria. The system may cause an application to be executed according to the variant DAG and configuration vector.Type: ApplicationFiled: May 28, 2024Publication date: November 28, 2024Applicant: Purdue Research FoundationInventors: Somali Chaterji, Saurabh Bagchi, Ashraf Mahgoub, Sameh Elnikety
-
Publication number: 20240394091Abstract: A system may receive a directed acyclic graphic (DAG) for an application. The system may profile the DAG with a plurality of computer resource allocations to generate an end-to-end (E2E) latency model. The system may generate, based on the E2E latency model, an execution plan comprising optimized computer resource allocations and timing information. The system may cause a computing infrastructure to execute a function in a first stage of the DAG model on a first virtual machine right sized according to the execution plan. The system may cause the computing infrastructure to initialize, at a time determined specified by the execution plan, a second virtual machine for a function in a second stage in the DAG model. The system may cause the FaaS infrastructure to execute the function in the second stage on the second virtual machine after completion of the function in the first stage.Type: ApplicationFiled: May 28, 2024Publication date: November 28, 2024Applicant: Purdue Research FoundationInventors: Somali Chaterji, Saurabh Bagchi, Ashraf Mahgoub, Sameh Elnikety
-
Patent number: 11829804Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: GrantFiled: September 15, 2021Date of Patent: November 28, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
-
Patent number: 11403141Abstract: Systems and methods related to harvesting of the unused resources in a distributed computing system are described. An example method, in a system including a host server, having a first instruction set architecture (ISA), and an interface card, having a second ISA is provided. The method includes designating at least one type of resource, associated with the host server for harvesting by compute entities configured for execution using the processor having the second ISA, where the host server is configured to execute compute entities requiring execution by the processor having the first ISA. The method further includes in response to a request for accessing the at least one type of resource by a compute entity, executing on the processor having the second ISA, automatically allowing the compute entity to access the at least one type of resource associated with the host server.Type: GrantFiled: May 4, 2020Date of Patent: August 2, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Stanko Novakovic, Íñigo Goiri Presa, Sameh Elnikety, Ricardo G. Bianchini
-
Publication number: 20220004441Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: ApplicationFiled: September 15, 2021Publication date: January 6, 2022Inventors: Yuxiong HE, Sameh ELNIKETY, Kathryn MCKINLEY, Shaolei REN
-
Publication number: 20210342188Abstract: Systems and methods related to harvesting of the unused resources in a distributed computing system are described. An example method, in a system including a host server, having a first instruction set architecture (ISA), and an interface card, having a second ISA is provided. The method includes designating at least one type of resource, associated with the host server for harvesting by compute entities configured for execution using the processor having the second ISA, where the host server is configured to execute compute entities requiring execution by the processor having the first ISA. The method further includes in response to a request for accessing the at least one type of resource by a compute entity, executing on the processor having the second ISA, automatically allowing the compute entity to access the at least one type of resource associated with the host server.Type: ApplicationFiled: May 4, 2020Publication date: November 4, 2021Inventors: Stanko NOVAKOVIC, Íñigo GOIRI PRESA, Sameh ELNIKETY, Ricardo G. BIANCHINI
-
Patent number: 11126473Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: GrantFiled: March 15, 2019Date of Patent: September 21, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yuxiong He, Sameh Elnikety, Kathryn S. Mckinley, Shaolei Ren
-
Publication number: 20190213053Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: ApplicationFiled: March 15, 2019Publication date: July 11, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Yuxiong HE, Sameh ELNIKETY, Kathryn S. MCKINLEY, Shaolei REN
-
Patent number: 10303524Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: GrantFiled: April 6, 2016Date of Patent: May 28, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
-
Patent number: 9817698Abstract: The subject disclosure is directed towards scheduling requests using quality values that are defined for partial responses to the requests. For each request in a queue, an associated processing time is determined using a system load and/or the quality values. The associated processing time is less than or equal to a service demand, which represents an amount of time to produce a complete response.Type: GrantFiled: June 17, 2011Date of Patent: November 14, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Yuxiong He, Sameh Elnikety, James R. Larus, Chenyu Yan
-
Publication number: 20160217015Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: ApplicationFiled: April 6, 2016Publication date: July 28, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Yuxiong HE, Sameh ELNIKETY, Kathryn S. MCKINLEY, Shaolei REN
-
Patent number: 9336057Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: GrantFiled: December 21, 2012Date of Patent: May 10, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
-
Patent number: 9053210Abstract: Graph queries are processed using a plurality of independent query execution engines. A graph query submitted to a graph database which is modeled by an attributed graph is received. The graph query is decomposed into a plurality of query components. For each of the query components, a one of the query execution engines that is available to process the query component is identified, a sub-query representing the query component is generated, the sub-query is sent to the identified query execution engine for processing, and results for the sub-query are received from the identified query execution engine. The results received are then combined to generate a response to the graph query.Type: GrantFiled: December 14, 2012Date of Patent: June 9, 2015Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Sameh Elnikety, Yuxiong He, Sherif Sakr
-
Publication number: 20140181825Abstract: A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.Type: ApplicationFiled: December 21, 2012Publication date: June 26, 2014Applicant: Microsoft CorporationInventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
-
Publication number: 20140172914Abstract: Graph queries are processed using a plurality of independent query execution engines. A graph query submitted to a graph database which is modeled by an attributed graph is received. The graph query is decomposed into a plurality of query components. For each of the query components, a one of the query execution engines that is available to process the query component is identified, a sub-query representing the query component is generated, the sub-query is sent to the identified query execution engine for processing, and results for the sub-query are received from the identified query execution engine. The results received are then combined to generate a response to the graph query.Type: ApplicationFiled: December 14, 2012Publication date: June 19, 2014Applicant: MICROSOFT CORPORATIONInventors: Sameh Elnikety, Yuxiong He, Sherif Sakr
-
Publication number: 20120324466Abstract: The subject disclosure is directed towards scheduling requests using quality values that are defined for partial responses to the requests. For each request in a queue, an associated processing time is determined using a system load and/or the quality values. The associated processing time is less than or equal to a service demand, which represents an amount of time to produce a complete response.Type: ApplicationFiled: June 17, 2011Publication date: December 20, 2012Applicant: MICROSOFT CORPORATIONInventors: Yuxiong He, Sameh Elnikety, James R. Larus, Chenyu Yan
-
Patent number: 8074014Abstract: Improved storage systems which use write off-loading are described. When a request to store some data in a particular storage location is received, if the particular storage location is unavailable, the data is stored in an alternative location. In an embodiment, the particular storage location may be unavailable because it is powered down or because it is overloaded. The data stored in the alternative location may be subsequently recovered and written to the particular storage location once it becomes available.Type: GrantFiled: March 31, 2008Date of Patent: December 6, 2011Assignee: Microsoft CorporationInventors: Dushyanth Narayanan, Austin Donnelly, Antony Rowstron, Sameh Elnikety, Eno Thereska
-
Publication number: 20090249001Abstract: Improved storage systems which use write off-loading are described. When a request to store some data in a particular storage location is received, if the particular storage location is unavailable, the data is stored in an alternative location. In an embodiment, the particular storage location may be unavailable because it is powered down or because it is overloaded. The data stored in the alternative location may be subsequently recovered and written to the particular storage location once it becomes available.Type: ApplicationFiled: March 31, 2008Publication date: October 1, 2009Applicant: Microsoft CorporationInventors: Dushyanth Narayanan, Austin DONNELLY, Anthony ROWSTRON, Sameh ELNIKETY, Eno THERESKA