1. A method for implementing a graph storage system comprising: storing at least one graph on a plurality of computing systems; providing a global address space for distributed global memory, wherein each computing system of said plurality of computing systems, during a distribution of memory implantation, exports a flat memory space, wherein multiple flat memory spaces are combined to create said global address space; and managing said global address space with graph allocators, wherein a graph allocator of said graph allocators pre-allocates memory space from at least one memory block of said distributed global memory for use by said graph allocator in order to store said at least one graph, wherein graph objects are dynamically distributed across said plurality of computer systems via migrating internal data structures of said at least one graph across said plurality of computer systems, wherein said at least one graph is internally represented as a set of vertex objects and a set of edge objects, wherein a frequently accessed property is embedded in at least one of said set of vertex objects and said set of edge objects, such that retrieving said frequently accessed property may be accomplished in a single network access.