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 while simulating plays of the board game Hex.
Cite
@article{arxiv.2109.09819,
title = {Seriema: RDMA-based Remote Invocationwith a Case-Study on Monte-Carlo Tree Search},
author = {Hammurabi Mendes and Bryce Wiedenbeck and Aidan O'Neill},
journal= {arXiv preprint arXiv:2109.09819},
year = {2021}
}