1461046249-f1f1c926-6a3d-4868-8001-d3d2f3490754

What is claimed is:

1. A method for throttling a microprocessor comprising:
receiving a signal indicating the existence of a throttling condition; and
in response to the throttling condition, performing the throttling by reducing the rate at which instructions are executed by the microprocessor.
2. The method of claim 1, wherein prior to performing the throttling, the method further involves determining a rate at which instructions are to be executed by the microprocessor during the existence of the throttling condition.
3. The method of claim 1, wherein receiving the signal indicating the existence of the throttling condition further involves receiving the signal from a service processor.
4. The method of claim 1, wherein receiving the signal indicating the existence of the throttling condition further involves receiving the signal from an operating system.
5. The method of claim 1, wherein receiving the signal indicating the existence of the throttling condition further involves receiving the signal from a sensor on the microprocessor.
6. The method of claim 5, wherein the sensor on the microprocessor detects the temperature of the microprocessor.
7. The method of claim 1, wherein reducing the rate at which instructions are executed by the microprocessor further involves modifying an instruction dispatch policy so that the number of instructions being dispatched per clock cycle is less than the number of functional units within the microprocessor that are able to receive an instruction in a given clock cycle.
8. The method of claim 1, wherein reducing the rate at which instructions are executed by the microprocessor further involves waiting a predetermined number of clock cycles between each instruction fetch operation.
9. The method of claim 1, wherein reducing the rate at which instructions are executed by the microprocessor further involves reducing the internal clock frequency of the microprocessor.
10. The method of claim 1, wherein the throttling condition can include:
a processor idle state;
a processor overheating state; and
a power over-consumption state.
11. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for throttling a microprocessor comprising:
receiving a signal indicating the existence of a throttling condition; and
in response to the throttling condition, performing the throttling by reducing the rate at which instructions are executed by the microprocessor.
12. The computer-readable storage medium of claim 11, wherein prior to performing the throttling, the method further involves determining a rate at which instructions are to be executed by the microprocessor during the existence of the throttling condition.
13. The computer-readable storage medium of claim 11, wherein receiving the signal indicating the existence of the throttling condition further involves receiving the signal from a service processor.
14. The computer-readable storage medium of claim 11, wherein receiving the signal indicating the existence of the throttling condition further involves receiving the signal from an operating system.
15. The computer-readable storage medium of claim 11, wherein receiving the signal indicating the existence of the throttling condition further involves receiving the signal from a sensor on the microprocessor.
16. The computer-readable storage medium of claim 15, wherein the sensor on the microprocessor detects the temperature of the microprocessor.
17. The computer-readable storage medium of claim 11, wherein reducing the rate at which instructions are executed by the microprocessor further involves modifying an instruction dispatch policy so that the number of instructions being dispatched per clock cycle is less than the number of functional units within the microprocessor that are able to receive an instruction in a given clock cycle.
18. The computer-readable storage medium of claim 11, wherein reducing the rate at which instructions are executed by the microprocessor further involves waiting a pre-determined number of clock cycles between each instruction fetch operation.
19. The computer-readable storage medium of claim 11, wherein reducing the rate at which instructions are executed by the microprocessor further involves reducing the internal clock frequency of the microprocessor.
20. The computer-readable storage medium of claim 11, wherein the throttling condition can include:
a processor idle state;
a processor overheating state; and
a power over-consumption state.
21. An apparatus for throttling a microprocessor comprising:
a receiving mechanism configured to receive a signal indicating the existence of a throttling condition; and
a throttling mechanism configured to perform the throttling by reducing the rate at which instructions are executed by the microprocessor.
22. The apparatus of claim 21, further comprising a determination mechanism configured to determine a rate at which instructions are to be executed by the microprocessor during the existence of the throttling condition.
23. The apparatus of claim 21, wherein the receiving mechanism is additionally configured to receive the signal from a service processor.
24. The apparatus of claim 21, wherein the receiving mechanism is additionally configured to receive the signal from an operating system.
25. The apparatus of claim 21, wherein the receiving mechanism is additionally configured to receive the signal from a sensor on the microprocessor.
26. The apparatus of claim 25, wherein the sensor on the microprocessor detects the temperature of the microprocessor.
27. The apparatus of claim 21, wherein the throttling mechanism is additionally configured to modify an instruction dispatch policy so that the number of instructions being dispatched per clock cycle is less than the number of functional units within the microprocessor that are able to receive an instruction in a given clock cycle.
28. The apparatus of claim 21, wherein the throttling mechanism is additionally configured to wait a pre-determined number of clock cycles between each instruction fetch operation.
29. The apparatus of claim 21, the throttling mechanism is additionally configured to reduce the internal clock frequency of the microprocessor.
30. The apparatus of claim 21, wherein the throttling condition can include:
a processor idle state;
a processor overheating state; and
a power over-consumption state.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A system that facilitates outputting indications of usefulness of query suggestions, the system comprising:
a processor; and
a memory that comprises a plurality of components that are executable by the processor, the plurality of components comprising:
a query suggestion generator component that receives a query and generates a query suggestion based at least in part upon the received query;
a model component that outputs an indication of usefulness with respect to the query suggestion, wherein the model component is a logistic regression model that has been trained to model user interaction with query suggestions output by a search engine, wherein the logistic regression model has been trained based at least in part upon queries provided to the search engine by users, search results returned to the users subsequent to the search engine performing searches using the queries, search results selected by the users subsequent to the search results being returned to the users, query suggestions provided to the users responsive to the queries being provided to the search engine by the users, query suggestions selected by the users upon the users being provided with the query suggestions, and search results selected by the users subsequent to the users selecting the query suggestions; and
a grouping component that groups query suggestions into a plurality of different groups, wherein the model component individually assigns an indication of usefulness to each of the groups of query suggestions, wherein the groups are assembled based at least in part upon an amount of overlap between search results that correspond to query suggestions.
2. The system of claim 1, wherein the indication of usefulness is a probability that the issuer of the query will select the query suggestion.
3. The system of claim 1, wherein the query suggestion generator component generates a plurality of query suggestions based at least in part upon the received query, and wherein the model component outputs an indication of usefulness for each of the plurality of query suggestions.
4. The system of claim 3, wherein the plurality of components further comprises a display component that selects query suggestions to display to an issuer of the query based at least in part upon the indications of usefulness that correspond to the plurality of query suggestions.
5. The system of claim 1, wherein the plurality of components further comprises:
a query receiver component that receives a partial query, wherein the partial query is received by the query suggestion generator component, the query suggestion component generates query suggestions based at least in part upon the received partial query.
6. The system of claim 1, wherein the plurality of components further comprises:
an interface component that receives user input with respect to the received query andor the query suggestion that is presented to an issuer of the query; and
a data collector component that collects data pertaining to the user input, wherein the collected data is used to refine the model component.
7. The system of claim 1, wherein the query suggestion generator component generates a plurality of query suggestions based at least in part upon the received query, and wherein the plurality of components further comprises a reinforcement learning component that analyzes the model component to determine where additional data can be used to train the model component and performs a costbenefit analysis with respect to candidate query suggestions, the reinforcement learning component selects a query suggestion to provide to an issuer of the query to accumulate additional data that is used to refine the model component.
8. The system of claim 1, wherein a mobile device comprises at least one of the query suggestion generator component and the model component.
9. The system of claim 1, wherein the plurality of components further comprises a profiler component that receives data pertaining to the issuer of the query and assigns the issuer of the query to a profile, wherein parameters of the model component are weighted in accordance with the assigned profile.
10. The system of claim 1, wherein the model component analyzes features of at least one of the query or query suggestion when outputting the indication of usefulness, the features comprising at least one of:
a type of transformation of the query;
frequency of issuance of the query suggestion;
relative popularity between the query and the query suggestion;
frequency that the query suggestion follows the query in a search session; or
features pertaining to search results corresponding to at least one of the query or the query suggestion.
11. A method that facilitates determining an indication of usefulness of a query suggestion with respect to a query, comprising the following computer-executable acts:
receiving the query from a user;
generating a plurality of query suggestions based at least in part upon the received query; causing a processor to create multiple groups of query suggestions from the plurality of generated query suggestions, wherein each of the multiple groups of query suggestions includes a plurality of query suggestions;
using a logistic regression model that has been trained from data that is indicative of user interaction with respect to query suggestions to output an indication of usefulness for each group of queries in the multiple groups of query suggestions based at least in part upon the received query, wherein query suggestions in a group of query suggestions with a highest indication of usefulness assigned thereto are presented to the user, wherein the data that is indicative of user interaction with respect to query suggestions comprises queries provided to a search engine by users, search results returned to the users subsequent to the search engine performing searches using the queries, search results selected by the users subsequent to the search results being returned to the users, query suggestions provided to the users responsive to the queries being provided to the search engine by the users, query suggestions selected by the users upon the users being provided with the query suggestions, and search results selected by the users subsequent to the users selecting the query suggestions.
12. The method of claim 11, further comprising:
using the logistic regression model to individually compute an indication of usefulness for each of the plurality of query suggestions; and
displaying query suggestions in an order that corresponds to indications of usefulness corresponding thereto.
13. The method of claim 11, wherein each created group of query suggestions comprises an equivalent number of query suggestions.
14. The method of claim 13, wherein the number of query suggestions in each group of query suggestions is equivalent to a predefined number of query suggestions that are to be presented to the user.
15. A computer-readable memory comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
receiving, at a search engine, a query issued by a user;
responsive to receiving the query, locating a plurality of candidate query suggestions that are based at least in part upon the query;
responsive to receiving the query, accessing a logistic regression model that has been trained to model user interaction with query suggestions output by the search engine, wherein the logistic regression model has been trained based at least in part upon queries provided to a search engine by users, search results returned to the users subsequent to the search engine performing searches using the queries, search results selected by the users subsequent to the search results being returned to the users, query suggestions provided to the users responsive to the queries being provided to the search engine by the users, query suggestions selected by the users upon the users being provided with the query suggestions, and search results selected by the users subsequent to the users selecting the query suggestions;
providing each query suggestion in the plurality of candidate query suggestions to the logistic regression model, wherein the logistic regression model is configured to output an indication of usefulness for each of the query suggestions in the plurality of candidate query suggestions upon receipt of each of the plurality of candidate query suggestions; and
presenting at least one query suggestion from amongst the plurality of candidate query suggestions to the user subsequent to receiving the query issued by the user, wherein the at least one query suggestion is selected for presentment based at least in part upon the indication of usefulness for the query suggestion.
16. The computer-readable memory of claim 15, wherein the query issued by the user is non-existent in the queries provided to the search engine by users that were utilized to train the logistic regression model.
17. The computer-readable memory of claim 15, wherein an indication of usefulness output by the logistic regression model for a first query suggestion in the plurality of candidate query suggestions is based at least in part upon a constraint that a particular second query suggestion in the candidate query suggestions is to be presented to the user.
18. The computer-readable memory of claim 17, wherein the indication of usefulness output by the logistic regression model for the first query suggestion in the plurality of candidate query suggestions is based at least in part upon diversity of search results corresponding to the first query suggestion and the second query suggestion.