Ressorcenpools sollen sie relative Verteilung der CPU und Arbeitsspeicher Ressourcen zwischen VMs regeln wenn es insgesamt zur Verknappung kommt. Die verfügbaren Gesamtressourcen werden zunächst unter den Root-Ressorcenpools anhand ihrer relativen Gewichtung aufgeteilt. Dabei verhalten sich die drei Grundeinstellungen low, normal und high wie 1:2:4. Gibt es beispielsweise einen low und einen high Pool auf Rootebene, so erhält low 1000 Anteile und high 4000 Anteile. Soweit alles in Ordnung, aber wo soll das Paradoxon sein? In seinem Artikel The Resource Pool Priority-Pie Paradox, erschienen auf Yellow-bricks.com, erklärt Craig Risinger wie es dazu kommen kann.
Alle Anteile des Pools werden innerhalb auf alle darin enthaltenen VMs verteilt. Das bedeutet wenn wir z.B. 4 VMs im Pool low, und 50 VMs im Pool high haben, dann erreichen wir genau das Gegenteil unserer Absicht. Jede VM im Pool low erhält 250 Anteile (1000/4), während jede VM im Pool high nur 80 Anteile (4000/50) erhält!
Der Pool low ist zwar der kleinere Kuchen, aber er wird in nur vier Stücke geteilt. Und was bringt ein größerer Kuchen, wenn ich diesen mit zu vielen Gästen teilen muß. 😉
Damit haben wir unser Paradoxon: Obwohl wir für die VMs im Pool high eigentlich bei Ressourcenverknappung bevorzugen möchten, tun wir genau das Gegenteil. Wir haben nicht die Anzahl der Poolmitglieder beachtet. Um es mit aller Deutlichkeit zu sagen: Die VMs im Pool low konkurrieren nur mit anderen VMs des selben Pools und nicht mit VMs anderer Pools!
An dieser Stelle sei auch noch einmal daran erinnert: “Ressourcepools sind keine Ordner!” Irgendwann verteile ich T-Shirts mit diesem Motto. Man findet es zu oft.
Weitere interessante Artikel zumThema:
The Resource Pool Priority-Pie Paradox Craig Risinger
Resource Pools and Shares Duncan Epping
Eine Antwort auf „Das Ressourcepool Paradoxon“