Patents by Inventor Kathryn S. McKinley
Kathryn S. McKinley 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: 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: 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: 9646257Abstract: Various techniques for evaluating probabilistic assertions are described herein. In one example, a method includes transforming a program, a probabilistic assertion, and an input into an intermediate representation, the intermediate representation including a Bayesian network of nodes representing distributions. The method further includes verifying a probabilistic assertion in the program using the intermediate representation.Type: GrantFiled: September 3, 2014Date of Patent: May 9, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Todd Mytkowicz, Kathryn S. McKinley, Adrian Sampson
-
Patent number: 9483400Abstract: Disclosed herein are systems and methods for paging to a direct segment maintained by a multiplexed TLB. The multiplexed TLB defines a direct segment to directly map a virtual address range to a physical address range, which increases the reach of the multiplexed TLB. A partition code is maintained in the multiplexed TLB to indicate usage of the direct segment by an associated process. A management process, such as a system pager, uses the unused part of the direct segment for storing paged data. As the process continues to use more of the direct segment, paged data stored in the previously unused part of the direct segment can be evicted from memory or moved elsewhere in memory so that the process can continue to use the direct segment.Type: GrantFiled: April 21, 2014Date of Patent: November 1, 2016Assignee: Microsoft Technology Licensing, LLCInventor: Kathryn S. McKinley
-
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
-
Publication number: 20160063390Abstract: Various techniques for evaluating probabilistic assertions are described herein. In one example, a method includes transforming a program, a probabilistic assertion, and an input into an intermediate representation, the intermediate representation including a Bayesian network of nodes representing distributions. The method further includes verifying a probabilistic assertion in the program using the intermediate representation.Type: ApplicationFiled: September 3, 2014Publication date: March 3, 2016Inventors: Todd Mytkowicz, Kathryn S. McKinley, Adrian Sampson
-
Publication number: 20150301952Abstract: Disclosed herein are systems and methods for paging to a direct segment maintained by a multiplexed TLB. The multiplexed TLB defines a direct segment to directly map a virtual address range to a physical address range, which increases the reach of the multiplexed TLB. A partition code is maintained in the multiplexed TLB to indicate usage of the direct segment by an associated process. A management process, such as a system pager, uses the unused part of the direct segment for storing paged data. As the process continues to use more of the direct segment, paged data stored in the previously unused part of the direct segment can be evicted from memory or moved elsewhere in memory so that the process can continue to use the direct segment.Type: ApplicationFiled: April 21, 2014Publication date: October 22, 2015Applicant: Microsoft CorporationInventor: Kathryn S. McKinley
-
Patent number: 9032244Abstract: The techniques discussed herein identify failed segments of memory in a memory region. The techniques may then manage the failed segments of memory by logically clustering the failed segments of memory at an outlying portion of the memory region using a remapping process. The remapping process may include creating and storing remapping metadata defining segment remapping entries for the memory region. Accordingly, the failure clustering logically eliminates or reduces the memory fragmentation so that a system can allocate larger portions of contiguous memory for object storage.Type: GrantFiled: November 16, 2012Date of Patent: May 12, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Karin Strauss, Burton J. Smith, Kathryn S. McKinley
-
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: 20140143593Abstract: The techniques discussed herein identify failed segments of memory in a memory region. The techniques may then manage the failed segments of memory by logically clustering the failed segments of memory at an outlying portion of the memory region using a remapping process. The remapping process may include creating and storing remapping metadata defining segment remapping entries for the memory region. Accordingly, the failure clustering logically eliminates or reduces the memory fragmentation so that a system can allocate larger portions of contiguous memory for object storage.Type: ApplicationFiled: November 16, 2012Publication date: May 22, 2014Applicant: MICROSOFT CORPORATIONInventors: Karin Strauss, Burton J. Smith, Kathryn S. McKinley