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

Add initial MNMG support, consolidate APIs, minor refactoring, update tests #24

Merged
merged 27 commits into from
Sep 2, 2022

Conversation

rlratzel
Copy link
Contributor

@rlratzel rlratzel commented Aug 18, 2022

closes #13
closes #6 (SG was closed by #18)
closes #5
closes #3
closes #2

  • Added ability to pass in a dask scheduler configuration and have the GaaS server use it to create and work with MG graph data and automatically call MG algos. Extensions which load SG graphs are supported simultaneously.
  • Removed the get_num_vertices() and get_num_edges() APIs in favor of get_graph_info()
  • Added get_server_info() which returns meta-data about the GaaS server, useful for test and debug
  • Added a "server facade" object which is passed to extension functions that can be used to query server state without giving extensions direct access to sensitive server APIs. This is initially useful for allowing extensions to query if the server is MG-capable or not in order to determine how to load data (using dask_cudf or not)
  • Added utilities for converting to/from Thrift union types
  • Removed taxpayers test data which is now considered invalid input
  • Updates to support latest PropertyGraph updates
  • Added and updated tests accordingly
  • Removed get_graph_dataframe_rows() and replaced them with get_graph_data()
  • Added MG and SG tests to cover different ID types (exposed after a typo went unchecked)
  • Added MG and SG tests to cover get_graph_*_data()

NOTES:

rlratzel and others added 23 commits June 16, 2022 18:58
…' into branch-22.08-mg_updates

Added updates for initial support for MGPropertyGraph and additional tests
… consistency, moved graph_id arg to end for uniform_neighbor_sampling for consistency, added tests for info APIs, temporarily disabled vertex shape test while discussing if it is needed or not.
…ensuring it can support the use cases for the old shape() APIs.
…ich are obsoleted by get_graph_info(), removed now invalide taxpayers data, updated tests for these changes.
…mpling

Updates to GaaS for Uniform Neighbor Sampling
@rlratzel rlratzel added breaking Introduces a breaking change improvement Improves an existing functionality labels Aug 18, 2022
@rlratzel rlratzel added this to the 22.10 milestone Aug 18, 2022
@rlratzel rlratzel requested a review from alexbarghi-nv August 18, 2022 13:09
@rlratzel rlratzel self-assigned this Aug 18, 2022
@rlratzel rlratzel linked an issue Aug 18, 2022 that may be closed by this pull request
9 tasks
…e optional, updated adn added tests accordingly.
Copy link
Member

@alexbarghi-nv alexbarghi-nv left a comment

Choose a reason for hiding this comment

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

Looks good, just proposed a few minor fixes

python/gaas_server/gaas_handler.py Outdated Show resolved Hide resolved
python/gaas_server/gaas_handler.py Outdated Show resolved Hide resolved
python/gaas_server/gaas_handler.py Outdated Show resolved Hide resolved
python/gaas_server/gaas_handler.py Outdated Show resolved Hide resolved
python/gaas_client/types.py Outdated Show resolved Hide resolved
python/gaas_server/gaas_handler.py Outdated Show resolved Hide resolved
…_*_data(). Added MG and SG tests to cover different ID types (exposed after a typo went unchecked). Added MG and SG tests to cover get_graph_*_data(). Minor cleanup and refactorings.
Copy link
Member

@VibhuJawa VibhuJawa left a comment

Choose a reason for hiding this comment

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

Have given the PR an initial review and asked a bunch of clarifications. Will review again based on the answers to these questions.

python/gaas_client/gaas_thrift.py Show resolved Hide resolved
scripts/run-dask-process.sh Show resolved Hide resolved
scripts/run-dask-process.sh Show resolved Hide resolved
scripts/run-dask-process.sh Show resolved Hide resolved
scripts/functions.sh Outdated Show resolved Hide resolved
python/tests/test_mg_gaas_handler.py Show resolved Hide resolved
Copy link
Member

@alexbarghi-nv alexbarghi-nv left a comment

Choose a reason for hiding this comment

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

👍

python/gaas_server/gaas_handler.py Show resolved Hide resolved
@rlratzel rlratzel requested a review from VibhuJawa September 1, 2022 03:30
Copy link
Member

@VibhuJawa VibhuJawa left a comment

Choose a reason for hiding this comment

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

LGTM

@rlratzel rlratzel merged commit ad84042 into rapidsai:branch-22.10 Sep 2, 2022
rapids-bot bot pushed a commit to rapidsai/cugraph that referenced this pull request Sep 2, 2022
…o the cugraph repo (#2661)

closes #2652

**_Note to reviewers:_**
> The code here is based on the latest 22.10 GaaS sources which include [this last PR to GaaS](rapidsai/GaaS#24), and has only been changed to update names ("gaas" -> "cugraph_service") and pass style checks, but the diffs will obviously show everything as new content.
>
> In other words, don't feel obligated to review anything beyond name changes if you've already reviewed the GaaS sources.
>
> Future changes that update functionality related to this move will be done in separate PRs so the diff can clearly show what's being changed.


This is the initial PR which only moves source files and changes names in sources, docs, directories, etc.  The unit tests were run (SG and MG) after the name change and they all pass.

One or more followup PRs will be open to add appropriate support for CI (ie. no MG tests run by default, limit to handler tests to simplify automating server subprocesses if necessary, etc.).

The entire GaaS repo is now under `python/cugraph_service` as a peer to `cugraph` and `pylibcugraph`.

Authors:
  - Rick Ratzel (https://github.com/rlratzel)
  - Alex Barghi (https://github.com/alexbarghi-nv)
  - Brad Rees (https://github.com/BradReesWork)

Approvers:
  - Brad Rees (https://github.com/BradReesWork)
  - Vibhu Jawa (https://github.com/VibhuJawa)

URL: #2661
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Introduces a breaking change improvement Improves an existing functionality
Projects
None yet
3 participants