-
Notifications
You must be signed in to change notification settings - Fork 439
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
Refactor Intersect
in GIE Physical Layer and Runtime
#3685
Labels
Comments
BingqingLyu
added a commit
that referenced
this issue
Apr 1, 2024
…3600) <!-- Thanks for your contribution! please review https://github.com/alibaba/GraphScope/blob/main/CONTRIBUTING.md before opening an issue. --> ## What do these changes do? <!-- Please give a short brief about these changes. --> As titled. Support `Intersect` with `PathExpand` operator in GIE Runtime, to be compatible with the new compilation output. ## Related issue number <!-- Are there any issues opened that will be resolved by merging this change? --> #3685
/cc @BingqingLyu, this issus/pr has had no activity for for a long time, could you folks help to review the status ?
|
BingqingLyu
added a commit
that referenced
this issue
May 14, 2024
… Runtime (#3689) <!-- Thanks for your contribution! please review https://github.com/alibaba/GraphScope/blob/main/CONTRIBUTING.md before opening an issue. --> ## What do these changes do? <!-- Please give a short brief about these changes. --> As titled. This pr mainly includes: 1. Refactor the convert logic of `Intersect` in `GraphRelToProtoConverter` in Compiler 2. Refactor the parsing and processing logic of `Intersect` in assembly in Runtime 3. Support a more general `Intersect` that can preserve the edges during intersection, in Runtime 4. Add a micro benchmark framework, and testing for general_intersection v.s. optimized_intersection. The results shows that, on ldbc dataset (sf=1), to find matches for a triangle (a,b,c knows each other), general_intersection's time cost is about 1.7\times of optimized_intersection's, as the general_intersection further preserves all matched edges during the intersection computation. ## Related issue number <!-- Are there any issues opened that will be resolved by merging this change? --> Fixes #3685 #3745 --------- Co-authored-by: xiao.zl <xiaolei.zl@alibaba-inc.com> Co-authored-by: Longbin Lai <longbin.lailb@alibaba-inc.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is your feature request related to a problem? Please describe.
Previously, the translation of
Intersect
at the physical layer somewhat took into account the implementations of backend engines, such as adding an unfold operator following the intersect. However, such translations may not usually necessary. Instead, we should take a cue from the way multijoin expressions are handled, and directly translate the subplans contained within theIntersect
. The backend engines can then perform further processing on theIntersect
, based on their own implementations.The text was updated successfully, but these errors were encountered: