Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any good implementation of Actors for C#? [closed]

Is there any good implementation of actors concurrency model for .net/c#?

I have to optimize a c# routine and i think that actors model fits perfectly as a solution for my problem. Unfortunately i have experience only with scala implementation.

like image 548
Borba Avatar asked Feb 02 '10 17:02

Borba


People also ask

Which of the following implements the actor model?

Carl Hewitt took the idea and created the actor model. Years later, these same ideas of message passing would influence Erlang to create an implementation of the actor model as well. Erlang is often quoted as the first & most successful implementation of the actor model.

What is an actor in computer science?

DEFINITION. Actors is a model of concurrent computation for devel- oping parallel, distributed and mobile systems. Each actor is an autonomous object that operates concurrently and asynchronously, receiving and sending messages to other actors, creating new actors, and updating its own local state.

What is actor model used for?

The actor model can be used as a framework for modeling, understanding, and reasoning about a wide range of concurrent systems. For example: Electronic mail (email) can be modeled as an actor system. Accounts are modeled as actors and email addresses as actor addresses.

Do actors share memory?

Properties of the actors Actors are isolated from each other and they do not share memory. They have a state, but the only way to change it is by receiving a message. Every actor has its own mailbox, which is similar to a message queue. Messages are stored in actors' mailboxes until they are processed.


2 Answers

.NET Actor Model frameworks:

Proto.Actor

  • Actors
  • Virtual Actors

https://github.com/AsynkronIT/protoactor-dotnet

Akka.NET

  • Actors

https://github.com/akkadotnet/akka.net

Microsoft Orleans

  • Virtual Actors

https://github.com/dotnet/orleans

like image 165
Roger Johansson Avatar answered Oct 20 '22 00:10

Roger Johansson


One might also look at Project Orleans Microsofts approach on actors.(which was released last week)

This is the projects website: http://research.microsoft.com/en-us/projects/orleans/

Here is also a good talk from build 2014 as introduction

Using Orleans to Build Halo 4’s Distributed Cloud Services in Azure http://channel9.msdn.com/Events/Build/2014/3-641

Please note that the bits for download as posted today are CTP.

Introduction to Orleans: http://felixnotes.com/orleans-microsofts-take-on-the-actor-pattern-in-net/

And yes, it was also open sourced: https://github.com/dotnet/orleans

like image 38
silverfighter Avatar answered Oct 20 '22 00:10

silverfighter