Boinc Scheduler

Aus Planet 3DNow! Distributed Computing Wiki
Version vom 27. Februar 2009, 12:42 Uhr von TAL9000 (Diskussion | Beiträge) (Erste Version bis Kaffepause)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Der Boinc Scheduler ist zuständig zum Abarbeiten der Projekte gemäß der eingestellten Ressourcen Anteile.

Ressourcenanteil

Diese können von 1% bis 1000% eingestellt werden, stellen jedoch keine echten % Anteile dar. Die Summe der eingestellten Ressourcen aller Projekte entspricht dann dem Nenner, die Ressource des Projekts dem Zähler. Beispiel:

Projekt A ist auf 100% gesetzt; Projekt B ist auf 50% gesetzt; Projekt C ist auf 250% gesetzt -> A+B+C = 400

Projekt A bekommt 100/400 = 25%; Projekt B bekommt 50/400 = 12,5%; Projekt C bekommt 250/400 = 62,5%

Ohne die zusätzlichen Faktoren bedeutet diese, das Projekt C 2,5x mehr gerechnet wird als Projekt A, welches jedoch 2x mehr als Projekt B gerechnet wird.

Boinc Zeit Statistik

Boinc speichert in der client_state.xml unter dem abschnitt <time_stats> den Anteil in denen Boinc gestartet und aktiv ist.

<time_stats>
 <on_frac>0.XXX</on_frac>
 <active_frac>0.XXX</active_frac>
</time_stats>

Der Wert <on_frac> ist der Zeitanteil seit dem Boinc installiert wurde im Verhältnis zur Laufzeit des Boinc Clients, unabhängig davon ob er Berechnungen durchführt oder angehalten ist, sprich pausiert.

Beispiel: Boinc wurde vor genau 14 Tagen (14x24h) installiert, in dieser Zeit wurde der PC mit Boinc als Service Installation (Boinc startet automatisch mit dem OS) immer 8h lang eingeschaltet (10x8h). Dies ergibt (8 * 10) / (14 * 24) = <on_frac>0.238095238</on_frac> = ~24% Laufzeit des Boinc Clients

Der Wert <active_frac> ist der Zeitanteil seit dem Boinc installiert wurde im Verhältnis zur aktiven Laufzeit des Boinc Clients, also die Zeit in der WUs abgearbeitet/berechnet werden.

Beispiel: Boinc wurde vor genau 14 Tagen (14x24h) installiert, in dieser Zeit wurde der PC mit Boinc als Service Installation (Boinc startet automatisch mit dem OS) immer 8h lang eingeschaltet und davon durfte 4h am Tag der Boinc Client seine Berechnungen durch führen. Dies ergibt (4 * 10) / (14 * 24) = <active_frac>0.119047619</active_frac> = ~12% aktive Laufzeit des Boinc Clients, in der Berechnungen durchgeführt wurden.

STD und LTD Wert

Boinc speichert in der client_state.xml unter dem abschnitt <project> den jeweiligen Anteil in denen Boinc die Projekte rechnen lässt / aktiv ist.

<project>
 <short_term_debt>XXX</short_term_debt>
 <long_term_debt>XXX</long_term_debt>
</project>

Der Wert <short_term_debt>, übersetzbar mit "Kurzfristige Verbindlichkeiten" liegt im Bereich von 0-86400 (Sekunden/Tag). Dieser Werte soll die Abarbeitung der WUs im Zeitraum <24h gewährleisten. Beim nächsten Umschalten gemäß der Ressourcenaufteilung wird das Projekt mit dem höchsten <short_term_debt> Wert bevorzugt.

Der Wert <long_term_debt>, übersetzbar mit "Langfristige Verbindlichkeiten" liegt im Bereich von +-1000000 (Sekunden/Tag). Dieser Wert soll für die Abarbeitung der WUs im Zeitraum >24h sorgen. Bei einem negativen Wert @ Projekt wird keine Arbeit angefordert. Bei einem positiven Wert, wird je nach Höhe und Ressourcenanteil Arbeit angefordert unter Berücksichtigung des <active_frac> Wertes. Stehen die Werte alle im negativen Bereich, so erscheint unter Meldungen overcomitted und no new work fetch allowed. Boinc ist dann überarbeitet (overcomitted) und fordert keine neuen WUs (no new work fetch allowed). Dieser Modus wird dann auch earliest-deadline-first (EDF) genannt.

EDF (Panik) Modus

<brauche Kaffee mache später weiter TAL9000>

Weblinks