
Log(Graph): A Near-Optimal High-Performance Graph Representation (2018) [pdf] - espeed
https://people.csail.mit.edu/jshun/papers/loggraph.pdf
======
dan-robertson
Most of the paper was quite good and the results seem promising. One of the
simpler ideas is to represent the set of offsets as a bitvector with a select
structure which I didn’t think of and I think it’s a nice idea. It works under
the assumption that the difference between offsets is typically less than the
size in bits of an offset but I think this could reasonably be true in many
cases.

Other approaches involve permuting vertex ids (which can potentially be quite
slow) which makes me a bit sad although I’m not really sure why.

The mathematical notation is ugly and mangled in some places and in a few
places wrong but this is sadly common with computer science papers so I can’t
really complain much about it.

The diagram on page 2 is completely bonkers. I sympathise a bit in that it can
be amusing to create crazy graphics in TIKZ but this one doesn’t really serve
its purpose (of explaining what the sections of the paper are) at all.

------
erenon
The paper claims the code is available online. The page, however, shows:
"Coming soon...", for quite some time.
[https://spcl.inf.ethz.ch/Research/Performance/LogGraph/](https://spcl.inf.ethz.ch/Research/Performance/LogGraph/)

Is it expected to land in the near future?

~~~
infogulch
Maybe it won't be available until next month after it's presented?

------
espeed
This paper on succinct graph data structures will be presented at PACT
([http://www.pactconf.org](http://www.pactconf.org)) next month.

To put it in the broader context of relational database programming and why
it's significant now for software developers in general, here are some
thoughts from a thread I posted yesterday [0] on the convergence of ideas that
have been in the works for the last 10+ years on the graph database front and
the forces that have aligned in hardware and other fronts to bring about the
architectural paradigm shift that's to come...

[0] The design and implementation of modern column-oriented database systems
[https://news.ycombinator.com/item?id=18076547](https://news.ycombinator.com/item?id=18076547)

    
    
       --//--
    

This upcoming paper [...] is more data model than database, but I think you'll
find it interesting.

For something more database specific, check out the new RedisGraph module [1]
implemented with GraphBLAS [2] by the venerable Tim Davis [3] himself, who as
you know implements the underlying sparse matrix algos used in everything from
MATLAB to Google Maps...

RedisGraph in the Language of Linear Algebra with GraphBLAS, co-presented by
RedisLabs and Tim Davis [video]

[https://www.youtube.com/watch?v=xnez6tloNSQ](https://www.youtube.com/watch?v=xnez6tloNSQ)

GraphBLAS is not Redis-specific, but the Redis data structures and new modular
design made it an ideal candidate for the first popular database
implementation.

This is significant because GraphBLAS is more than 10 years in the making, the
culmination of the initial D4M matrix model design by Jeremy Kepner [4] and
his team at MIT Lincoln Laboratory Supercomputing Center.

And for the last ~5 years or so the software model has been designed in
collaboration with hardware teams at Intel, NVIDIA, IBM, and the labs [5] to
make chips and architectures optimized for these new matrix models and capable
of exascale.

It all came together this summer with the release of GraphBLAS 1.0 [6]. Now
that GPU and TPU accelerators are populating the data centers and linear
algebra has come en vogue, hopefully enough software engineers will be ready
with the background understanding and a working mental model for the
underpinning architectural paradigm shift [7].

[1] RedisGraph
[https://oss.redislabs.com/redisgraph/](https://oss.redislabs.com/redisgraph/)

[2] GraphBLAS [http://graphblas.org](http://graphblas.org)

[3] Tim Davis
[http://faculty.cse.tamu.edu/davis/](http://faculty.cse.tamu.edu/davis/)

[4] Jeremy Kepner [http://www.mit.edu/~kepner/](http://www.mit.edu/~kepner/)

[5] GraphBLAS: Building Blocks For High Performance Graph Analytics
[https://crd.lbl.gov/news-and-
publications/news/2017/graphbla...](https://crd.lbl.gov/news-and-
publications/news/2017/graphblas-building-blocks-for-high-performance-graph-
analytics/)

[6] Graph algorithms via SuiteSparse:GraphBLAS: triangle counting and K-truss
[pdf]
[http://faculty.cse.tamu.edu/davis/GraphBLAS/HPEC18/Davis_HPE...](http://faculty.cse.tamu.edu/davis/GraphBLAS/HPEC18/Davis_HPEC18.pdf)

[7] David Patterson Says It’s Time for New Computer Architectures and
Languages
[https://news.ycombinator.com/item?id=18009581](https://news.ycombinator.com/item?id=18009581)

~~~
CyberDildonics
> hopefully enough software engineers will be ready with the background
> understanding and a working mental model for the underpinning architectural
> paradigm shift

Good luck with that. This seems like a mess of buzzwords. GraphBLAS, Redis,
RedisGraph, paradigm shift, exascale. I have no idea what it is supposed to
accomplish, let alone what the advantage is.

Is this just some sort of reinvention of linear algebra mixed with a DAG?

Why did someone write an entire paper about counting triangles?

~~~
epistasis
Hah, "just" a reinvention of graph analysis with linear-algebra. That's a
"paradigm shift." Check out the performance numbers from that youtube video
for redis-graph versus other graph databases. Reformulation of graph
algorithms as algebraic operations means a huge step up in abstraction, and
optimization, and performance. GraphBLAS is what enables that. It's the
difference between tensorflow and having to rewrite stochastic gradient
descent for every deep net architecture you want to test.

For why somebody would write an entire article about counting triangles, check
out the youtube video above. It's the answer to one of the first questions
from the audience.

It's ok not to care about graphs, but why come in to a thread about graphs and
say "what's the point?" Graphs are important for some areas, and not for
others.

~~~
CyberDildonics
I'm not asking the point of graphs, I'm asking what is actually new. Directed
acyclical graphs have been around for ages, combining them with linear algebra
is not new.

Instead of actually explaining anything that is new, original, unique or just
a general step forward, all the replies seem to be saying how silly it is for
asking and how smart someone is for counting triangles.

~~~
epistasis
Please take any single one of the sentences of my first paragraph above, to
explain what's cool about the comment and the OP. Any one sentence would, if
true, make this material far more worthy of hacker interest than the typical
HN front page article. That the post above shows all of them makes this
comment one of the better contributions to the site in the past week. I'm
still making my way through all the material and without a doubt consider it
the best information I've learned all week.

------
kerzol
The article was selected to discuss in our reading group.

Here you can find a very interesting remarks and important questions that were
asked:

[https://papers-gamma.link/paper/112/](https://papers-gamma.link/paper/112/)

Sorry, but I am too lazy to copypaste them here :D

