Date of Final Oral Examination (Defense)
Type of Culminating Activity
Master of Science in Computer Science
Amit Jain, Ph.D.
Catherine Olschanowsky, Ph.D.
Casey Kennington, Ph.D.
The actor model is a model for concurrent computation, centered around message passing between entities in a system. It is well suited for distributed programming, due to its semantics including very little guarantees or assumptions of reliability. Actor model implementations have grown more widespread in many languages.
The library Akka (written in Scala) is one of the most popular actor libraries. However, Akka is missing some key features. Our goal is to create our own actor library called Aurum, which not only has these features but exhibits higher performance. The new features include easy ways to forge references, configure and launch clusters, message type translations, and the ability to inject message drops and delays into every part the application. Aurum will be implemented in Rust, a programming language designed for high performance, asynchrony and high levels of abstraction that is well suited for IoT devices.
Our results show that Aurum outperforms Akka. In our benchmarks, a single server running Aurum gives three times the throughput as an equivalent Akka server, while maintaining good programmability and having features useful for IoT.
Shukla, Arjun, "Actors for the Internet of Things" (2021). Boise State University Theses and Dissertations. 1869.
Available for download on Tuesday, August 01, 2023