Externalizing the cluster membership

Baosong@SR-Intelligence

2023-01-17

Agenda

  • Background/Purpose
  • Requirements
  • The proposed architecture/deployment
  • Roadmap
  • Demo

Background/Purpose

  • It is the very step to make the server stateless.
  • Each node talks to other nodes for state synchronization resulting in O(n2) complexity, which does not scale.
  • Each Library calls each I-server to synchronize cluster membership to the Library. The consolidation logic in Library is complicated and fragile.

What is cluster membership?

  • The nodes within the cluster
  • For each node
    • The node state
    • The job count
    • The session count
    • The loaded projects
    • For each project
      • The project state
      • The users who logged in to the project

Requirements

  • Single truth of cluster state.
  • Simplify the synchronization between server nodes.

  • The server nodes should join automatically when they start up.

  • Capable of switching between the two modes - cluster state externalized vs. cluster state within each server node.

The proposed architecture

Roadmap

  • Finish stage 1 work by
    • Merge the server-side code change
    • Work with PL team to deploy the Cluster State Service in the containerized environment
  • Move from stage1 to stage2
  • Externalizing the session state
  • Externalizing the cube index
  • ...

Externalizing the cluster membership

By bawu

Externalizing the cluster membership

  • 17