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

Revise docs for GAE #2439

Merged
merged 9 commits into from
Feb 21, 2023
Merged

Revise docs for GAE #2439

merged 9 commits into from
Feb 21, 2023

Conversation

doudoubobo
Copy link
Collaborator

as titled.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 20, 2023

🎊 PR Preview 387d2b0 has been successfully built and deployed to https://alibaba-graphscope-build-pr-2439.surge.sh

🤖 By surge-preview


## Running NexworkX Graph Algorithms

GraphScope is compatible with NetworkX APIs, and thus a graph algorithm developed for NetworkX (e.g., degree centrality) can directly on GraphScope:
Copy link
Collaborator

Choose a reason for hiding this comment

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

... run on

@@ -1,2 +1,27 @@
# Design of GAE

In GraphScope, Graph Analytics Engine (GAE) is responsible for handling various graph analytics algorithms. GAE has three main components: graph storage, execution framework and algorithm library. Next, we give an overview to each of them below.
Copy link
Collaborator

Choose a reason for hiding this comment

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

spell out the relation of GAE and GRAPE.


## Algorithm Library

GAE of GraphScope provides 20 graph analytics algorithms as built-in algorithms, and users can directly invoke them. The build-in algorithms contain most commonly used algorithms, including PageRank, BFS, DFS, shortest path and LCC. In addition, GraphScope is compatible with NetworkX APIs, and thus diverse kinds of [built-in algorithms in NetworkX](https://networkx.org/documentation/stable/reference/algorithms/index.html) can also be directly invoked by users. In total, over 100 build-in graph analytical algorithms can be directly executed over GraphScope, without any developing effort.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Where can we find the full list of the supported 20 built-in algorithms? give link.


## Installing Environments for Compilation
Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we need this to run your code?
Since this is a "getting started", please give SIMPLE example covered by pip installed graphscope.

```bash
git clone git@github.com:alibaba/GraphScope.git
cd GraphScope
./scripts/install_deps.sh --dev
Copy link
Collaborator

Choose a reason for hiding this comment

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

Besides, we are using gs, ask Siyuan for details.


Currently, there exist diverse types of graph analytics algorithms, which usually iteratively access a large fraction of (even all) vertices/edges of a graph to explore underlying insights hidden in graph data. Typical graph analytics algorithms include general analytics algorithms (e.g., PageRank, shortest path, and maximum flow), community detection algorithms (e.g., maximum clique/bi-clique, connected components, Louvain and label propagation), graph mining algorithms (e.g., frequent structure mining and graph pattern discovery).
Currently, there exist diverse types of graph analytics algorithms, which usually iteratively access a large fraction of (even all) vertices/edges of a graph to explore underlying insights hidden in graph data. Typical graph analytics algorithms include general analytics algorithms (e.g., PageRank, the shortest path, and maximum flow), community detection algorithms (e.g., maximum clique/bi-clique, connected components, Louvain and label propagation), graph mining algorithms (e.g., frequent structure mining and graph pattern discovery). These graph analytics algorithms have been widely applied in real scenarios. For example, as shown in the following figure, Google uses PageRank to rank web pages in their search engine results, and the shortest path algorithm can help path planning in logistics and delivery services.
Copy link
Collaborator

Choose a reason for hiding this comment

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

We can give more details about the analytical algorithms as context and background.
e.g., what is, what for, what's the application scenarios for

  • pagerank;
  • SSSP, (shortest path)
  • Louvain, (community detection)..


GAE of GraphScope provides 20 graph analytics algorithms as built-in algorithms, and users can directly invoke them. The build-in algorithms contain most commonly used algorithms, including PageRank, BFS, DFS, shortest path and LCC. In addition, GraphScope is compatible with NetworkX APIs, and thus diverse kinds of [built-in algorithms in NetworkX](https://networkx.org/documentation/stable/reference/algorithms/index.html) can also be directly invoked by users. In total, over 100 build-in graph analytical algorithms can be directly executed over GraphScope, without any developing effort.
## Characteristics of Graph Analytics Workloads
Copy link
Collaborator

Choose a reason for hiding this comment

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

Challenges of Graph Analytics on Large Graphs.

  • for small graphs, well studied.


## What can GraphScope Do

In GraphScope, Graph Analytics Engine (GAE) is responsible for handling graph analytics algorithms.It addresses the abovementioned challenges in the following ways:
Copy link
Collaborator

Choose a reason for hiding this comment

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

If you make them as bullet or subsection,
describe "how achieved this" in Design of GAE and give a link here for each subsection.

@@ -0,0 +1,150 @@
# How to customize algorithms with Python

Copy link
Collaborator

Choose a reason for hiding this comment

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

add a intro paragraph.

In addition, GraphScope GAE supports the PIE programming model, which can provide better performance than widely-used vertex-centric model. GraphScope GAE is equipped with `Java PIE` interface exposed by `GRAPE-jdk`, and users can develop their own algorithms using the PIE programming model.

The following tutorials will introduce how to leverage the above features in GraphScope GAE Jave SDK.
Java plays an important role in big data ecosystem, and a lot of graph processing systems developed by Java (e.g., Apache Giraph and GraphX) have been widely applied. To integrate with Java ecosystem, GraphScope allows graph analytics algorithms developed for Apache Giraph and GraphX to directly run over GraphScope GAE.
Copy link
Collaborator

Choose a reason for hiding this comment

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

merge this in the user_guide_and_examples_of_gae page.

@doudoubobo doudoubobo merged commit 1b69aba into alibaba:main Feb 21, 2023
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.

None yet

2 participants