Dear hakkers,
We are pleased to announce the availability of the third development milestone of the new Akka Remoting, codenamed Artery. It’s an early development preview and we encourage you to try it out and give us feedback, but it’s not intended for production usage yet. The version number is 2.4-ARTERY-M3 with same artifacts as usual. It is enabled with the following configuration: akka.remote.artery { enabled = on # The hostname or ip clients should connect to. hostname = localhost # use 0 if you want a random available port port = 20200 } The protocol part of the actor system address is artery, so you need to change previous akka.tcp to artery in for example configuration of cluster seed-nodes. A summary of what is included in M3 compared to M2 <https://groups.google.com/d/msg/akka-user/tn6OB_NWaHE/K9PG-NT8QQAJ>:: - compression of sender and recipient actor references in the message envelope header, explained below - performance improvements, results below - various bug fixes, all relevant remoting tests are now passing The full list of changes since the last milestone is available under the 2.4-ARTERY-M3 <https://github.com/akka/akka/milestone/90?closed=1> milestone on github for your reference. The most exciting new feature in this milestone is the envelope header compression. For small messages the sender and recipient Actor references that are included in each remote message can be a large fraction of the total payload since they are encoded as string representation of the full ActorPath and the Actor’s UID. To reduce the message header size we have developed a smart compression algorithm. The most commonly used sender and recipient refs are detected by the recipient system and announced as a compression table to the sender system. Then the sender can encode those actor references as integers indexing the announced compression table. The same thing is also done for serialization manifest strings. Overall allowing us to save up to hundreds of bytes per message that would have otherwise have be transferred over the wire (costing time and resources). Another thing that some of you might find interesting is performance. We have now measured the following between two m4.4xlarge EC2 instances (1 Gbit/s bandwidth) using the MaxThroughputSpec <https://github.com/akka/akka/blob/v2.4-ARTERY-M3/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/MaxThroughputSpec.scala> and LatencySpec <https://github.com/akka/akka/blob/v2.4-ARTERY-M3/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/LatencySpec.scala> : - 630,239 messages/s with message payload of 100 bytes - 8,245 messages/s with messages payload of 10,000 bytes - Round trip latency at a message rate of 10,000 messages/s: 50%ile: 155 µs, 90%ile: 173 µs, 99%ile: 196 µs We are using Aeron <https://github.com/real-logic/Aeron> as the underlying transport and are implementing the layers on top using Akka Streams. You find more details in the design document <https://github.com/akka/akka-meta/issues/16>. The development branch is artery-dev <https://github.com/akka/akka/tree/artery-dev>, in case you want to take a look or contribute. Issues are labeled with t:remoting:artery <https://github.com/akka/akka/issues?q=is%3Aopen+is%3Aissue+label%3At%3Aremoting%3Aartery> . We are now taking a “summer break” from Artery development. We don’t only need vacation, but we also have some other important areas to work on before finalizing Artery. You find our sprint plans at akka/akka-meta <https://github.com/akka/akka-meta/issues>. The goal is to complete Artery in end of August and September and then release it in a 2.4.x version of Akka as an optional transport. Happy hakking! -- Patrik Nordwall Akka Tech Lead Lightbend <http://www.lightbend.com/> - Reactive apps on the JVM Twitter: @patriknw -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.