Unverified Commit d14d6ff4 authored by dagil-nvidia's avatar dagil-nvidia Committed by GitHub
Browse files

docs: improve Fern sidebar titles, add guide subtitles, and replace ASCII diagrams with D2 (#6069)


Signed-off-by: default avatarDan Gil <dagil@nvidia.com>
Signed-off-by: default avatardagil-nvidia <dagil@nvidia.com>
Co-authored-by: default avatarCursor <cursoragent@cursor.com>
Co-authored-by: default avatarJonathan Tong <jt572@cornell.edu>
parent d48de155
direction: down
coord: "Coordination Layer" {
style.font-size: 32
direction: right
sd: "Service Discovery" {
style.font-size: 28
k8s: "K8s: CRDs + API" {
style.font-size: 22
shape: rectangle
}
bm: "Bare metal: etcd" {
style.font-size: 22
shape: rectangle
}
}
nats: "NATS (Optional)" {
style.font-size: 28
kv: "KV Cache Events" {
style.font-size: 22
shape: rectangle
}
rs: "Router Replica Sync" {
style.font-size: 22
shape: rectangle
}
js: "JetStream Persistence" {
style.font-size: 22
shape: rectangle
}
}
}
frontend: Frontend {
style.font-size: 28
shape: rectangle
}
plan: Planner {
style.font-size: 28
shape: rectangle
}
worker: Worker {
style.font-size: 28
shape: rectangle
}
coord -> frontend
coord -> plan
coord -> worker
direction: right
dr: "DistributedRuntime" {
style.font-size: 28
ns: "• Namespace" {
style.font-size: 22
shape: text
}
comp: "• Components" {
style.font-size: 22
shape: text
}
ep: "• Endpoints" {
style.font-size: 22
shape: text
}
}
lease: "Primary Lease\nTTL: 10s" {
style.font-size: 24
shape: rectangle
style.bold: true
}
etcd: etcd {
style.font-size: 28
shape: cylinder
}
dr -> lease
lease -> etcd: "Keep-Alive\nHeartbeat" {
style.font-size: 22
}
direction: down
planner: "Planner Component" {
style.font-size: 32
inputs: {
direction: right
style.border-radius: 8
mc: "Metric Collector\n(Prometheus)" {
style.font-size: 24
shape: rectangle
}
lp: "Load Predictor\n(ARIMA / Kalman / Prophet)" {
style.font-size: 24
shape: rectangle
}
pi: "Performance Interpolator\n(NPZ profiling data)" {
style.font-size: 24
shape: rectangle
}
}
sa: "Scaling Algorithm" {
style.font-size: 28
shape: rectangle
style.bold: true
}
connector: "Connector Layer" {
style.font-size: 28
direction: right
kc: "KubernetesConnector\n(PATCH DGD)" {
style.font-size: 24
shape: rectangle
}
vc: "VirtualConnector\n(Runtime bridge)" {
style.font-size: 24
shape: rectangle
}
}
inputs.mc -> sa
inputs.lp -> sa
inputs.pi -> sa
sa -> connector
}
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1565 507"><svg class="d2-2416971391 d2-svg" width="1565" height="507" viewBox="-29 -29 1565 507"><rect x="-29.000000" y="-29.000000" width="1565.000000" height="507.000000" rx="0.000000" fill="transparent" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2416971391 .text {
font-family: "d2-2416971391-font-regular";
}
@font-face {
font-family: d2-2416971391-font-regular;
src: url("data:application/font-woff;base64,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");
}
.d2-2416971391 .text-bold {
font-family: "d2-2416971391-font-bold";
}
@font-face {
font-family: d2-2416971391-font-bold;
src: url("data:application/font-woff;base64,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");
}
@media (prefers-color-scheme: dark) {
.d2-2416971391 .fill-N1 { fill: #F2F2F2; }
.d2-2416971391 .fill-N2 { fill: #E0E0E0; }
.d2-2416971391 .fill-N3 { fill: #B0B0B0; }
.d2-2416971391 .fill-N4 { fill: #404040; }
.d2-2416971391 .fill-N5 { fill: #303030; }
.d2-2416971391 .fill-N6 { fill: #252525; }
.d2-2416971391 .fill-N7 { fill: transparent; }
.d2-2416971391 .fill-B1 { fill: #F2F2F2; }
.d2-2416971391 .fill-B2 { fill: #6B9FFF; }
.d2-2416971391 .fill-B3 { fill: #5AA4DC; }
.d2-2416971391 .fill-B4 { fill: #303040; }
.d2-2416971391 .fill-B5 { fill: #252535; }
.d2-2416971391 .fill-B6 { fill: #1E1E2E; }
.d2-2416971391 .stroke-N1 { stroke: #F2F2F2; }
.d2-2416971391 .stroke-N2 { stroke: #E0E0E0; }
.d2-2416971391 .stroke-N3 { stroke: #B0B0B0; }
.d2-2416971391 .stroke-N4 { stroke: #505050; }
.d2-2416971391 .stroke-N5 { stroke: #404040; }
.d2-2416971391 .stroke-N6 { stroke: #303030; }
.d2-2416971391 .stroke-B1 { stroke: #F2F2F2; }
.d2-2416971391 .stroke-B2 { stroke: #6B9FFF; }
.d2-2416971391 .stroke-B3 { stroke: #5AA4DC; }
.d2-2416971391 .color-N1 { color: #F2F2F2; }
.d2-2416971391 .color-N2 { color: #E0E0E0; }
.d2-2416971391 .color-N3 { color: #B0B0B0; }
.d2-2416971391 .connection.fill-B1 { fill: #F2F2F2; }
}
]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-2416971391 .fill-N1{fill:#0A0F25;}
.d2-2416971391 .fill-N2{fill:#676C7E;}
.d2-2416971391 .fill-N3{fill:#9499AB;}
.d2-2416971391 .fill-N4{fill:#CFD2DD;}
.d2-2416971391 .fill-N5{fill:#DEE1EB;}
.d2-2416971391 .fill-N6{fill:#EEF1F8;}
.d2-2416971391 .fill-N7{fill:#FFFFFF;}
.d2-2416971391 .fill-B1{fill:#0D32B2;}
.d2-2416971391 .fill-B2{fill:#0D32B2;}
.d2-2416971391 .fill-B3{fill:#E3E9FD;}
.d2-2416971391 .fill-B4{fill:#E3E9FD;}
.d2-2416971391 .fill-B5{fill:#EDF0FD;}
.d2-2416971391 .fill-B6{fill:#F7F8FE;}
.d2-2416971391 .fill-AA2{fill:#4A6FF3;}
.d2-2416971391 .fill-AA4{fill:#EDF0FD;}
.d2-2416971391 .fill-AA5{fill:#F7F8FE;}
.d2-2416971391 .fill-AB4{fill:#EDF0FD;}
.d2-2416971391 .fill-AB5{fill:#F7F8FE;}
.d2-2416971391 .stroke-N1{stroke:#0A0F25;}
.d2-2416971391 .stroke-N2{stroke:#676C7E;}
.d2-2416971391 .stroke-N3{stroke:#9499AB;}
.d2-2416971391 .stroke-N4{stroke:#CFD2DD;}
.d2-2416971391 .stroke-N5{stroke:#DEE1EB;}
.d2-2416971391 .stroke-N6{stroke:#EEF1F8;}
.d2-2416971391 .stroke-N7{stroke:#FFFFFF;}
.d2-2416971391 .stroke-B1{stroke:#0D32B2;}
.d2-2416971391 .stroke-B2{stroke:#0D32B2;}
.d2-2416971391 .stroke-B3{stroke:#E3E9FD;}
.d2-2416971391 .stroke-B4{stroke:#E3E9FD;}
.d2-2416971391 .stroke-B5{stroke:#EDF0FD;}
.d2-2416971391 .stroke-B6{stroke:#F7F8FE;}
.d2-2416971391 .stroke-AA2{stroke:#4A6FF3;}
.d2-2416971391 .stroke-AA4{stroke:#EDF0FD;}
.d2-2416971391 .stroke-AA5{stroke:#F7F8FE;}
.d2-2416971391 .stroke-AB4{stroke:#EDF0FD;}
.d2-2416971391 .stroke-AB5{stroke:#F7F8FE;}
.d2-2416971391 .background-color-N1{background-color:#0A0F25;}
.d2-2416971391 .background-color-N2{background-color:#676C7E;}
.d2-2416971391 .background-color-N3{background-color:#9499AB;}
.d2-2416971391 .background-color-N4{background-color:#CFD2DD;}
.d2-2416971391 .background-color-N5{background-color:#DEE1EB;}
.d2-2416971391 .background-color-N6{background-color:#EEF1F8;}
.d2-2416971391 .background-color-N7{background-color:#FFFFFF;}
.d2-2416971391 .background-color-B1{background-color:#0D32B2;}
.d2-2416971391 .background-color-B2{background-color:#0D32B2;}
.d2-2416971391 .background-color-B3{background-color:#E3E9FD;}
.d2-2416971391 .background-color-B4{background-color:#E3E9FD;}
.d2-2416971391 .background-color-B5{background-color:#EDF0FD;}
.d2-2416971391 .background-color-B6{background-color:#F7F8FE;}
.d2-2416971391 .background-color-AA2{background-color:#4A6FF3;}
.d2-2416971391 .background-color-AA4{background-color:#EDF0FD;}
.d2-2416971391 .background-color-AA5{background-color:#F7F8FE;}
.d2-2416971391 .background-color-AB4{background-color:#EDF0FD;}
.d2-2416971391 .background-color-AB5{background-color:#F7F8FE;}
.d2-2416971391 .color-N1{color:#0A0F25;}
.d2-2416971391 .color-N2{color:#676C7E;}
.d2-2416971391 .color-N3{color:#9499AB;}
.d2-2416971391 .color-N4{color:#CFD2DD;}
.d2-2416971391 .color-N5{color:#DEE1EB;}
.d2-2416971391 .color-N6{color:#EEF1F8;}
.d2-2416971391 .color-N7{color:#FFFFFF;}
.d2-2416971391 .color-B1{color:#0D32B2;}
.d2-2416971391 .color-B2{color:#0D32B2;}
.d2-2416971391 .color-B3{color:#E3E9FD;}
.d2-2416971391 .color-B4{color:#E3E9FD;}
.d2-2416971391 .color-B5{color:#EDF0FD;}
.d2-2416971391 .color-B6{color:#F7F8FE;}
.d2-2416971391 .color-AA2{color:#4A6FF3;}
.d2-2416971391 .color-AA4{color:#EDF0FD;}
.d2-2416971391 .color-AA5{color:#F7F8FE;}
.d2-2416971391 .color-AB4{color:#EDF0FD;}
.d2-2416971391 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2416971391);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2416971391);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2416971391);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2416971391);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2416971391);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2416971391);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2416971391);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2416971391);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}
@media (prefers-color-scheme: dark) {
.d2-2416971391 .fill-N1 { fill: #F2F2F2; }
.d2-2416971391 .fill-N2 { fill: #E0E0E0; }
.d2-2416971391 .fill-N3 { fill: #B0B0B0; }
.d2-2416971391 .fill-N4 { fill: #404040; }
.d2-2416971391 .fill-N5 { fill: #303030; }
.d2-2416971391 .fill-N6 { fill: #252525; }
.d2-2416971391 .fill-N7 { fill: transparent; }
.d2-2416971391 .fill-B1 { fill: #F2F2F2; }
.d2-2416971391 .fill-B2 { fill: #6B9FFF; }
.d2-2416971391 .fill-B3 { fill: #5AA4DC; }
.d2-2416971391 .fill-B4 { fill: #303040; }
.d2-2416971391 .fill-B5 { fill: #252535; }
.d2-2416971391 .fill-B6 { fill: #1E1E2E; }
.d2-2416971391 .stroke-N1 { stroke: #F2F2F2; }
.d2-2416971391 .stroke-N2 { stroke: #E0E0E0; }
.d2-2416971391 .stroke-N3 { stroke: #B0B0B0; }
.d2-2416971391 .stroke-N4 { stroke: #505050; }
.d2-2416971391 .stroke-N5 { stroke: #404040; }
.d2-2416971391 .stroke-N6 { stroke: #303030; }
.d2-2416971391 .stroke-B1 { stroke: #F2F2F2; }
.d2-2416971391 .stroke-B2 { stroke: #6B9FFF; }
.d2-2416971391 .stroke-B3 { stroke: #5AA4DC; }
.d2-2416971391 .color-N1 { color: #F2F2F2; }
.d2-2416971391 .color-N2 { color: #E0E0E0; }
.d2-2416971391 .color-N3 { color: #B0B0B0; }
.d2-2416971391 .connection.fill-B1 { fill: #F2F2F2; }
}
]]></style><g class="Y29vcmQ="><g class="shape" ><rect x="12.000000" y="12.000000" width="1483.000000" height="274.000000" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="753.500000" y="49.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:32px">Coordination Layer</text></g><g class="ZnJvbnRlbmQ="><g class="shape" ><rect x="304.000000" y="356.000000" width="157.000000" height="81.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="382.500000" y="406.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:28px">Frontend</text></g><g class="cGxhbg=="><g class="shape" ><rect x="683.000000" y="356.000000" width="141.000000" height="81.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="753.500000" y="406.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:28px">Planner</text></g><g class="d29ya2Vy"><g class="shape" ><rect x="1055.000000" y="356.000000" width="137.000000" height="81.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1123.500000" y="406.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:28px">Worker</text></g><g class="Y29vcmQuc2Q="><g class="shape" ><rect x="62.000000" y="63.000000" width="516.000000" height="173.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="320.000000" y="96.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Service Discovery</text></g><g class="Y29vcmQubmF0cw=="><g class="shape" ><rect x="598.000000" y="63.000000" width="847.000000" height="173.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1021.500000" y="96.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">NATS (Optional)</text></g><g class="Y29vcmQuc2Quazhz"><g class="shape" ><rect x="112.000000" y="113.000000" width="192.000000" height="73.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="208.000000" y="157.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:22px">K8s: CRDs + API</text></g><g class="Y29vcmQuc2QuYm0="><g class="shape" ><rect x="324.000000" y="113.000000" width="204.000000" height="73.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="426.000000" y="157.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:22px">Bare metal: etcd</text></g><g class="Y29vcmQubmF0cy5rdg=="><g class="shape" ><rect x="648.000000" y="113.000000" width="204.000000" height="73.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="750.000000" y="157.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:22px">KV Cache Events</text></g><g class="Y29vcmQubmF0cy5ycw=="><g class="shape" ><rect x="872.000000" y="113.000000" width="238.000000" height="73.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="991.000000" y="157.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:22px">Router Replica Sync</text></g><g class="Y29vcmQubmF0cy5qcw=="><g class="shape" ><rect x="1130.000000" y="113.000000" width="265.000000" height="73.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1262.500000" y="157.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:22px">JetStream Persistence</text></g><g class="KGNvb3JkIC0mZ3Q7IGZyb250ZW5kKVswXQ=="><marker id="mk-d2-2416971391-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 382.750000 288.000000 L 382.750000 352.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2416971391-3488378134)" mask="url(#d2-2416971391)" /></g><g class="KGNvb3JkIC0mZ3Q7IHBsYW4pWzBd"><path d="M 753.500000 288.000000 L 753.500000 352.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2416971391-3488378134)" mask="url(#d2-2416971391)" /></g><g class="KGNvb3JkIC0mZ3Q7IHdvcmtlcilbMF0="><path d="M 1124.250000 288.000000 L 1124.250000 352.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2416971391-3488378134)" mask="url(#d2-2416971391)" /></g><mask id="d2-2416971391" maskUnits="userSpaceOnUse" x="-29" y="-29" width="1565" height="507">
<rect x="-29" y="-29" width="1565" height="507" fill="white"></rect>
</mask></svg></svg>
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 954 306"><svg class="d2-3534889683 d2-svg" width="954" height="306" viewBox="-29 -29 954 306"><rect x="-29.000000" y="-29.000000" width="954.000000" height="306.000000" rx="0.000000" fill="transparent" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3534889683 .text {
font-family: "d2-3534889683-font-regular";
}
@font-face {
font-family: d2-3534889683-font-regular;
src: url("data:application/font-woff;base64,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");
}
.d2-3534889683 .text-bold {
font-family: "d2-3534889683-font-bold";
}
@font-face {
font-family: d2-3534889683-font-bold;
src: url("data:application/font-woff;base64,d09GRgABAAAAAA4YAAoAAAAAFYQAAguFAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgXxHXrmNtYXAAAAFUAAAAuAAAAPpEQ+X2Z2x5ZgAAAgwAAAdiAAAJzIXO8eZoZWFkAAAJcAAAADYAAAA2G38e1GhoZWEAAAmoAAAAJAAAACQKfwXlaG10eAAACcwAAACUAAAAmEkABxNsb2NhAAAKYAAAAE4AAABOMhAvkm1heHAAAAqwAAAAIAAAACAAPgD3bmFtZQAACtAAAAMoAAAIKgjwVkFwb3N0AAAN+AAAAB0AAAAg/9EAMgADAioCvAAFAAACigJYAAAASwKKAlgAAAFeADIBKQAAAgsHAwMEAwICBGAAAvcAAAADAAAAAAAAAABBREJPACAAIP//Au7/BgAAA9gBESAAAZ8AAAAAAfAClAAAACAAA3icjM45SmsBAEbhLy/3xSnO83xNYSdoayciBBQRcQMWFgELsRDcjyiCC3BCdCfaWKay/4UrWHvqrzioqauhqdDFqlKhobRmw6YtO9r27Dtw6MiJjjMXLstWQuXWK7etbffXHes4df7j8pGvdPOZt7zmJc95ymMecp+73OYm17l6V138pZoVS5aV/qkr/NfQo1effgOaBg0ZNmLUmHETJk2ZNmPWnHkLFrX4BgAA//8BAAD//3iUMT14nFxWfWwbZxl/3tdfjeMmOZ/vznbi+ONyd3bSOLHP52sSp04a56OdnTaJknQ0H6WqSqGftCnJ1lQgUUB0LmVzGIUhJiIqoOqEqv4zJgrSJDSq9b9uTELaWAENsf4xg8yEWvs8vXdO0vaPu1eyn/f3PM/v+T3Pc2CB/QD4MF4DE9RBIziBAZCpICXIksTbVFlVec6kSoiy7cdO7fovpYg5EjG3B675X1xcRLkFvFY5cTB3+PDni3192s9/95Z2BZ17CwBXHwHgIZyHOqAAaJssiaLEW60mWqZ5ibd90vRS4/bm7WaH59G9W/d+Fn4njPamUrFTcuKk9h2cryy99hoAAIJotYS78TVoBrCERFFJJJNynOVsosiHrFbGxcrxpMpZ0fzk5anpK5PpI8Fxj8rv2NMxMxZOu8cnHdkfnTzxkwk5tMD54gu7j5xp88wdAgw5AJzFebAbGctxlmVcVisvyfFkUkmIIs/n3jzyysT+q4c6W3ZORaNTO1twPnP1zJlXRpfDc+Pjzwt6fDkA9BnOQ73OGxNkZIZngkwOXdMef/QRasT51W9feHV1wxZPb9jKjKzIFE/xVK7wYG3tAc4/flxZQk1acdP2BM6DQ7elZFo20bzJxuQK5rfX//TvX7yexXntf6heK2sriD7y241Y/o7zYDHuBJlcAWGcrxRXYROT5Ezr/9OcLIoKicEk8SzLMLkf3xgwmxvy5LBsx3nt9z9MfKv3k8oSGv5BcrX3XwA13rr1uFxP8cYzlBxXEoS2j8fOj4wsDU+MrQykMjgvze3LHu76EE0ek9thE2MK56EBuCcwbEQYBCVpwDwcPptJK2vXL05ke/v7e7M4LxwYH5vntMcPH6JDse5ukeTkAcA0zoONIPFKkOGpe7fRo9u4aXW1UjT8tVdL6D1UBg/wAFyIiEjV9WOTdDUxFE+0qcaTqqJr6g+Z/ZcKmI/4B9qUruO9i0dX7Gb/6DaPQI+n/I7Z9PiBxqDkZr7sazt1Vvun3MKf5ehZe4fPzen+BqslzOI74AK/rlqJt/GUzNh0ZzpdEkmSD9kYlkXDwSGf2XGuYPZlQqkDXanFA2JyZkfEFXYEAwq+czPr9e36enb6hfTKSPa7ne86G/RatlVL6A4qg/fZvuBDW11hRZ7h04Nj38hER1uG+YCSTne7o3SvMOPoPz85tdTfyi36soMDOabxUKDZ4EqqllAZ3wEaAhtc6cASEcomS2LNzX/nTvctJiI7PdbCit3sHcFuyUl3uPhkl+OlFybO72pxZ39TGYp5+RWX511nw9DonmHAeuwPUBncNX42nOgqCLKsHCexm+QE8YL8o2d3D53oG53vMmPtA/tITEnGxIWf3pZ2hJKOXUuTE0vp9PEMLdQl5eDz3lbUG1G6AKBaBRUAPsT3sUjqDjZog8s6d4PVEnLiO9BoZEjJ1CZhf872Fag6i83qdAiOg89hvvIB50TopMVG7gGYfKgMQV21nGwwsyEhioRr2zwHiWZGYsogHdwb2/9cwRcQusmrCxUH/J0d4VDs+Lx2DwWT4W7tVu0wfGBA5Vp31XxsoFsN2EAuPrGn4Au0hN2omG7t3ADycNotMPjFNlSGxmem5pb0auVDbPp0JnM6nT6VyZxKd0ajndHOzpo2+pemJs/3L+cGBrNEIoauxzCLykBDKwC3FR3p/5AocQy9JWsSp2+P9KVjqcVkIOW17BOTMx3trvCb+NcxL//9c9Mr6WbPvpdR26ao9dzRVVQG51P8GqPeyLw5KzItdvd2T1NLvwsVZ+Mxi+WbZnMkrn0MCJhqCb2OyiDpdZVUoiR9lktRrCS2wBgXy7VixmW9H/uKuDuU9gdbfVFva1/4q9M9s/7d3oS3p0cM9EeOOUT/nKeZoymWtjvaeiLDM5L7gIuV3J6Ger4nOjRvzFWqWkKn8BKZZpaQqCi8oqqyvgi2GhHm9mWy1IvLy7zP4bFztOr42szdk9ZLl8690y5YzcetDgMrVS2h/6Miqf9T2qRq7feXiT2F1kCLyBZW6k3+vY7j8yih/U2JeH1oTGsaFnYAIjsDVVERtgPIJpljWUKlqsqm279aG7DTdnMdbR+8so6Knwo5ScoJn2pNum9HdReqoCJRzRZ/qvoURANeYYONXptzmxC22/64NlrvtJu3UXWpKze5nfvetprPIEubz4v+8X5oROBH+fe1+l3TtbkvVEvoIf4e1Nd0adSEcRFNGjvXWOks2nb04sWj5PGEOS7scYfd7rDjxvr69evr6zfOCguzs3Oh0Nzs7IJA4h4BQH/FF/RdScaUkkyqZMGOXF5OjIVOLC+j0wftLa5KedmYC/3VEnyG/oMlINczYAVjl3fAXRREMTABqIrMdHx+99gx8nsYLqAYepnMC/WZbroppHg+JYjkfUFIS+F0W1s6LKWFmp7hPVQkeGQfDxZQUWsCVH0D98AUvk++A6gnWBCiUUGIRnFPO8+3k4dg6LHCG8SWe8L2VVGWRVGWHYoUVpSwpMAXAAAA//8BAAD//5+eGLUAAAABAAAAAguF/zNva18PPPUAAQPoAAAAANhdoIQAAAAA3WYvNv43/sQIbQPxAAEAAwACAAAAAAAAAAEAAAPY/u8AAAiY/jf+NwhtAAEAAAAAAAAAAAAAAAAAAAAmeJwcyTEOwWAYx+Hf+5c0EU1UUoPFVCHaWBn6Dd/SyZsYLD0AlzC4gd1qt1hdwO42lgrr8+jBjhcodB81rHTCVeC64TriSnBdce1xHXBVTDRkqUC0N4UCcyUUlrO2KbHXElUTVf4v2oVoT8Z2ZqQNtQak6pMqY6aMxiqCbSmtZWE5Ebr7z74AAAD//wEAAP//cE4WTgAAACwALABQAHwAoAC2AMwA5gD2ARgBOgFgAXIBqgHcAggCOgJuAnoClgLIAuoDFgNGA2YDogPIA+oEBgQ2BGIEegSGBJIErgS6BNAE5gAAAAEAAAAmAJAADABjAAcAAQAAAAAAAAAAAAAAAAAEAAN4nJyUz24bVRTGf05s0wrBAkVVuonugkWR6NhUSdU2K4fUikUUB48LQkJIE8/4jzKeGXkmDuEJWPMWvEVXPATPgVij+Xzs2AXRJoqSfHfu+fOdc75zgR3+ZptK9SHwRz0xXGGvfm54iwf1E8PbtOtbhqs8qf1puEZYmxuu83mtZ/gj3lZ/M/yA/epPhh+yW20b/phn1R3Dn2w7/jL8Kfu8XeAKvOBXwxV2yQxvscOPhrd5hMWsVHlE03CNz9gzXGcP6DOhIGZCwgjHkAkjrpgRkeMTMWPCkIgQR4cWMYW+JgRCjtF/fg3wKZgRKOKYAkeMT0xAztgi/iKvlHNlHOo0s7sWBWMCLuRxSUCCI2VESkLEpeIUFGS8okGDnIH4ZhTkeORMiPFImTGiQZc2p/QZMyHH0VakkplPypCCawLld2ZRdmZAREJurK5ICMXTiV8k7w6nOLpksl2PfLoR4Usc38m75JbK9is8/bo1Zpt5l2wC5upnrK7EurnWBMe6LfO2+Fa44BXuXv3ZZPL+HoX6XyjyBVeaf6hJJWKS4NwuLXwpyHePcRzp3MFXR76nQ58Turyhr3OLHj1anNGnw2v5dunh+JouZxzLoyO8uGtLMWf8gOMbOrIpY0fWn8XEIn4mM3Xn4jhTHVMy9bxk7qnWSBXefcLlDqUb6sjlM9AelZZO80u0ZwEjU0UmhlP1cqmN3PoXmiKmqqWc7e19uQ1z273lFt+QaodLtS44lZNbMHrfVL13NHOtH4+AkJQLWQxImdKg4Ea8zwm4IsZxrO6daEsKWiufMs+NVBIxFYMOieLMyPQ3MN34xn2woXtnb0ko/5Lp5aqq+2Rx6tXtjN6oe8s737ocrU2gYVNN19Q0ENfEtB9pp9b5+/LN9bqlPOWIlJjwXy/AMzya7HPAIWNlGOhmbq9DUy9Ek5ccqvpLIlkNpefIIhzg8ZwDDnjJ83f6uGTijItbcVnP3eKYI7ocflAVC/suR7xeffv/rL+LaVO1OJ6uTi/uPcUnd1DrF9qz2/eyp4mVk5hbtNutOCNgWnJxu+s1ucd4/wAAAP//AQAA///0t09ReJxiYGYAg//nGIwYsAAAAAAA//8BAAD//y8BAgMAAAA=");
}
.d2-3534889683 .text-italic {
font-family: "d2-3534889683-font-italic";
}
@font-face {
font-family: d2-3534889683-font-italic;
src: url("data:application/font-woff;base64,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");
}
@media (prefers-color-scheme: dark) {
.d2-3534889683 .fill-N1 { fill: #F2F2F2; }
.d2-3534889683 .fill-N2 { fill: #E0E0E0; }
.d2-3534889683 .fill-N3 { fill: #B0B0B0; }
.d2-3534889683 .fill-N4 { fill: #404040; }
.d2-3534889683 .fill-N5 { fill: #303030; }
.d2-3534889683 .fill-N6 { fill: #252525; }
.d2-3534889683 .fill-N7 { fill: transparent; }
.d2-3534889683 .fill-B1 { fill: #F2F2F2; }
.d2-3534889683 .fill-B2 { fill: #6B9FFF; }
.d2-3534889683 .fill-B3 { fill: #5AA4DC; }
.d2-3534889683 .fill-B4 { fill: #303040; }
.d2-3534889683 .fill-B5 { fill: #252535; }
.d2-3534889683 .fill-B6 { fill: #1E1E2E; }
.d2-3534889683 .stroke-N1 { stroke: #F2F2F2; }
.d2-3534889683 .stroke-N2 { stroke: #E0E0E0; }
.d2-3534889683 .stroke-N3 { stroke: #B0B0B0; }
.d2-3534889683 .stroke-N4 { stroke: #505050; }
.d2-3534889683 .stroke-N5 { stroke: #404040; }
.d2-3534889683 .stroke-N6 { stroke: #303030; }
.d2-3534889683 .stroke-B1 { stroke: #F2F2F2; }
.d2-3534889683 .stroke-B2 { stroke: #6B9FFF; }
.d2-3534889683 .stroke-B3 { stroke: #5AA4DC; }
.d2-3534889683 .color-N1 { color: #F2F2F2; }
.d2-3534889683 .color-N2 { color: #E0E0E0; }
.d2-3534889683 .color-N3 { color: #B0B0B0; }
.d2-3534889683 .connection.fill-B1 { fill: #F2F2F2; }
}
]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-3534889683 .fill-N1{fill:#0A0F25;}
.d2-3534889683 .fill-N2{fill:#676C7E;}
.d2-3534889683 .fill-N3{fill:#9499AB;}
.d2-3534889683 .fill-N4{fill:#CFD2DD;}
.d2-3534889683 .fill-N5{fill:#DEE1EB;}
.d2-3534889683 .fill-N6{fill:#EEF1F8;}
.d2-3534889683 .fill-N7{fill:#FFFFFF;}
.d2-3534889683 .fill-B1{fill:#0D32B2;}
.d2-3534889683 .fill-B2{fill:#0D32B2;}
.d2-3534889683 .fill-B3{fill:#E3E9FD;}
.d2-3534889683 .fill-B4{fill:#E3E9FD;}
.d2-3534889683 .fill-B5{fill:#EDF0FD;}
.d2-3534889683 .fill-B6{fill:#F7F8FE;}
.d2-3534889683 .fill-AA2{fill:#4A6FF3;}
.d2-3534889683 .fill-AA4{fill:#EDF0FD;}
.d2-3534889683 .fill-AA5{fill:#F7F8FE;}
.d2-3534889683 .fill-AB4{fill:#EDF0FD;}
.d2-3534889683 .fill-AB5{fill:#F7F8FE;}
.d2-3534889683 .stroke-N1{stroke:#0A0F25;}
.d2-3534889683 .stroke-N2{stroke:#676C7E;}
.d2-3534889683 .stroke-N3{stroke:#9499AB;}
.d2-3534889683 .stroke-N4{stroke:#CFD2DD;}
.d2-3534889683 .stroke-N5{stroke:#DEE1EB;}
.d2-3534889683 .stroke-N6{stroke:#EEF1F8;}
.d2-3534889683 .stroke-N7{stroke:#FFFFFF;}
.d2-3534889683 .stroke-B1{stroke:#0D32B2;}
.d2-3534889683 .stroke-B2{stroke:#0D32B2;}
.d2-3534889683 .stroke-B3{stroke:#E3E9FD;}
.d2-3534889683 .stroke-B4{stroke:#E3E9FD;}
.d2-3534889683 .stroke-B5{stroke:#EDF0FD;}
.d2-3534889683 .stroke-B6{stroke:#F7F8FE;}
.d2-3534889683 .stroke-AA2{stroke:#4A6FF3;}
.d2-3534889683 .stroke-AA4{stroke:#EDF0FD;}
.d2-3534889683 .stroke-AA5{stroke:#F7F8FE;}
.d2-3534889683 .stroke-AB4{stroke:#EDF0FD;}
.d2-3534889683 .stroke-AB5{stroke:#F7F8FE;}
.d2-3534889683 .background-color-N1{background-color:#0A0F25;}
.d2-3534889683 .background-color-N2{background-color:#676C7E;}
.d2-3534889683 .background-color-N3{background-color:#9499AB;}
.d2-3534889683 .background-color-N4{background-color:#CFD2DD;}
.d2-3534889683 .background-color-N5{background-color:#DEE1EB;}
.d2-3534889683 .background-color-N6{background-color:#EEF1F8;}
.d2-3534889683 .background-color-N7{background-color:#FFFFFF;}
.d2-3534889683 .background-color-B1{background-color:#0D32B2;}
.d2-3534889683 .background-color-B2{background-color:#0D32B2;}
.d2-3534889683 .background-color-B3{background-color:#E3E9FD;}
.d2-3534889683 .background-color-B4{background-color:#E3E9FD;}
.d2-3534889683 .background-color-B5{background-color:#EDF0FD;}
.d2-3534889683 .background-color-B6{background-color:#F7F8FE;}
.d2-3534889683 .background-color-AA2{background-color:#4A6FF3;}
.d2-3534889683 .background-color-AA4{background-color:#EDF0FD;}
.d2-3534889683 .background-color-AA5{background-color:#F7F8FE;}
.d2-3534889683 .background-color-AB4{background-color:#EDF0FD;}
.d2-3534889683 .background-color-AB5{background-color:#F7F8FE;}
.d2-3534889683 .color-N1{color:#0A0F25;}
.d2-3534889683 .color-N2{color:#676C7E;}
.d2-3534889683 .color-N3{color:#9499AB;}
.d2-3534889683 .color-N4{color:#CFD2DD;}
.d2-3534889683 .color-N5{color:#DEE1EB;}
.d2-3534889683 .color-N6{color:#EEF1F8;}
.d2-3534889683 .color-N7{color:#FFFFFF;}
.d2-3534889683 .color-B1{color:#0D32B2;}
.d2-3534889683 .color-B2{color:#0D32B2;}
.d2-3534889683 .color-B3{color:#E3E9FD;}
.d2-3534889683 .color-B4{color:#E3E9FD;}
.d2-3534889683 .color-B5{color:#EDF0FD;}
.d2-3534889683 .color-B6{color:#F7F8FE;}
.d2-3534889683 .color-AA2{color:#4A6FF3;}
.d2-3534889683 .color-AA4{color:#EDF0FD;}
.d2-3534889683 .color-AA5{color:#F7F8FE;}
.d2-3534889683 .color-AB4{color:#EDF0FD;}
.d2-3534889683 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3534889683);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3534889683);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3534889683);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3534889683);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3534889683);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3534889683);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3534889683);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3534889683);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}
@media (prefers-color-scheme: dark) {
.d2-3534889683 .fill-N1 { fill: #F2F2F2; }
.d2-3534889683 .fill-N2 { fill: #E0E0E0; }
.d2-3534889683 .fill-N3 { fill: #B0B0B0; }
.d2-3534889683 .fill-N4 { fill: #404040; }
.d2-3534889683 .fill-N5 { fill: #303030; }
.d2-3534889683 .fill-N6 { fill: #252525; }
.d2-3534889683 .fill-N7 { fill: transparent; }
.d2-3534889683 .fill-B1 { fill: #F2F2F2; }
.d2-3534889683 .fill-B2 { fill: #6B9FFF; }
.d2-3534889683 .fill-B3 { fill: #5AA4DC; }
.d2-3534889683 .fill-B4 { fill: #303040; }
.d2-3534889683 .fill-B5 { fill: #252535; }
.d2-3534889683 .fill-B6 { fill: #1E1E2E; }
.d2-3534889683 .stroke-N1 { stroke: #F2F2F2; }
.d2-3534889683 .stroke-N2 { stroke: #E0E0E0; }
.d2-3534889683 .stroke-N3 { stroke: #B0B0B0; }
.d2-3534889683 .stroke-N4 { stroke: #505050; }
.d2-3534889683 .stroke-N5 { stroke: #404040; }
.d2-3534889683 .stroke-N6 { stroke: #303030; }
.d2-3534889683 .stroke-B1 { stroke: #F2F2F2; }
.d2-3534889683 .stroke-B2 { stroke: #6B9FFF; }
.d2-3534889683 .stroke-B3 { stroke: #5AA4DC; }
.d2-3534889683 .color-N1 { color: #F2F2F2; }
.d2-3534889683 .color-N2 { color: #E0E0E0; }
.d2-3534889683 .color-N3 { color: #B0B0B0; }
.d2-3534889683 .connection.fill-B1 { fill: #F2F2F2; }
}
]]></style><g class="ZHI="><g class="shape" ><rect x="12.000000" y="12.000000" width="274.000000" height="224.000000" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="149.000000" y="45.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">DistributedRuntime</text></g><g class="bGVhc2U="><g class="shape" ><rect x="356.000000" y="74.000000" width="196.000000" height="100.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="454.000000" y="120.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:24px"><tspan x="454.000000" dy="0.000000">Primary Lease</tspan><tspan x="454.000000" dy="27.500000">TTL: 10s</tspan></text></g><g class="ZXRjZA=="><g class="shape" ><path d="M 786 81 C 786 57 830 57 835 57 C 840 57 884 57 884 81 V 166 C 884 190 840 190 835 190 C 830 190 786 190 786 166 V 81 Z" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-AA4" style="stroke-width:2;" /><path d="M 786 81 C 786 105 830 105 835 105 C 840 105 884 105 884 81" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-AA4" style="stroke-width:2;" /></g><text x="835.000000" y="145.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:28px">etcd</text></g><g class="ZHIubnM="><g class="shape" ></g><text x="149.000000" y="84.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:22px">• Namespace</text></g><g class="ZHIuY29tcA=="><g class="shape" ></g><text x="148.500000" y="132.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:22px">• Components</text></g><g class="ZHIuZXA="><g class="shape" ></g><text x="149.000000" y="180.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:22px">• Endpoints</text></g><g class="KGRyIC0mZ3Q7IGxlYXNlKVswXQ=="><marker id="mk-d2-3534889683-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 288.000000 124.000000 L 352.000000 124.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3534889683-3488378134)" mask="url(#d2-3534889683)" /></g><g class="KGxlYXNlIC0mZ3Q7IGV0Y2QpWzBd"><path d="M 554.000000 124.000000 L 782.000000 124.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3534889683-3488378134)" mask="url(#d2-3534889683)" /><text x="669.000000" y="121.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:22px"><tspan x="669.000000" dy="0.000000">Keep-Alive</tspan><tspan x="669.000000" dy="25.000000">Heartbeat</tspan></text></g><mask id="d2-3534889683" maskUnits="userSpaceOnUse" x="-29" y="-29" width="954" height="306">
<rect x="-29" y="-29" width="954" height="306" fill="white"></rect>
<rect x="620.000000" y="99.000000" width="98" height="50" fill="black"></rect>
</mask></svg></svg>
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1184 869"><svg class="d2-4130473242 d2-svg" width="1184" height="869" viewBox="-29 -29 1184 869"><rect x="-29.000000" y="-29.000000" width="1184.000000" height="869.000000" rx="0.000000" fill="transparent" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4130473242 .text {
font-family: "d2-4130473242-font-regular";
}
@font-face {
font-family: d2-4130473242-font-regular;
src: url("data:application/font-woff;base64,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");
}
.d2-4130473242 .text-bold {
font-family: "d2-4130473242-font-bold";
}
@font-face {
font-family: d2-4130473242-font-bold;
src: url("data:application/font-woff;base64,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");
}
@media (prefers-color-scheme: dark) {
.d2-4130473242 .fill-N1 { fill: #F2F2F2; }
.d2-4130473242 .fill-N2 { fill: #E0E0E0; }
.d2-4130473242 .fill-N3 { fill: #B0B0B0; }
.d2-4130473242 .fill-N4 { fill: #404040; }
.d2-4130473242 .fill-N5 { fill: #303030; }
.d2-4130473242 .fill-N6 { fill: #252525; }
.d2-4130473242 .fill-N7 { fill: transparent; }
.d2-4130473242 .fill-B1 { fill: #F2F2F2; }
.d2-4130473242 .fill-B2 { fill: #6B9FFF; }
.d2-4130473242 .fill-B3 { fill: #5AA4DC; }
.d2-4130473242 .fill-B4 { fill: #303040; }
.d2-4130473242 .fill-B5 { fill: #252535; }
.d2-4130473242 .fill-B6 { fill: #1E1E2E; }
.d2-4130473242 .stroke-N1 { stroke: #F2F2F2; }
.d2-4130473242 .stroke-N2 { stroke: #E0E0E0; }
.d2-4130473242 .stroke-N3 { stroke: #B0B0B0; }
.d2-4130473242 .stroke-N4 { stroke: #505050; }
.d2-4130473242 .stroke-N5 { stroke: #404040; }
.d2-4130473242 .stroke-N6 { stroke: #303030; }
.d2-4130473242 .stroke-B1 { stroke: #F2F2F2; }
.d2-4130473242 .stroke-B2 { stroke: #6B9FFF; }
.d2-4130473242 .stroke-B3 { stroke: #5AA4DC; }
.d2-4130473242 .color-N1 { color: #F2F2F2; }
.d2-4130473242 .color-N2 { color: #E0E0E0; }
.d2-4130473242 .color-N3 { color: #B0B0B0; }
.d2-4130473242 .connection.fill-B1 { fill: #F2F2F2; }
}
]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-4130473242 .fill-N1{fill:#0A0F25;}
.d2-4130473242 .fill-N2{fill:#676C7E;}
.d2-4130473242 .fill-N3{fill:#9499AB;}
.d2-4130473242 .fill-N4{fill:#CFD2DD;}
.d2-4130473242 .fill-N5{fill:#DEE1EB;}
.d2-4130473242 .fill-N6{fill:#EEF1F8;}
.d2-4130473242 .fill-N7{fill:#FFFFFF;}
.d2-4130473242 .fill-B1{fill:#0D32B2;}
.d2-4130473242 .fill-B2{fill:#0D32B2;}
.d2-4130473242 .fill-B3{fill:#E3E9FD;}
.d2-4130473242 .fill-B4{fill:#E3E9FD;}
.d2-4130473242 .fill-B5{fill:#EDF0FD;}
.d2-4130473242 .fill-B6{fill:#F7F8FE;}
.d2-4130473242 .fill-AA2{fill:#4A6FF3;}
.d2-4130473242 .fill-AA4{fill:#EDF0FD;}
.d2-4130473242 .fill-AA5{fill:#F7F8FE;}
.d2-4130473242 .fill-AB4{fill:#EDF0FD;}
.d2-4130473242 .fill-AB5{fill:#F7F8FE;}
.d2-4130473242 .stroke-N1{stroke:#0A0F25;}
.d2-4130473242 .stroke-N2{stroke:#676C7E;}
.d2-4130473242 .stroke-N3{stroke:#9499AB;}
.d2-4130473242 .stroke-N4{stroke:#CFD2DD;}
.d2-4130473242 .stroke-N5{stroke:#DEE1EB;}
.d2-4130473242 .stroke-N6{stroke:#EEF1F8;}
.d2-4130473242 .stroke-N7{stroke:#FFFFFF;}
.d2-4130473242 .stroke-B1{stroke:#0D32B2;}
.d2-4130473242 .stroke-B2{stroke:#0D32B2;}
.d2-4130473242 .stroke-B3{stroke:#E3E9FD;}
.d2-4130473242 .stroke-B4{stroke:#E3E9FD;}
.d2-4130473242 .stroke-B5{stroke:#EDF0FD;}
.d2-4130473242 .stroke-B6{stroke:#F7F8FE;}
.d2-4130473242 .stroke-AA2{stroke:#4A6FF3;}
.d2-4130473242 .stroke-AA4{stroke:#EDF0FD;}
.d2-4130473242 .stroke-AA5{stroke:#F7F8FE;}
.d2-4130473242 .stroke-AB4{stroke:#EDF0FD;}
.d2-4130473242 .stroke-AB5{stroke:#F7F8FE;}
.d2-4130473242 .background-color-N1{background-color:#0A0F25;}
.d2-4130473242 .background-color-N2{background-color:#676C7E;}
.d2-4130473242 .background-color-N3{background-color:#9499AB;}
.d2-4130473242 .background-color-N4{background-color:#CFD2DD;}
.d2-4130473242 .background-color-N5{background-color:#DEE1EB;}
.d2-4130473242 .background-color-N6{background-color:#EEF1F8;}
.d2-4130473242 .background-color-N7{background-color:#FFFFFF;}
.d2-4130473242 .background-color-B1{background-color:#0D32B2;}
.d2-4130473242 .background-color-B2{background-color:#0D32B2;}
.d2-4130473242 .background-color-B3{background-color:#E3E9FD;}
.d2-4130473242 .background-color-B4{background-color:#E3E9FD;}
.d2-4130473242 .background-color-B5{background-color:#EDF0FD;}
.d2-4130473242 .background-color-B6{background-color:#F7F8FE;}
.d2-4130473242 .background-color-AA2{background-color:#4A6FF3;}
.d2-4130473242 .background-color-AA4{background-color:#EDF0FD;}
.d2-4130473242 .background-color-AA5{background-color:#F7F8FE;}
.d2-4130473242 .background-color-AB4{background-color:#EDF0FD;}
.d2-4130473242 .background-color-AB5{background-color:#F7F8FE;}
.d2-4130473242 .color-N1{color:#0A0F25;}
.d2-4130473242 .color-N2{color:#676C7E;}
.d2-4130473242 .color-N3{color:#9499AB;}
.d2-4130473242 .color-N4{color:#CFD2DD;}
.d2-4130473242 .color-N5{color:#DEE1EB;}
.d2-4130473242 .color-N6{color:#EEF1F8;}
.d2-4130473242 .color-N7{color:#FFFFFF;}
.d2-4130473242 .color-B1{color:#0D32B2;}
.d2-4130473242 .color-B2{color:#0D32B2;}
.d2-4130473242 .color-B3{color:#E3E9FD;}
.d2-4130473242 .color-B4{color:#E3E9FD;}
.d2-4130473242 .color-B5{color:#EDF0FD;}
.d2-4130473242 .color-B6{color:#F7F8FE;}
.d2-4130473242 .color-AA2{color:#4A6FF3;}
.d2-4130473242 .color-AA4{color:#EDF0FD;}
.d2-4130473242 .color-AA5{color:#F7F8FE;}
.d2-4130473242 .color-AB4{color:#EDF0FD;}
.d2-4130473242 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-4130473242);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-4130473242);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-4130473242);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-4130473242);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-4130473242);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-4130473242);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-4130473242);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-4130473242);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}
@media (prefers-color-scheme: dark) {
.d2-4130473242 .fill-N1 { fill: #F2F2F2; }
.d2-4130473242 .fill-N2 { fill: #E0E0E0; }
.d2-4130473242 .fill-N3 { fill: #B0B0B0; }
.d2-4130473242 .fill-N4 { fill: #404040; }
.d2-4130473242 .fill-N5 { fill: #303030; }
.d2-4130473242 .fill-N6 { fill: #252525; }
.d2-4130473242 .fill-N7 { fill: transparent; }
.d2-4130473242 .fill-B1 { fill: #F2F2F2; }
.d2-4130473242 .fill-B2 { fill: #6B9FFF; }
.d2-4130473242 .fill-B3 { fill: #5AA4DC; }
.d2-4130473242 .fill-B4 { fill: #303040; }
.d2-4130473242 .fill-B5 { fill: #252535; }
.d2-4130473242 .fill-B6 { fill: #1E1E2E; }
.d2-4130473242 .stroke-N1 { stroke: #F2F2F2; }
.d2-4130473242 .stroke-N2 { stroke: #E0E0E0; }
.d2-4130473242 .stroke-N3 { stroke: #B0B0B0; }
.d2-4130473242 .stroke-N4 { stroke: #505050; }
.d2-4130473242 .stroke-N5 { stroke: #404040; }
.d2-4130473242 .stroke-N6 { stroke: #303030; }
.d2-4130473242 .stroke-B1 { stroke: #F2F2F2; }
.d2-4130473242 .stroke-B2 { stroke: #6B9FFF; }
.d2-4130473242 .stroke-B3 { stroke: #5AA4DC; }
.d2-4130473242 .color-N1 { color: #F2F2F2; }
.d2-4130473242 .color-N2 { color: #E0E0E0; }
.d2-4130473242 .color-N3 { color: #B0B0B0; }
.d2-4130473242 .connection.fill-B1 { fill: #F2F2F2; }
}
]]></style><g class="cGxhbm5lcg=="><g class="shape" ><rect x="12.000000" y="12.000000" width="1102.000000" height="787.000000" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="563.000000" y="49.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:32px">Planner Component</text></g><g class="cGxhbm5lci5pbnB1dHM="><g class="shape" ><rect x="62.000000" y="63.000000" width="1002.000000" height="200.000000" rx="8.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="563.000000" y="92.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">inputs</text></g><g class="cGxhbm5lci5zYQ=="><g class="shape" ><rect x="431.000000" y="398.000000" width="264.000000" height="81.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="563.000000" y="448.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:28px">Scaling Algorithm</text></g><g class="cGxhbm5lci5jb25uZWN0b3I="><g class="shape" ><rect x="249.000000" y="549.000000" width="627.000000" height="200.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="562.500000" y="582.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Connector Layer</text></g><g class="cGxhbm5lci5pbnB1dHMubWM="><g class="shape" ><rect x="112.000000" y="113.000000" width="214.000000" height="100.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="219.000000" y="159.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:24px"><tspan x="219.000000" dy="0.000000">Metric Collector</tspan><tspan x="219.000000" dy="27.500000">(Prometheus)</tspan></text></g><g class="cGxhbm5lci5pbnB1dHMubHA="><g class="shape" ><rect x="346.000000" y="113.000000" width="330.000000" height="100.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="511.000000" y="159.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:24px"><tspan x="511.000000" dy="0.000000">Load Predictor</tspan><tspan x="511.000000" dy="27.500000">(ARIMA / Kalman / Prophet)</tspan></text></g><g class="cGxhbm5lci5pbnB1dHMucGk="><g class="shape" ><rect x="696.000000" y="113.000000" width="318.000000" height="100.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="855.000000" y="159.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:24px"><tspan x="855.000000" dy="0.000000">Performance Interpolator</tspan><tspan x="855.000000" dy="27.500000">(NPZ profiling data)</tspan></text></g><g class="cGxhbm5lci5jb25uZWN0b3Iua2M="><g class="shape" ><rect x="299.000000" y="599.000000" width="278.000000" height="100.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="438.000000" y="645.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:24px"><tspan x="438.000000" dy="0.000000">KubernetesConnector</tspan><tspan x="438.000000" dy="27.500000">(PATCH DGD)</tspan></text></g><g class="cGxhbm5lci5jb25uZWN0b3IudmM="><g class="shape" ><rect x="597.000000" y="599.000000" width="229.000000" height="100.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="711.500000" y="645.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:24px"><tspan x="711.500000" dy="0.000000">VirtualConnector</tspan><tspan x="711.500000" dy="27.500000">(Runtime bridge)</tspan></text></g><g class="cGxhbm5lci4oaW5wdXRzLm1jIC0mZ3Q7IHNhKVswXQ=="><marker id="mk-d2-4130473242-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 219.000000 215.000000 L 219.000000 348.000000 S 219.000000 358.000000 229.000000 358.000000 L 487.000000 358.000000 S 497.000000 358.000000 497.000000 368.000000 L 497.000000 394.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-4130473242-3488378134)" mask="url(#d2-4130473242)" /></g><g class="cGxhbm5lci4oaW5wdXRzLmxwIC0mZ3Q7IHNhKVswXQ=="><path d="M 563.000000 215.000000 L 563.000000 394.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-4130473242-3488378134)" mask="url(#d2-4130473242)" /></g><g class="cGxhbm5lci4oaW5wdXRzLnBpIC0mZ3Q7IHNhKVswXQ=="><path d="M 855.000000 215.000000 L 855.000000 298.000000 S 855.000000 308.000000 845.000000 308.000000 L 639.000000 308.000000 S 629.000000 308.000000 629.000000 318.000000 L 629.000000 394.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-4130473242-3488378134)" mask="url(#d2-4130473242)" /></g><g class="cGxhbm5lci4oc2EgLSZndDsgY29ubmVjdG9yKVswXQ=="><path d="M 563.000000 481.000000 L 563.000000 545.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-4130473242-3488378134)" mask="url(#d2-4130473242)" /></g><mask id="d2-4130473242" maskUnits="userSpaceOnUse" x="-29" y="-29" width="1184" height="869">
<rect x="-29" y="-29" width="1184" height="869" fill="white"></rect>
</mask></svg></svg>
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Connect Dynamo to external tools and services using function calling
---
You can connect Dynamo to external tools and services using function calling (also known as tool calling). By providing a list of available functions, Dynamo can choose
......
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Benchmark and compare performance across Dynamo deployment configurations
---
......
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Enable KV offloading using KV Block Manager (KVBM) for Dynamo deployments
---
# KVBM Guide
......
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Enable KV-aware routing using Router for Dynamo deployments
---
# Router Guide
......
......@@ -18,26 +18,7 @@ Dynamo's coordination layer adapts to the deployment environment:
> **Note:** The runtime always defaults to `kv_store` (etcd) for service discovery. Kubernetes deployments must explicitly set `DYN_DISCOVERY_BACKEND=kubernetes` - the Dynamo operator handles this automatically.
```
┌─────────────────────────────────────────────────────────────────────┐
│ Coordination Layer │
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────────────┐ │
│ │ Service Discovery │ │ NATS │ │
│ │ │ │ (Optional) │ │
│ │ • K8s: CRDs + API │ │ • KV Cache Events │ │
│ │ • Bare metal: etcd │ │ • Router Replica Sync │ │
│ │ │ │ • JetStream Persistence │ │
│ └─────────────────────────┘ └─────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
│ │
┌──────────┴──────────┐ ┌─────────┴──────────┐
▼ ▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│Frontend │ │ Planner │ │ Worker │
└─────────┘ └─────────┘ └─────────┘
```
![Coordination Layer showing Service Discovery and NATS connecting to Frontend, Planner, and Worker](/assets/img/event-plane-coordination.svg)
## Kubernetes-Native Service Discovery
......@@ -102,19 +83,7 @@ export ETCD_ENDPOINTS=http://etcd-0:2379,http://etcd-1:2379,http://etcd-2:2379
Each `DistributedRuntime` maintains a primary lease with etcd:
```
┌────────────────────┐ ┌──────────────┐
│ DistributedRuntime │◄────────│ Primary Lease │
│ │ │ TTL: 10s │
│ • Namespace │ └───────┬───────┘
│ • Components │ │
│ • Endpoints │ │ Keep-Alive
│ │ │ Heartbeat
└────────────────────┘ ▼
┌──────────────┐
│ etcd │
└──────────────┘
```
![DistributedRuntime connected to Primary Lease with Keep-Alive Heartbeat to etcd](/assets/img/event-plane-lease.svg)
**Lease Lifecycle:**
......
......@@ -13,30 +13,7 @@ The Planner is Dynamo's autoscaling controller. It observes system metrics, pred
## Architecture
```text
┌──────────────────────────────────────────────────────────┐
│ Planner Component │
│ │
│ ┌───────────────┐ ┌───────────────┐ ┌────────────────┐ │
│ │ Metric │ │ Load │ │ Performance │ │
│ │ Collector │ │ Predictor │ │ Interpolator │ │
│ │ (Prometheus) │ │ (ARIMA/etc.) │ │ (JSON data) │ │
│ └───────┬───────┘ └───────┬───────┘ └───────┬────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Scaling Algorithm │ │
│ └───────────────────────┬───────────────────────────┘ │
│ │ │
│ ┌───────────────────────▼───────────────────────────┐ │
│ │ Connector Layer │ │
│ │ ┌───────────────────┐ ┌───────────────────────┐ │ │
│ │ │ KubernetesConn. │ │ VirtualConn. │ │ │
│ │ │ (PATCH DGD) │ │ (Runtime bridge) │ │ │
│ │ └───────────────────┘ └───────────────────────┘ │ │
│ └───────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────┘
```
![Planner architecture showing Metric Collector, Load Predictor, and Performance Interpolator feeding into the Scaling Algorithm and Connector Layer](../assets/img/planner-architecture.svg)
## Scaling Algorithm
......
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Create custom Python workers and engines for Dynamo
---
# Writing Python Workers in Dynamo
......
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Handle failures gracefully with request migration, cancellation, and graceful shutdown
---
# Fault Tolerance
......
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Find optimal prefill/decode configuration for disaggregated serving deployments
---
# Disaggregated Serving Guide
......
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Serve fine-tuned LoRA adapters with dynamic loading and routing in Dynamo
---
# LoRA Adapters
......
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Deploy multimodal models with image, video, and audio support in Dynamo
---
# Multimodal Inference in Dynamo
......
---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
subtitle: Monitor Dynamo deployments with metrics, logging, and tracing
---
# Dynamo Observability
......
......@@ -78,11 +78,11 @@ navigation:
contents:
- page: KV Cache Aware Routing
path: ../pages/components/router/router-guide.md
- page: Disaggregated Serving Guide
- page: Disaggregated Serving
path: ../pages/features/disaggregated-serving/README.md
- page: KV Cache Offloading
path: ../pages/components/kvbm/kvbm-guide.md
- page: Dynamo Benchmarking Guide
- page: Dynamo Benchmarking
path: ../pages/benchmarks/benchmarking.md
- section: Multimodality Support
path: ../pages/features/multimodal/README.md
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment