Piccolo: Large-Scale Graph Processing with Fine-Grained In-Memory Scatter-Gather