Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scala actors & Ambient Reference

Tags:

scala

akka

actor

In Phillip Haller's PhD thesis he mentioned in section (5.1 Future Work) that one of the interesting areas of research would be to extend the framework with ambient references and he cited Van Cutsen's paper.

Excerpt:

The Scala Actors library includes a runtime system that provides basic support for remote (i.e., inter-VM) actor communication. To provide support for fault tolerancy (for instance, in mobile ad-hoc networks), it would be interesting to extend the framework with remote actor references that support volatile connections, similar to ambient references [36]. Integrating transactional abstractions for fault-tolerant distributed programming (e.g., [52, 142]) into Scala Actors is another interesting area for future work.

And citated paper is:

[36] Tom Van Cutsem, Jessie Dedecker, Stijn Mostinckx, Elisa Gonzalez Boix, Theo D’Hondt, and Wolfgang De Meuter. Ambient references: addressing objects in mobile networks. [...] pages 986–997. ACM, October 2006.

Is this what Akka did? If not, do you think it is still relevant to research this area given the fact that Akka exists today?

like image 282
Nabegh Avatar asked Mar 18 '13 18:03

Nabegh


People also ask

What are Akka actors?

What is an Actor in Akka? An actor is essentially nothing more than an object that receives messages and takes actions to handle them. It is decoupled from the source of the message and its only responsibility is to properly recognize the type of message it has received and take action accordingly.

What is typed actor?

Akka Typed Actors is an implementation of the Active Objects pattern. Essentially turning method invocations into asynchronous dispatch instead of synchronous that has been the default way since Smalltalk came out.


1 Answers

Yes, this is possible with Akka.

There are 2 ways to achieve this as far as I know:

  1. akka-remote - Provides remote actor ref, but you need to decide where each actor should exsist.
  2. akka-cluster - Provides cluster sharding. Automatically manages actor physical location and ensures that given shard (Actor) is present on at most one node in the cluster.
like image 96
Grzesiek Avatar answered Nov 02 '22 05:11

Grzesiek