I. Introduction
A graph consists of a set of objects (vertices) and links (edges) between pairs of those objects that represent some sort of relationships. Computing over such graphs is of increasing importance to a wide spectrum of application areas ranging from “conventional” communication and power networks, transport, and scheduling, to rapidly growing applications such as recommendation systems, social networks, medical informatics, genomics, and cyber-security.