Method for scheduling contexts based on statistics of memory system interactions in a computer system
AssigneeCompaq Computer Corporation
InventorsJeffrey A. Dean, Carl A. Waldspurger
Life of this patent
Estimating the term…
Abstract
A method schedules execution contexts in a computer system based on memory interactions. The computer system includes a processor and a hierarchical memory arranged in a plurality of levels. Memory transactions are randomly sampled for a plurality of contexts. The contexts can be threads, processes, or hardware contexts. Resource interactions of the plurality of contexts is estimated, and particular contexts are chosen to be scheduled based on the estimated resource interactions.
Claims32
A method for scheduling contexts in a computer system including at least one processor and a hierarchical memory arranged in a plurality of levels, a plurality of memory transactions occurring within the hierarchical memory while the system operates under a real workload, the method comprising the steps of:
- applying a selection function to the plurality of memory transactions as the transactions occur within the memory to determine whether to record state information for any memory transaction meeting the selection function, the state information including context of the memory transaction, the context being taken from one of a plurality of contexts for the plurality of memory transactions;
- capturing and recording the state information for any transaction if any transaction meets the selection function;
- estimating information relating to memory interactions among the transaction contexts by analyzing the recorded state information;
- and
- scheduling contexts in the computer system based on the memory interaction information.
A method for scheduling contexts in a computer system including at least one processor and a hierarchical memory arranged in a plurality of levels, a plurality of memory transactions occurring within the hierarchical memory while the system operates under a real workload, the method comprising the steps of:
- applying a selection function to the plurality of memory transactions as the transactions occur within the memory to determine whether to record state information for any memory transaction meeting the selection function, the state information including context of the memory transaction, the context being taken from one of a plurality of contexts for the plurality of memory transactions;
- capturing and recording the state information for any transaction if any transaction meets the selection function;
- estimating information relating to memory reference patterns among the transaction contexts by analyzing the recorded information;
- and
- determining a scheduling order for the plurality of contexts based on the estimated memory reference pattern information such that the scheduled contexts have compatible estimated memory reference patterns.
A method as recited in claim, 19, wherein the step of determining includes determining a scheduling order for each of the plurality of contexts such that the contexts that underutilize their allocated memory are favored in the scheduling order.
Dependencies are inferred from the claim text.