LOCALITY-BASED SCHEDULING IN CONTINUATION-BASED RUNTIMES
First Claim
1. At a computer system including a processor and a memory, in a computer networking environment including a plurality of computing systems, a computer-implemented method for establishing an execution environment for executing activities in a continuation based runtime, the method comprising:
- an act of establishing an execution environment for executing activities in a continuation based runtime (CBR), wherein establishing the execution environment comprises instantiating an activity scheduler configured to perform the following;
an act of scheduling one or more activities for execution in the CBR, wherein each scheduled activity is associated with at least one work item and unique context information corresponding to the work item, the scheduling including adding the activity'"'"'s work items to an execution stack and tracking pending activity work items to determine when the scheduled activity has reached at least one of a plurality of completed states;
an act of resolving the scheduled activity'"'"'s arguments and variables prior to invoking the scheduled activity using the activity'"'"'s unique context; and
an act of determining, based on the activity'"'"'s unique context, if the scheduled activity comprises at least one work item that is to be queued at the top of the execution stack; and
based on the determination, an act of queuing the at least one work item to the execution stack; and
an act of executing the work items of the scheduled activity as queued in the execution stack of the established execution environment in the CBR.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system establishes an execution environment for executing activities in a continuation based runtime including instantiating an activity scheduler configured to perform the following: scheduling activities for execution in the CBR. The activity scheduler resolves the scheduled activity'"'"'s arguments and variables prior to invoking the scheduled activity using the activity'"'"'s unique context. The activity scheduler also determines, based on the activity'"'"'s unique context, whether the scheduled activity comprises a work item that is to be queued at the top of the execution stack and, based on the determination, queues the work item to the execution stack. The computer system executes the work items of the scheduled activity as queued in the execution stack of the established execution environment in the CBR.
32 Citations
20 Claims
-
1. At a computer system including a processor and a memory, in a computer networking environment including a plurality of computing systems, a computer-implemented method for establishing an execution environment for executing activities in a continuation based runtime, the method comprising:
an act of establishing an execution environment for executing activities in a continuation based runtime (CBR), wherein establishing the execution environment comprises instantiating an activity scheduler configured to perform the following; an act of scheduling one or more activities for execution in the CBR, wherein each scheduled activity is associated with at least one work item and unique context information corresponding to the work item, the scheduling including adding the activity'"'"'s work items to an execution stack and tracking pending activity work items to determine when the scheduled activity has reached at least one of a plurality of completed states; an act of resolving the scheduled activity'"'"'s arguments and variables prior to invoking the scheduled activity using the activity'"'"'s unique context; and an act of determining, based on the activity'"'"'s unique context, if the scheduled activity comprises at least one work item that is to be queued at the top of the execution stack; and based on the determination, an act of queuing the at least one work item to the execution stack; and an act of executing the work items of the scheduled activity as queued in the execution stack of the established execution environment in the CBR. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
18. A computer program product for implementing a method for establishing a performant, predictable execution environment for executing activities in a continuation based runtime, the computer program product comprising one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by one or more processors of the computing system, cause the computing system to perform the method, the method comprising:
-
an act of establishing an execution environment for executing activities in a continuation based runtime (CBR), wherein establishing the execution environment comprises instantiating an activity scheduler, the scheduler including a policy mechanism configured to provide configurable settings that are applied during activity execution, the scheduler being configured to perform the following; an act of scheduling one or more activities for execution in the CBR according to one or more settings defined in an activity execution policy, wherein each scheduled activity is associated with at least one work item and unique context information corresponding to the work item, the scheduling including adding the activity'"'"'s work items to an execution stack and tracking pending activity work items to determine when the scheduled activity has reached at least one of a plurality of completed states; an act of resolving the scheduled activity'"'"'s arguments and variables prior to invoking the scheduled activity using the activity'"'"'s unique context; and an act of determining, based on the activity'"'"'s unique context, if the scheduled activity comprises at least one work item that is to be queued at the top of the execution stack; and based on the determination, an act of queuing the at least one work item to the execution stack; and an act of executing the work items of the scheduled activity as queued in the execution stack of the established execution environment in the CBR and according to the activity execution policy. - View Dependent Claims (19)
-
-
20. A computer system comprising the following:
-
one or more processors; system memory; one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for establishing an execution environment for executing activities in a continuation based runtime, the method comprising the following; an act of establishing an execution environment for executing activities in a continuation based runtime (CBR), wherein establishing the execution environment comprises instantiating an activity scheduler configured to perform the following; an act of scheduling one or more activities for execution in the CBR, wherein each scheduled activity is associated with at least one work item and unique context information corresponding to the work item, the scheduling including adding the activity'"'"'s work items to an execution stack and tracking pending activity work items to determine when the scheduled activity has reached at least one of a plurality of completed states; an act of resolving the scheduled activity'"'"'s arguments and variables prior to invoking the scheduled activity using the activity'"'"'s unique context; and an act of determining, based on the activity'"'"'s unique context, if the scheduled activity comprises at least one work item that is to be queued at the top of the execution stack; and based on the determination, an act of queuing the at least one work item to the execution stack; and an act of executing the work items of the scheduled activity as queued in the execution stack of the established execution environment in the CBR.
-
Specification