Handling exceptions in a data parallel system

US9304778B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9304778-B2
Application numberUS-201313752941-A
CountryUS
Kind codeB2
Filing dateJan 29, 2013
Priority dateDec 9, 2008
Publication dateApr 5, 2016
Grant dateApr 5, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of handling exceptions in a data parallel system includes forwarding exceptions thrown by concurrent worker tasks to a coordination task. The thrown exceptions are aggregated into an aggregation exception structure. It is determined whether the aggregation exception structure will be handled by an exception handler. The concurrent worker tasks are unwound when it is determined that the aggregation exception structure will be handled.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of handling exceptions in a data parallel system, comprising: forwarding exceptions thrown by concurrent worker tasks to a coordination task; aggregating the thrown exceptions into an aggregation exception structure; determining whether the aggregation exception structure will be handled by an exception handler; unwinding the concurrent worker tasks when it is determined that the aggregation exception structure will be handled; preventing unwinding of the concurrent worker tasks when it is determined that the aggregation exception structure will not be handled; and wherein the concurrent worker tasks block after throwing an exception until notification is provided to the concurrent worker tasks. 2. The method of claim 1 , and further comprising: providing the notification to the concurrent worker tasks when it is determined that the aggregation exception structure will not be handled. 3. The method of claim 2 , and further comprising: searching for an exception handler for the exceptions thrown by the concurrent worker tasks when the concurrent worker tasks are provided the notification. 4. The method of claim 3 , and further comprising: causing at least one of the concurrent worker tasks to crash if an exception handler is not found for an exception thrown by the at least one concurrent worker task. 5. The method of claim 1 , and further comprising: terminating the concurrent worker tasks; throwing the aggregation exception structure with the coordination task after the concurrent worker tasks have terminated. 6. The method of claim 1 , wherein the forwarding, aggregating, and determining occur during a first pass of a two-pass structured exception handling system. 7. The method of claim 6 , wherein the unwinding occurs during a second pass of the two-pass structured exception handling system. 8. A computer-readable storage medium storing computer-executable instructions for performing a method, comprising: forwarding exceptions thrown by concurrent worker tasks to a coordination task; aggregating the thrown exceptions into an aggregation exception structure; determining whether the aggregation exception structure will be handled by an exception handler; performing unwinding of the concurrent worker tasks based on the determination of whether the aggregation exception structure will be handled; preventing unwinding of the concurrent worker tasks when it is determined that the aggregation exception structure will not be handled; and wherein the concurrent worker tasks block after throwing an exception until a notification is provided to the concurrent worker tasks. 9. The computer-readable storage medium of claim 8 , wherein the method further comprises: providing the notification to the concurrent worker tasks when it is determined that the aggregation exception structure will not be handled. 10. The computer-readable storage medium of claim 9 , wherein the method further comprises: searching for an exception handler for the exceptions thrown by the concurrent worker tasks when the concurrent worker tasks are provided the notification. 11. The computer-readable storage medium of claim 10 , wherein the method further comprises: causing at least one of the concurrent worker tasks to crash if an exception handler is not found for an exception thrown by the at least one concurrent worker task. 12. The computer-readable storage medium of claim 8 , wherein the method further comprises: terminating the concurrent worker tasks; throwing the aggregation exception structure with the coordination task after the concurrent worker tasks have terminated. 13. The computer-readable storage medium of claim 8 , wherein the forwarding, aggregating, and determining occur during a first pass of a two-pass structured exception handling system. 14. The computer-readable storage medium of claim 13 , wherein the unwinding occurs during a second pass of the two-pass structured exception handling system. 15. A method of handling exceptions in a data parallel system, comprising: forwarding a plurality of exceptions thrown by a plurality of concurrent threads to a coordination task; aggregating the thrown exceptions into an aggregation exception structure; determining whether the aggregation exception structure, comprising the plurality of exceptions thrown by the plurality of concurrent threads, will be handled by an exception handler; unwinding the concurrent threads when it is determined that the aggregation exception structure will be handled; preventing unwinding of the concurrent threads when it is determined that the aggregation exception structure will not be handled; and wherein the concurrent threads block after throwing an exception until a notification is provided to the concurrent threads. 16. The method of claim 15 , wherein the method further comprises: providing the notification to the concurrent threads when it is determined that the aggregation exception structure will not be handled; and searching for an exception handler for the exceptions thrown by the concurrent threads when the concurrent threads are provided the notification.

Assignees

Inventors

Classifications

  • G06F9/4812Primary

    by interrupt, e.g. masked · CPC title

  • Exception handling · CPC title

  • Message passing systems or structures, e.g. queues · CPC title

  • Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40) · CPC title

  • using interrupt (G06F13/32 takes precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9304778B2 cover?
A method of handling exceptions in a data parallel system includes forwarding exceptions thrown by concurrent worker tasks to a coordination task. The thrown exceptions are aggregated into an aggregation exception structure. It is determined whether the aggregation exception structure will be handled by an exception handler. The concurrent worker tasks are unwound when it is determined that the…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/4812. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).