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: 11829804
    Abstract: 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: Grant
    Filed: September 15, 2021
    Date of Patent: November 28, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
  • Patent number: 11126473
    Abstract: 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: Grant
    Filed: March 15, 2019
    Date of Patent: September 21, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. Mckinley, Shaolei Ren
  • Publication number: 20190213053
    Abstract: 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: Application
    Filed: March 15, 2019
    Publication date: July 11, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong HE, Sameh ELNIKETY, Kathryn S. MCKINLEY, Shaolei REN
  • Patent number: 10303524
    Abstract: 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: Grant
    Filed: April 6, 2016
    Date of Patent: May 28, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
  • Patent number: 9646257
    Abstract: 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: Grant
    Filed: September 3, 2014
    Date of Patent: May 9, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Todd Mytkowicz, Kathryn S. McKinley, Adrian Sampson
  • Patent number: 9483400
    Abstract: 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: Grant
    Filed: April 21, 2014
    Date of Patent: November 1, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Kathryn S. McKinley
  • Publication number: 20160217015
    Abstract: 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: Application
    Filed: April 6, 2016
    Publication date: July 28, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong HE, Sameh ELNIKETY, Kathryn S. MCKINLEY, Shaolei REN
  • Patent number: 9336057
    Abstract: 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: Grant
    Filed: December 21, 2012
    Date of Patent: May 10, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
  • Publication number: 20160063390
    Abstract: 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: Application
    Filed: September 3, 2014
    Publication date: March 3, 2016
    Inventors: Todd Mytkowicz, Kathryn S. McKinley, Adrian Sampson
  • Publication number: 20150301952
    Abstract: 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: Application
    Filed: April 21, 2014
    Publication date: October 22, 2015
    Applicant: Microsoft Corporation
    Inventor: Kathryn S. McKinley
  • Patent number: 9032244
    Abstract: 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: Grant
    Filed: November 16, 2012
    Date of Patent: May 12, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karin Strauss, Burton J. Smith, Kathryn S. McKinley
  • Publication number: 20140181825
    Abstract: 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: Application
    Filed: December 21, 2012
    Publication date: June 26, 2014
    Applicant: Microsoft Corporation
    Inventors: Yuxiong He, Sameh Elnikety, Kathryn S. McKinley, Shaolei Ren
  • Publication number: 20140143593
    Abstract: 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: Application
    Filed: November 16, 2012
    Publication date: May 22, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Karin Strauss, Burton J. Smith, Kathryn S. McKinley