Skip to content

Refactor Graph class -> GraphSketchDriver + CCSketchAlg - #135

Merged
etwest merged 32 commits into
mainfrom
refactor
Dec 18, 2023
Merged

Refactor Graph class -> GraphSketchDriver + CCSketchAlg#135
etwest merged 32 commits into
mainfrom
refactor

Conversation

@etwest

@etwestetwest commented Oct 18, 2023

Copy link
Copy Markdown
Collaborator

This pull request refactors the key classes of this repository with the goal of increasing the flexibility of our code. We want to allow the possibly for writing code for other sketching algorithms on top of this repository. Specifically, we disentangled the setup for reading and processing graph streams from the code for running the connected components sketch algorithm. We also got rid of the Supernode class and refactored the sketch class to be more usable.

Also some other small stuff, see below.

  • Config for driver and cc algorithm seperately
  • Extract spanning forest edges option for CCSketchAlg
  • Sketch constructor using vector length rather than number of vertices. Add static vec_len_from_verts().
  • Graph destructor
  • Raw bucket delta update
  • Exaustive sample
  • Investigate query performance
  • More testing
  • Rename graph_test.cpp to cc_alg_test.cpp
  • See comments below

Comment threadinclude/sketch.h Outdated
Comment threadinclude/graph_configuration.h Outdated
Comment threadinclude/sketch.h Outdated
Comment threadinclude/sketch.h Outdated
Comment threadinclude/sketch.h Outdated
Comment threadinclude/worker_thread_group.h
Comment threadsrc/cc_sketch_alg.cpp Outdated
Comment threadsrc/cc_sketch_alg.cpp
Comment threadsrc/sketch.cpp
Comment threadsrc/sketch.cpp Outdated
Comment threadsrc/sketch.cpp Outdated
Comment threadsrc/sketch.cpp Outdated
Comment threadtest/graph_test.cpp Outdated
@DanielDeLayo

Copy link
Copy Markdown
Contributor

We need to change the sketch interface. Let us input the vector length, instead of the square root of the vector length.

DanielDeLayo
DanielDeLayo previously approved these changes Oct 23, 2023

@DanielDeLayoDanielDeLayo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The .yml file is much more readable now!

@DanielDeLayo
DanielDeLayo self-requested a review October 23, 2023 16:08
@DanielDeLayo
DanielDeLayo dismissed their stale reviewOctober 23, 2023 16:08

github interface bad

Comment threadinclude/cc_alg_configuration.h Outdated
Comment threadinclude/cc_sketch_alg.h Outdated
Comment threadsrc/cc_sketch_alg.cpp Outdated
Comment threadsrc/sketch.cpp
Comment threadtools/benchmark/graphcc_bench.cpp
Comment threadtools/test_correctness.cpp
Better, faster, stronger query algorithm for the refactor
@etwest
etwest merged commit 75eb61c into mainDec 18, 2023
@etwest
etwest deleted the refactor branch December 18, 2023 03:13
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Setup for queries during multi-threaded stream is awkward Supernode and Sketch Configure

2 participants

@etwest@DanielDeLayo