1 / 378

Apache Mesos D esign Decisions

Apache Mesos D esign Decisions. mesos.apache.org @ ApacheMesos. Benjamin Hindman – @ benh. t his is not a talk about YARN. at least not explicitly!. this talk is about Mesos !. a little history.

liona
Download Presentation

Apache Mesos D esign Decisions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Apache MesosDesign Decisions mesos.apache.org @ApacheMesos Benjamin Hindman – @benh

  2. this is nota talk about YARN

  3. at least not explicitly!

  4. this talk is about Mesos!

  5. a little history • Mesos started as a research project at Berkeley in early 2009 by Benjamin Hindman, Andy Konwinski, MateiZaharia, Ali Ghodsi, Anthony D. Joseph, Randy Katz, Scott Shenker, Ion Stoica

  6. our motivation increase performance and utilization of clusters

  7. our intuition static partitioning considered harmful

  8. static partitioning considered harmful datacenter

  9. static partitioning considered harmful

  10. static partitioning considered harmful

  11. static partitioning considered harmful

  12. static partitioning considered harmful faster!

  13. static partitioning considered harmful higher utilization!

  14. our intuition build new frameworks

  15. “Map/Reduce is a big hammer,but not everything is a nail!”

  16. Apache Mesos is a distributed systemfor running and building other distributed systems

  17. Mesos is a cluster manager

  18. Mesos is a resource manager

  19. Mesos is a resource negotiator

  20. Mesos replaces static partitioning of resources to frameworks withdynamic resource allocation

  21. Mesos is a distributed system with amaster/slave architecture masters slaves

  22. frameworks register with the Mesos master in order to run jobs/tasks frameworks masters slaves

  23. Mesos @Twitter in early 2010goal: run long-running services elastically on Mesos

  24. Apache Aurora (incubating) Aurora is a Mesos framework that makes it easy to launch services written in Ruby, Java, Scala, Python, Go, etc! masters

  25. Storm, Jenkins, … masters

  26. a lot of interestingdesign decisionsalong the way

  27. many appear (IMHO)in YARN too

  28. design decisions • two-level scheduling and resource offers • fair-sharing and revocable resources • high-availability and fault-tolerance • execution and isolation • C++

  29. design decisions • two-level scheduling and resource offers • fair-sharing and revocable resources • high-availability and fault-tolerance • execution and isolation • C++

  30. frameworks get allocated resources from the masters framework resources are allocated via resource offers a resource offer represents a snapshot of available resources (one offer per host) that a framework can use to run tasks offer hostname 4 CPUs 4 GB RAM masters

  31. frameworks use these resources to decide what tasks to run framework task 3CPUs 2GB RAM a task can use a subset of an offer masters

  32. Mesos challengedthe status quoof cluster managers

  33. cluster manager status quo application the specification includes as much information as possible to assist the cluster manager in scheduling and execution specification cluster manager

  34. cluster manager status quo wait for task to be executed application cluster manager

  35. cluster manager status quo application result cluster manager

  36. problems with specifications • hard to specify certain desires or constraints • hard to update specifications dynamically as tasks executed and finished/failed

  37. an alternative model framework a request is purposely simplified subset of a specification, mainly including the required resources request 3CPUs 2GB RAM masters

  38. question: what should Mesos do if it can’t satisfy a request?

  39. question: what should Mesos do if it can’t satisfy a request? wait until it can…

  40. question: what should Mesos do if it can’t satisfy a request? wait until it can … offerthe best it can immediately

  41. question: what should Mesos do if it can’t satisfy a request? wait until it can … offerthe best it can immediately

  42. an alternative model framework offer hostname 4 CPUs 4 GB RAM masters

  43. an alternative model framework offer hostname 4 CPUs 4 GB RAM offer hostname 4 CPUs 4 GB RAM offer hostname 4 CPUs 4 GB RAM offer hostname 4 CPUs 4 GB RAM masters

  44. an alternative model framework offer hostname 4 CPUs 4 GB RAM offer hostname 4 CPUs 4 GB RAM offer hostname 4 CPUs 4 GB RAM offer hostname 4 CPUs 4 GB RAM framework uses the offers to perform it’s own scheduling masters

  45. an analogue:non-blocking sockets application write(s, buffer, size); kernel

  46. an analogue:non-blocking sockets application 42 of 100 bytes written! kernel

  47. resource offers address asynchrony in resource allocation

  48. IIUC, even YARN allocates “the best it can” to an application when it can’t satisfy a request

  49. requests are complimentary(but not necessary)

  50. offers representthe currently available resources a framework can use

More Related