stingergraph / stinger

The STINGER in-memory graph store and dynamic graph analysis platform. Millions to billions of vertices and edges at thousands to millions of updates per second.

Home Page:http://www.stingergraph.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Am I measuring update rates correctly?

ldhulipala opened this issue · comments

Hi all,

I'm running some timings using stinger_server and stinger_rmat_edge_generator. I am wondering whether the update rates I'm seeing sound correct. In particular, for a batch of 1M edge insertions, which is around the largest size the underlying protobufs can handle, each update takes:

  • ~1 second when |V| = 1000
  • ~2 seconds when |V| = 100k
  • ~3.5 seconds when |V| = 1m
  • ~7 seconds when |V| = 5m

This is an update rate between 1m/sec -- 140k/sec, depending on |V|.

Is this update rate in the ballpark for what you observe on commodity multicores? I am running on a 72-core intel machine with hyper-threading, and using numactl -i all.

Thanks for your help!
Laxman

That looks about right. Things will be a little slower when you are adding a lot of new edges as opposed to just updating existing edges. The methodology used in many of the STINGER publications (which report a higher update rate) involves creating a "base" graph, then throwing a bunch of updates to existing edges at it. With your experimental set-up, I'd expect most of the edges to be new.

Great, thanks for the clarification!