Skip to content

Latest commit

 

History

History
72 lines (41 loc) · 4 KB

File metadata and controls

72 lines (41 loc) · 4 KB
graph LR
    DistGraph["DistGraph"]
    DistGraphClient["DistGraphClient"]
    DistGraphServer["DistGraphServer"]
    launch["launch"]
    helper["helper"]
    launch -- "initializes and manages" --> DistGraphClient
    launch -- "initializes and starts" --> DistGraphServer
    DistGraph -- "communicates with" --> DistGraphClient
    DistGraph -- "uses" --> helper
    DistGraphClient -- "sends requests to" --> DistGraphServer
    DistGraphClient -- "sends results back to" --> DistGraph
    DistGraphClient -- "utilizes" --> helper
    DistGraphServer -- "sends responses to" --> DistGraphClient
    DistGraphServer -- "utilizes" --> helper
Loading

CodeBoardingDemoContact

Details

The Distributed Graph Engine subsystem in PGL is designed to enable scalable graph processing by distributing graph data and computation across multiple nodes. It primarily focuses on abstracting the complexities of distributed environments, allowing users to interact with large graphs as if they were local.

DistGraph

The primary user-facing interface for interacting with the distributed graph. It abstracts the complexities of distributed data access, sampling, and iteration, allowing users to perform graph operations as if on a local graph. It orchestrates data retrieval from the distributed servers.

Related Classes/Methods:

DistGraphClient

Manages the client-side communication and interaction with the DistGraphServer instances. It handles requests for graph data (nodes, edges, features) and distributed operations, ensuring efficient data transfer and synchronization across the distributed environment. It acts as the intermediary for all client-initiated distributed graph operations.

Related Classes/Methods:

DistGraphServer

Manages and serves partitions of the distributed graph data. Each server instance is responsible for a subset of the graph, handling requests from clients, performing local graph operations (e.g., neighbor sampling on its partition), and serving data to DistGraphClient instances. It is the backend for distributed graph storage and computation.

Related Classes/Methods:

launch

Orchestrates the setup, initialization, and coordination of the distributed environment. It manages the lifecycle of DistGraphServer and DistGraphClient processes, ensuring they can discover and communicate with each other. It's the entry point for starting a distributed PGL application.

Related Classes/Methods:

helper

Provides essential utility functions and configurations for the distributed components. This includes loading distributed configurations, managing graph metadata (like edge types), and other common services required by both client and server parts of the system.

Related Classes/Methods: