Why use RPC instead of MPI for distributed sampling？
MPI is designed for synchronous communication, with fixed set of machines, and good for identical workload across different machines. This is not suitable for sampling workload, since workload might be different for each machine, thus we choose RPC here.
Also MPI and RPC are not at the same level. One can use MPI to implement RPC if needed