From 11f9198941fee4944615518a5bd31b8b3b199046 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Tue, 3 Nov 2015 09:14:40 +0100 Subject: [PATCH] Add scheduler monopic architecture diagram --- contrib/mesos/docs/scheduler.monopic | Bin 0 -> 10792 bytes contrib/mesos/pkg/scheduler/doc.go | 55 +++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 contrib/mesos/docs/scheduler.monopic diff --git a/contrib/mesos/docs/scheduler.monopic b/contrib/mesos/docs/scheduler.monopic new file mode 100644 index 0000000000000000000000000000000000000000..253b74c07848e0b48f2b8ebab28db4b41af1858a GIT binary patch literal 10792 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 NodeName│ +// │ ││ │◀──│ │ │ │──▶│ │ │ │ +// │ ┌─────┐││ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │ │┌─────┐ │ +// └───────────────┤sched├┘└────┤sched├─────┘ └──────┤sched├───▲──┘ └───┤sched├───┘ └────┤sched├──────┘ └┤sched├────────────────────┘ +// ├-│││-┴──────┴--││-┴────────────────┴--│--┴───┼──────────┴--│--┴────────────┴-│││-┴──────────┴-│││-┴─────┐ ┌──────────────────────┐ +// │ │││ ││ │ │ │ │││ │││ │ │ │ +// │ ││└───────────▼┼─────────────────────▼──────┼─────────────▼─────────────────▼┼┼──────────────┘││ │ │ A ──────────▶ B │ +// │ │└─────────────┼────────────────────────────┼─────────────┼──────────────────▼┼───────────────┘│ │ │ │ +// │ │ │ │ │ │└──────────┐ │ │ │ A has a reference │ +// │ │ │ │ │ │ │ │ │ │ on B and calls B │ +// │ │ │ ╲ │ │ │ ╱ │ │ │ ┌─▼─────▼──────┐│ │ │ +// │ │ │ ╲ └┐ │ ┌┘ ╱ │ │ │ │PodScheduler()││ └──────────────────────┘ +// │ │ │ ╲ │ │ │ ╱ │ │ │ └─┼─────┬──────┘│ +// │ │ │ ╲ └┐ │ ┌┘ ╱ │ │ │ ┌─┼─────▼───────┴────────────────┐ +// │┌▼────────────┐┌▼──────────┐┌─▼─▼─▼─▼─▼─┐┌───┴────────┐┌───▼───┐ ┌────▼───┐ │ │ podScheduler │ +// ││LaunchTask(t)││KillTask(t)││sync.Mutex ││reconcile(t)││Tasks()│ │Offers()│ │ │ (e.g. fcfsPodScheduler) │ +// │└──────┬──────┘└─────┬─────┘└───────────┘└────────▲───┘└───┬───┘ └────┬───┘ │ │ │ +// │ │ │ │ │ │ │ │scheduleOne(pod, offers ...) │ +// │ │ └──────────────────┐ │ ┌───▼────────────┐ │ │ │ ┌──────────────────────────┤ +// │ └──────────────────────────────┐ │ │ │podtask.Registry│ │ │ │ │ allocationStrategy │ +// │ │ │ │ └────────────────┘ │ │ └───┼────▶ - FitPredicate │ +// │ │ │ │ │ │ │ - Procurement │ +// │Scheduler │ └──────┐ │ │ └─────┴─────────┬────────────────┘ +// └──────────────────────────────────────┼────────┼─┬│----┬──────────────────────┼─────────────────────────┘ +// ┌──────────────────────────────────────┼────────┼─┤sched├──────────────────────┼─────────────────────────┐ +// │Framework │ │ └─────┘ ┌────▼───┐ │ +// │ ┌──────▼──────┐┌▼──────────┐ │Offers()│ │ +// │ │LaunchTask(t)││KillTask(t)│ └────┬───┘ │ +// │ └─────────┬───┘└──────┬────┘ ┌────────▼───────┐ │ +// │implements: mesos-go/scheduler.Scheduler └───────────▼ │offers.Registry │ │ +// │ │ └────────────────┘ │ +// │ ┌─────────────────┐ ┌──▼─────────────┐ │ +// └────────────────────────┤ ├───────┤ Mesos ├────────────────────────────────────┘ +// │ TasksReconciler │ │ Scheduler │ +// │ ├───────▶ Driver │ +// └─────────────────┘ └────────┬───────┘ +// │ +// │ +// ▼