Design a Distributed Graph Processing Engine — Advanced System Design Problem