Concurrent hierarchical dead actor collection in a distributed system
First Claim
1. A system for concurrent dead actor collection, comprising:
- a plurality of processors configured to execute a distributed application of a distributed system;
a plurality of actors arranged in an actor hierarchy of communication links between the plurality of actors in the distributed system; and
a loop detector associated with a loop subset of the plurality of actors in the distributed system;
wherein a first actor associated with the loop subset is configured to;
be reclaimed by garbage collection after becoming a dead actor;
receive incoming messages from each of the other actors in the loop subset;
determine an incoming reference count from the incoming messages waiting to be processed by the first actor; and
in response to determining that the incoming reference count is zero, send a blocked notification to the loop detector,wherein the loop detector is configured to;
in response to receiving the blocked notification, request a blocked status response from each other actor in the loop subset,wherein the blocked status response depends on a state of each of the other actors; and
after determining from the requested blocked status responses that all of the other actors in the loop subset are blocked, designate the first actor for the garbage collection.
2 Assignments
0 Petitions
Accused Products
Abstract
Examples relate to providing concurrent dead actor collection. In some examples, a blocked notification is received from an actor of a number of actors in a distributed system, where the actors are arranged in an actor hierarchy that describes communication links between the actors. In response to receiving the blocked notification, a blocked status is requested from each other actor in a loop subset of the actors, where each of the other actors is connected to the actor in the actor hierarchy by an incoming edge. After using the blocked status of each of the other actors to determine that incoming edges of the actor refer to blocked actors, the actor is designated for garbage collection.
8 Citations
15 Claims
-
1. A system for concurrent dead actor collection, comprising:
-
a plurality of processors configured to execute a distributed application of a distributed system; a plurality of actors arranged in an actor hierarchy of communication links between the plurality of actors in the distributed system; and a loop detector associated with a loop subset of the plurality of actors in the distributed system; wherein a first actor associated with the loop subset is configured to; be reclaimed by garbage collection after becoming a dead actor; receive incoming messages from each of the other actors in the loop subset; determine an incoming reference count from the incoming messages waiting to be processed by the first actor; and in response to determining that the incoming reference count is zero, send a blocked notification to the loop detector, wherein the loop detector is configured to; in response to receiving the blocked notification, request a blocked status response from each other actor in the loop subset, wherein the blocked status response depends on a state of each of the other actors; and after determining from the requested blocked status responses that all of the other actors in the loop subset are blocked, designate the first actor for the garbage collection. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for concurrent dead actor collection, comprising:
-
receiving a blocked notification from a first actor of a plurality of actors in a distributed system, wherein the plurality of actors are arranged in an actor hierarchy that describes a plurality of communication links between the plurality of actors; in response to receiving the blocked notification, requesting a blocked status response from each other actor in a loop subset of the plurality of actors, wherein the first actor has an incoming edge extending from each of the other actors in the loop subset, and wherein the blocked status response depends on a state of each of the other actors in the loop subset; and after determining from the requested blocked status response of each of the other actors that all of the incoming edges of the first actor refer to blocked actors, designating the first actor for the garbage collection. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A non-transitory machine-readable storage medium encoded with instructions executable by a processor for providing concurrent dead actor collection, the machine-readable storage medium comprising instructions to:
-
receive a blocked notification from a first actor of a plurality of actors in a distributed system after a reference count of incoming edges of the first actor is determined by the first actor to be zero, wherein the plurality of actors are arranged in an actor hierarchy that describes a plurality of communication links between the plurality of actors; in response to receiving the blocked notification, request a blocked status response from each other actor in a loop subset of the plurality of actors, wherein an incoming edge extends to the first actor from each of the other actors in the loop subset;
wherein the blocked status response depends on a state of each of the other actors in the loop subset; andafter determining from the requested blocked status responses that all incoming edges of the first actor refer to blocked actors, designate the first actor for garbage collection. - View Dependent Claims (13, 14, 15)
-
Specification