Hardware Architectures For Scalable Graph Processing