Skip to content

Comment on Carving the scheduler out of our orchestrator

Comments

As the Nomad Team Lead, this article is a gift - thank you Fly! - even if they're transitioning off of Nomad. Their description of Nomad is exactly what I would love people to hear, and their reasons for DIYing their own orchestration layer seem totally reasonable to me. Nomad has never wanted people to think we're The One True Way to run all workloads.

I hope Nomad covers cases like scaling-from-zero better in the future, but to do that within the latency requirements of a single HTTP request is quite the feat of design and implementation. There's a lot of batching Nomad does for scale and throughput that conflict with the desire for minimal placement+startup latency, and it's yet to be seen whether "having our cake and eating it too" is physically possible, much less whether we can package it up in a way operators can understand what tradeoffs they're choosing.

I've had the pleasure of chatting with mrkurt in the past, and I definitely intend to follow fly.io closely even if they're no longer a Nomad user! Thanks again for yet another fantastic post, and I wish fly.io all the best.

This whole article started with me rewatching your Nomad deep dive video and then chasing papers. :)

Are you referring to, "Nomad Under the Hood" [1]? Which papers did you find useful?

[1] https://www.youtube.com/watch?v=m6DnmVqoXvw

I haven't watched the whole video so I don't know about papers referenced, but between chatgpt and papers mentioned in the source repo, here is a good starting list.

Large-scale cluster management at Google with Borg https://research.google/pubs/pub43438/

Omega: flexible, scalable schedulers for large compute clusters https://research.google/pubs/pub41684/

The Chubby lock service for loosely-coupled distributed systems https://disco.ethz.ch/courses/hs08/seminar/papers/osdi06-goo...

Apache Mesos https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=Apac...

mentioned in the nomad repo and docs site

Sparrow: Distributed, Low Latency Scheduling https://cs.stanford.edu/~matei/papers/2013/sosp_sparrow.pdf

SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol https://www.cs.cornell.edu/projects/Quicksilver/public_pdfs/...

Raft: In search of an Understandable Consensus Algorithm https://raft.github.io/raft.pdf

----

Finally, take a look at the papers referenced on semanticscholar

https://www.semanticscholar.org/search?q=nomad%20orchestrati...

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.