Boinc Scheduler: Unterschied zwischen den Versionen
(Erste Version bis Kaffepause) |
(EDF) |
||
Zeile 20: | Zeile 20: | ||
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. | 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 | + | 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 80 / 336 = <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. | 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 | + | 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 40 / 336 = <active_frac>0.119047619</active_frac> = ~12% aktive Laufzeit des Boinc Clients, in der Berechnungen durchgeführt wurden. |
== STD und LTD Wert == | == STD und LTD Wert == | ||
Zeile 33: | Zeile 33: | ||
</project> | </project> | ||
− | Der Wert <short_term_debt>, übersetzbar mit " | + | Der Wert <short_term_debt>, übersetzbar mit "Kurzzeit Schuld" 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. Es zeigt sozusagen die Schuld des Clients bei den jeweiligen Projekt/24h an. Ist der Wert 0 hat Boinc seine Arbeit, gemäß der Ressorcen einstellung geleistet. |
− | Der Wert <long_term_debt>, übersetzbar mit " | + | Der Wert <long_term_debt>, übersetzbar mit "Langzeit Schuld" liegt im Bereich von +-1000000 Sekunden. Dieser ist einer der Faktoren zur WU Anforderung durch Boinc bei dem entsprechenden Projekt. Bei einem negativen Wert wird keine Arbeit angefordert. Boinc hat "zuviel" an diesen Projekt gemäß Ressourcen einstellung gerechnet. 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 == | == EDF (Panik) Modus == | ||
− | < | + | Neben den genannten Werten, beachtet Boinc auch die Deadline der WUs. Wenn es merkt das es "zuviel" Arbeit angefordert hat oder der |
+ | <active_frac> Wert sinkt (Urlaub -> PC ist mehr aus, es wird mehr gearbeitet -> Boinc darf weniger rechnen) werden die WUs mit der nächsten Deadline bevorzugt gerechnet um ein "brauchbares" Ergebnis zu gewährleisten. In dieser Zeit fordert Boinc keine Arbeit mehr an. Mittlerweile prüfen auch die Projekt Server die Zeitstatistiken und verweigern die Zuteilung von WUs, wenn gemäß der Werte, in der geforderten Zeit nicht berechnet werden können. | ||
+ | Beispiel: | ||
+ | Message from server: No work sent | ||
+ | Message from server: (won't finish in time) Computer on 50% of time, BOINC on 25% of that, this project gets 20.0% of that | ||
+ | No work from project | ||
+ | Der Server sagt damit, das der PC 50% der Zeit an ist, 25% davon Boinc rechnen darf und das Projekt von dieser Zeit 20% nur bekommt. | ||
== Weblinks == | == Weblinks == |
Version vom 27. Februar 2009, 13:30 Uhr
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 80 / 336 = <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 40 / 336 = <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 "Kurzzeit Schuld" 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. Es zeigt sozusagen die Schuld des Clients bei den jeweiligen Projekt/24h an. Ist der Wert 0 hat Boinc seine Arbeit, gemäß der Ressorcen einstellung geleistet.
Der Wert <long_term_debt>, übersetzbar mit "Langzeit Schuld" liegt im Bereich von +-1000000 Sekunden. Dieser ist einer der Faktoren zur WU Anforderung durch Boinc bei dem entsprechenden Projekt. Bei einem negativen Wert wird keine Arbeit angefordert. Boinc hat "zuviel" an diesen Projekt gemäß Ressourcen einstellung gerechnet. 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
Neben den genannten Werten, beachtet Boinc auch die Deadline der WUs. Wenn es merkt das es "zuviel" Arbeit angefordert hat oder der <active_frac> Wert sinkt (Urlaub -> PC ist mehr aus, es wird mehr gearbeitet -> Boinc darf weniger rechnen) werden die WUs mit der nächsten Deadline bevorzugt gerechnet um ein "brauchbares" Ergebnis zu gewährleisten. In dieser Zeit fordert Boinc keine Arbeit mehr an. Mittlerweile prüfen auch die Projekt Server die Zeitstatistiken und verweigern die Zuteilung von WUs, wenn gemäß der Werte, in der geforderten Zeit nicht berechnet werden können. Beispiel:
Message from server: No work sent Message from server: (won't finish in time) Computer on 50% of time, BOINC on 25% of that, this project gets 20.0% of that No work from project
Der Server sagt damit, das der PC 50% der Zeit an ist, 25% davon Boinc rechnen darf und das Projekt von dieser Zeit 20% nur bekommt.