Rahul Sharma (Editor)

ActorFoundry

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

ActorFoundry is a Java-based library for Actor programming. It enables writing actor programs in the usual Java syntax. It support safe (by-copy) as well as efficient (zero-copy) messaging, actor mobility, and message ordering using local synchronization constraints. The run-time provides location-independence and fairness in scheduling.

Contents

It is being actively developed and maintained by the Open Systems Laboratory at the University of Illinois.

History

ActorFoundry was originally designed and implemented by Mark Astley along with Thomas Clausen and James Waldby around 1998–2000. Mark Astley was a member of Open Systems Laboratory at that time. Actor Foundry (the original name had a space) can be accessed at its old page. provides a comparison of Actor Foundry with SALSA.

In Fall 2008, the project has been revived at the Open Systems Laboratory. Some of the recent performance enhancements are discussed in

Design

ActorFoundry is structured as a set of components which represent the semantic features of an Actor system such as scheduler, name service, discovery service. These components are defined in terms of interfaces. A pure Java implementation is provided for each such component. Thus, the foundry is modular in design as well as portable across all platforms supporting Java.

Performance

ActorFoundry internally performs CPS transform (using the bytecode post-processor included in Kilim) and employs an M:N architecture (mapping M actors to N native threads where M >> N) for a highly efficient implementation of Actor semantics. The performance of ActorFoundry for the thread-ring benchmark at The Computer Language Benchmarks Game is comparable to the other top performing languages.

References

ActorFoundry Wikipedia