Skip to content

Feat: Production GCN inference pipeline.#787

Draft
aotenjou wants to merge 5 commits intoapache:masterfrom
aotenjou:codex/gcn-infer-20260417
Draft

Feat: Production GCN inference pipeline.#787
aotenjou wants to merge 5 commits intoapache:masterfrom
aotenjou:codex/gcn-infer-20260417

Conversation

@aotenjou
Copy link
Copy Markdown

This pull request introduces significant enhancements to the GeaFlow DSL, particularly around support for Graph Convolutional Networks (GCN) and improvements to type casting and configuration management. The main changes include the addition of built-in GCN algorithm support, new runtime context interfaces for model-backed algorithms, improvements to type casting utilities, and new configuration options for inference and GCN behavior.

GCN Algorithm and UDF Support:

  • Added a built-in GCN algorithm (GCN) to the DSL's function table, enabling users to perform GCN-based computations directly within SQL queries. This includes the introduction of supporting classes such as GCNAccumulator, GCNFragmentMessage, GCNExpandMessage, and GCNEdgeRecord to manage GCN-specific data and message passing. [1] [2] [3] [4] [5] [6]

DSL and Framework Configuration Enhancements:

  • Introduced new configuration keys for controlling GCN behavior (e.g., hops, fanout, edge direction, vertex feature fields, batch size, edge weight field) in DSLConfigKeys, and inference context pool settings (max size, borrow timeout) in FrameworkConfigKeys. [1] [2]

Algorithm Runtime Extensions:

  • Added AlgorithmModelRuntimeContext and BatchAlgorithmUserFunction interfaces to support model-backed algorithms and batch finalization logic, respectively, providing more flexibility for advanced algorithm implementations. [1] [2]

Type Casting Improvements:

  • Enhanced the TypeCastUtil utility by adding support for casting arrays to strings, improving compatibility and usability when handling array data types in DSL expressions. [1] [2]

Utility and Robustness Improvements:

  • Improved the PortUtil.getPort method to fallback to an OS-assigned ephemeral port when the specified port range is unavailable, increasing robustness in constrained environments.### What changes were proposed in this pull request?

How was this PR tested?

  • Tests have Added for the changes
  • Production environment verified

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.

1 participant