← Blog

Ihre GPU, Ihre Stunden

Was entscheidet, ob jemand eine GPU an unserem Netz lässt, ist selten der Tarif. Es ist die Frage, ob die Maschine sich benimmt: leise, während man arbeitet, aus, wenn der Strom teuer ist, aus dem Weg, wenn man etwas spielen will.

Das ist jetzt ein Satz von Einstellungen — und, das war der Teil, der Nachdenken gekostet hat: Sie sind von beiden Enden aus editierbar.

$ mahout config set windows='[{"cron":"0 22 * * 1-5","duration_minutes":540}]'
$ mahout config set max_power_watts=250
$ mahout config show

Oder dieselben Werte auf der Zeile der Maschine im Dashboard, vom Handy aus, ohne sich per SSH in den eigenen Rechner einzuwählen.

Zwei Schreiber brauchen eine Regel

Die einfache Implementierung ist „der Letzte gewinnt", und sie ist auf eine bestimmte Art falsch: Der Agent synchronisiert nach Timer, also kann eine Änderung aus dem Dashboard von einer Kopie überschrieben werden, die die Maschine eine Sekunde vor Ihrem Klick auf Speichern gelesen hat. Sie bekämen keinen Fehler. Die Einstellung wäre einfach wieder, wo sie war, und Sie würden annehmen, Sie hätten sich verklickt.

Deshalb erklärt jedes Speichern, welche Version der Einstellungen es bearbeitet hat. War die andere Seite zuerst da, wird das Speichern verweigert, und Ihnen wird gezeigt, wie die Einstellungen jetzt tatsächlich sind. Niemandes Änderung verschwindet, ohne dass es gesagt wird — das ist die ganze Garantie, und sie ist den zusätzlichen Umlauf wert.

Beide Seiten zeigen außerdem, woher die letzte angenommene Änderung kam — „hat das gegriffen?" lässt sich damit auf einen Blick beantworten statt per Experiment.

Kleine Entscheidungen, mit Absicht getroffen

Fenster bleiben Cron-Ausdrücke, an beiden Stellen, auch im Dashboard. Ein freundlicher Tage-Wähler, der aus denselben Klicks einen subtil anderen Zeitplan erzeugte, wäre schlimmer als ein wenig Syntax — denn dann beschrieben die beiden Seiten dieselbe Sache unterschiedlich.

Größen akzeptieren Einheiten. disk_quota_bytes=500GB funktioniert; niemand tippt Byte-Zahlen von Hand. Das Wire-Format bleibt Bytes, weil der Agent das speichert, und zwei Umrechnungen pro Umlauf sind ein Rundungsfehler, der nur auf seinen Auftritt wartet.

Leer heißt „keine Grenze", nicht null. Wer das Leistungsfeld leert, gibt der Karte ihren eigenen Standard zurück. Einem Einstellungssystem, das aus „kein Limit" „null Watt" macht, würden Sie keine Maschine anvertrauen, die Ihnen gehört.

Was noch kommt

Fenster werden gespeichert, synchronisiert und angezeigt; die Auswertung durch den Agenten landet im nächsten Release — der ehrliche Stand heute ist also: Ein gesetztes Fenster wird erfasst und noch nicht durchgesetzt. Das steht im Changelog statt zwischen den Zeilen, aus demselben Grund, aus dem wir veröffentlichen, was passiert, wenn ein Job schiefgeht: Eine Feature-Seite, die nur die funktionierenden Teile beschreibt, ist keine Feature-Seite.

Reference

Read next

a GPU died mid-sentence. the sentence finished.

Consumer hardware disappears without notice — someone sits down at their PC, a breaker trips, Wi-Fi drops. Our streams now survive that: another machine picks the answer up mid-word, and the dead segment is billed to nobody.

one model, every card: how a 27b runs on 8 gb

Qwen3.8 27B ships in five builds, from Q5_K_M on a 24 GB card down to IQ2_XXS on 8 GB. Why we split models from builds, what quantization actually costs, and how a quantized KV cache doubled our context overnight.

Model catalogue · Knowledge base · Run a GPU