Center @PapersWeLoveSEA @ankurcha - Ankur Chauhan Benjamin Hindman, Andy konwinski, Matei Zaharia, Ali Ghodsi, Anthony D. Joseph, Randy Katz, Scott Shenker, Ion Stoica
framework is optimal for all workloads • What do we want? ◦ Run multiple frameworks on a single cluster (big) ▪ Maximize utilisation of resources. (elastic) ▪ Share data between frameworks.
frameworks • Scalability to 10,000s of nodes • Reliability in face of failures • Efficient with minimal overhead • Highly available via leader election of master.
Let schedulers define filters ◦ Offered resources counted as allocations ◦ Rescind offers if not accepted within timeout • Fault tolerance ◦ Zookeeper for leader election (hot-standby) ◦ Mesos reports slave and executor failures to scheduler ◦ Minimal internal state in master
to each framework, based on allocation policy (fair share), while framework decide which resource offers to accept and which tasks to run on them. • When a framework accepts an offer, it passes Mesos a description of the task (and executor) to launch.
scale elastically. ◦ Task durations are homogeneous. ◦ Frameworks have many preferred nodes. • Conditions hold true in many frameworks (hadoop, dryad, spark … ) ◦ Work is divided into short tasks ◦ Data is replicated across multiple nodes
demands, distributed collection of frameworks may not be able to bin pack optimally. • Independent framework constraints ◦ Esoteric dependency scenarios can only be satisfied with a centralized scheduler • Framework complexity ◦ Need to deal with resource offers ( not onerous )
between 4-8 seconds with 95% confidence of 3secs on either side. • Performance isolation ◦ Linux containers are not perfect at isolation ◦ 30% increase in request latency vs 550% increase during tests ▪ apache server + cpu hog process