Distributed heterogeneous systems for large-scale graph processing