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.
Solution 1:
.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
Solution 2:
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
Solution 3:
You should have a look at MS Concurrency & Coordination Runtime (CCR), and the Decentralized Software Services (DSS), part of Robotic Studio.
These frameworks would allow you develop loosely coupled services that fulfill most of the actor-approach requirements.
Axum would be the best fit, unfortunately it's still in some sort of alpha/beta phase (UPDATE it has been killed in Feb. 2011). I use it for my research and must say that the general direction is great and it has enormous potential.
Not C# but C++ is Microsoft's Asynchronous Agents Library which gives you all the features that you need.
Have a good look at Parallel related features of .NET 4.
Hope it helps!