Skip to content

Orchestrator Discovery Scalability #2324

Open
@leszko

Description

@leszko

We're preparing go-livepeer to be flexible on the number of active orchestrators. Livepeer node should work correctly if the n of Os increases from 100 to 1000 or more.

From the initial analysis we identified the following code areas.

code seq / par context time 10x time
client.TranscoderPool() sequential used during startup and before initializing the round 113s (1.25s each) 1125s (19 min)
db_discovery.cacheOrchestratorStake() parallel used during startup 665ms 1.4s
db_discovery.cacheDBOrchs() parallel used during startup and every 1h to refresh 3s 3s
discovery.GetOrchestrators() parallel used during each O pool session refresh 1s 1s
orchestratorwatcher.handleRoundEvent() sequential used after a new round 20s (0.22s each) 198s (3.3 min)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions