Designing a Partition-to-Single Trait for GRIN
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 468
- Avg merge
- 29m
- Merged PRs (30d)
- 1
Description
Being the standard interface between computing engines and storage engines of GraphScope, currently GRIN provides different APIs for local graph and partitioned graph. However, some graph computing engines only work on a single machine and do not support distributed computing. This makes it difficult for these engines to access partitioned graph in some distributed storage systems. To address this issue, we propose designing a partition-to-single trait for GRIN that allows computing engines to use the local graph APIs to access partitioned graph as if it were only a local graph.
The partition-to-single trait will enable single-machine graph computing engines to access partitioned graph in a distributed storage system with ease. Under this trait, computing engines can use the local graph APIs of GRIN to access the partitioned graph instead of using the partitioned graph APIs of GRIN. This will provide a uniform way for accessing graphs across different computing engines, regardless of whether they support distributed computing or not.
In particular, a gRPC layer should be designed and implemented, where the local graph APIs will use gPRC to access remote data in the partitioned graph.
Thank you.
Contributor guide
Research direction
Start by reviewing the GRIN local graph APIs, partitioned graph APIs, and the proposed gRPC layer described in the issue. Clarify the trait boundary and remote-data behavior with maintainers before implementation. Done means single-machine computing engines can use local graph APIs to access partitioned graph data through gRPC.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, grpc
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100