发明名称 Using stages to handle dependencies in parallel tasks
摘要 Technologies are described herein for using stages for managing dependencies between tasks executed in parallel. A request for permission to execute a task from a group or batch of tasks is received. The specified task is retrieved from a task definition list defining a task ID, stage, and maximum stage for each task in the group. If another pending or currently running task exists with a stage and maximum stage less than the stage defined for the retrieved task, then the retrieved task is not allowed to run. If no other pending or currently running task exists with a stage and maximum stage less than the stage defined for the retrieved task, then the permission to execute the specified task is given.
申请公布号 US8949853(B2) 申请公布日期 2015.02.03
申请号 US201113197797 申请日期 2011.08.04
申请人 Microsoft Corporation 发明人 Zimmermann Mario Mendes de Oliveira
分类号 G06F9/46;G06F9/48 主分类号 G06F9/46
代理机构 代理人 Tabor Ben;Drakos Kate;Minhas Micky
主权项 1. A computer-implemented method for managing execution of a plurality of tasks in a computer system, the method comprising executing instructions in the computer system to perform the operations of: loading a task definition list comprising tuples defining the plurality of tasks, each task in the plurality of tasks having an associated stage and a maximum stage indicating a maximum stage of execution that can be executed in parallel with the task, wherein each task is assigned to one stage and each stage contains one or more tasks; receiving a specified task to be executed, the specified task having an associated stage; determining whether another pending or currently running task in the plurality of tasks exists with an associated stage less than the stage associated with the specified task and an associated maximum stage less than the stage associated with the specified task; upon determining that another pending or currently running task does exist with an associated stage less than the stage associated with the specified task and an associated maximum stage less than the stage associated with the specified task, preventing the specified task from executing; and upon determining that another pending or currently running task does not exist with an associated stage less than the stage associated with the specified task and an associated maximum stage less than the stage associated with the specified task, allowing the specified task to execute.
地址 Redmond WA US