Cores scale out wider and more easily every year, but traditional concurrency -- based on the control of threads, locks and synchronization -- remains daunting and error prone even to the most seasoned engineers.
Actor model concurrency offers a means of reducing the complexity of concurrent programming through message passing semantics and loosely coupled, highly cohesive event driven abstractions called Actors. Actors sit on top of threads in a tunable abstract fashion, allowing for parallelism, thread affinity and even distribution to be configured without changing the implementation of the Actors themselves. The Akka implementation of the actor model provides a powerful toolkit and runtime for building "reactive" applications -- systems that are event-driven, resilient, scalable and responsive -- with high quality APIs in both Java and Scala. It's the backend for the Play 2 web framework, powers Scala's actor support and the Spray framework for web services.
We will explore the basics of the actor model and some of the catches of actor development, discuss how CommerceHub is adopting Akka to improve throughput while decreasing latency and we'll explore the refactoring of a sample application from traditional imperative execution to pipelined concurrent execution using Actors.
5:30 - 6:00 - Food/Network
6:00 - Intro/Sponsor
6:00 - 7:30 – Presentation/Q&A
7:30 - Close
About the Presenter:
Matthew Mark Miller is a software architect and leader of the core platform team for CommerceHub in Albany, where over the past 9 years he's seen concurrency succeed and (perhaps more interestingly) fail in a high performance, multi-node environment. He has a BA in rhetoric and a passion for backend software development, having worked in the field for a decade and a half. Mr. Miller tweets high functioning inanities @DataMiller
|CDJDN - 2014-3-20.pdf||239.85 KB|