Seriema: RDMA-based Remote Invocationwith a Case-Study on Monte-Carlo Tree Search
Hammurabi Mendes, Bryce Wiedenbeck, Aidan O'Neill

TL;DR
Seriema is a middleware that combines RDMA-based remote invocation with asynchronous data transfer and memory management, enabling efficient distributed data structures and applications, demonstrated through a scalable Monte-Carlo Tree Search case study.
Contribution
Introducing Seriema, a middleware integrating RDMA remote invocation, asynchronous transfer, and memory management, facilitating natural expression of distributed applications in C++.
Findings
Low-overhead remote invocation performance
Scales well for distributed Monte-Carlo Tree Search
Effective implementation of distributed simulations for Hex
Abstract
We introduce Seriema, a middleware that integrates RDMA-based remote invocation, asynchronous data transfer, NUMA-aware automatic management of registered memory, and message aggregation in idiomatic C++1x. Seriema supports the notion that remote invocation and asynchronous data transfer are complementary services that, when tightly-integrated, allow distributed data structures, overlay networks, and Cloud & datacenter service applications to be expressed effectively and naturally, resembling sequential code. In order to evaluate the usability of Seriema, we implement a Monte-Carlo Tree Search (MCTS) application framework, which runs distributed simulations given only a sequential problem specification. Micro-benchmarks show that Seriema provides remote invocations with low overhead, and that our MCTS application framework scales well up to the number of non-hyperthreaded CPU cores…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsPeer-to-Peer Network Technologies · Cloud Computing and Resource Management · Distributed and Parallel Computing Systems
