Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

draft: Universal stream join #59

Draft
wants to merge 96 commits into
base: master
Choose a base branch
from
Draft

draft: Universal stream join #59

wants to merge 96 commits into from

Conversation

wzru
Copy link
Collaborator

@wzru wzru commented Feb 14, 2023

No description provided.

tony and others added 30 commits March 2, 2022 11:43
2. abstract the join method and creat a STL named AbstractJoinMethod
3. change the celljoin by extending the AbstractJoinMethod
4. try handshake join (not work fine yet)
2. Add the MicroDataSet.h into Utils
2. Add the ThreadPerf into Utils
3. Add the MultiThreadHashTable into Common
4. Add the NPJ into JoinAlgo
1. Add a JoinAlgoTable in JoinAlgo, to access all supported algos
2. Rewrite the existing classes of eager join (just briefly done)
3. First version of lazy window join slider and processor (No sharing)
4. Upgrade the NPJ accordingly
1. Add a JoinAlgoTable in JoinAlgo, to access all supported algos
2. Rewrite the existing classes of eager join (just briefly done)
3. First version of lazy window join slider and processor (No sharing)
4. Upgrade the NPJ accordingly
5. Remove the build folder
1. Add a JoinAlgoTable in JoinAlgo, to access all supported algos
2. Rewrite the existing classes of eager join (just briefly done)
3. First version of lazy window join slider and processor (No sharing)
4. Upgrade the NPJ accordingly
5. Remove the build folder
* 1. add the branch for lazy window slider

* 1. add the branch for lazy window slider

* issue #29

* issue #29:
1. Add a JoinAlgoTable in JoinAlgo, to access all supported algos
2. Rewrite the existing classes of eager join (just briefly done)
3. First version of lazy window join slider and processor (No sharing)
4. Upgrade the NPJ accordingly

* issue #29:
1. Add a JoinAlgoTable in JoinAlgo, to access all supported algos
2. Rewrite the existing classes of eager join (just briefly done)
3. First version of lazy window join slider and processor (No sharing)
4. Upgrade the NPJ accordingly
5. Remove the build folder

* issue #29:
1. Add a JoinAlgoTable in JoinAlgo, to access all supported algos
2. Rewrite the existing classes of eager join (just briefly done)
3. First version of lazy window join slider and processor (No sharing)
4. Upgrade the NPJ accordingly
5. Remove the build folder

* remove the xxx build

* issue #29:
1. Add a JoinAlgoTable in JoinAlgo, to access all supported algos
2. Rewrite the existing classes of eager join (just briefly done)
3. First version of lazy window join slider and processor (No sharing)
4. Upgrade the NPJ accordingly

* delete the commit scripts

Co-authored-by: tony <[email protected]>
1. Add a JoinAlgoTable in JoinAlgo, to access all supported algos
2. Rewrite the existing classes of eager join (just briefly done)
3. First version of lazy window join slider and processor (No sharing)
4. Upgrade the NPJ accordingly
5. Remove the build folder
1. Configurable slide for CellJoin
2. Fixed some bugs
1. Configurable slide for CellJoin
2. Fixed some bugs
3. Add celljoin to test bench
1.reformat code
Reformat code and rename some classes
Reformat code and rename some classes
wzru and others added 20 commits December 17, 2022 00:28
- add Test0 dataset (100 tuples) to debug
* SplitJoin(with bug)

Co-authored-by: whyy7777 <[email protected]>
* take spliting window and making new joiner to engine level

* modify make joiner and free joiner

* clang-format

* amend new JoinCore policy

* no elimination of joiner

* index of begin joiner
* take spliting window and making new joiner to engine level

* rebase universal_stream_join

* debugging

* fix: SplitJoin segfault

* no exception

* only some concurrency bug

* completion of SplitJoin

* fix: SystemTest.Verify

* fix: ci

---------

Co-authored-by: wzru <[email protected]>
@wzru wzru force-pushed the universal_stream_join branch from 1f7274b to ba5d312 Compare February 14, 2023 14:06
wzru and others added 9 commits February 26, 2023 20:02
* refactor: context & Param

* feat: add FATAL
* SplitJoinOrigin and correct EmitAllWindow

* origin logger

* format code

* format src

* format include

* modify

* no DS_Store
..

Many issues in the code structure and main logic.

1) it needs to be changed to pull-based rather than push-based.

2) the structure of engine-algo-joincore is not cleared enough. Need a major refactor.

3) the time measurement is not precise, I have moved the related part to ctx, to be updated later to force more fair evaluation.
..

Many issues in the code structure and main logic.

1) it needs to be changed to pull-based rather than push-based.

2) the structure of engine-algo-joincore is not cleared enough. Need a major refactor.

3) the time measurement is not precise, I have moved the related part to ctx, to be updated later to force more fair evaluation.

4) some code clean.
discovered some bugs in the existing code: the algorithm is not producing correct results when setting different slide_size.
discovered some bugs in the existing code: the algorithm is not producing correct results when setting different slide_size.
- Revise RelationCouple implementation.
- Add code skeleton.

TO-Do List:

- Remove Template, use inheritance instead as we don't need to worry virtual dispatch for different window sliders.

- Need to use template for join algorithms -- however, we may simply rely on one algorithm at the current stage.

- Implement algorithm selector in the future.
Sign up for free to 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.

4 participants