Linux Desktop flinker mit Prozessorgruppen.

  • @all


    IMHO definitiv ein beachtenswertes Thema für VDPAU VDR's:

    [07.01.2011] Die Änderung wirken sich nur bei hoher Belastung aus und scheinen die größten Auswirkungen auf Single-Core Installationen zu haben:

    [14.01.2011] Interessante deutschsprachige Einführung:

    [15.01.2011] Auf meinen Wunsch hin nach "VDR Grundlagen" verschoben. Vielen Dank an skiller2k1!


    Da sich die Wirkung bei hochbelasteten Systemen deutlich verstärkt, könnte ich mir vorstellen, das eine Umsetzung auf den S100 bzw. SMT7202S Distro's, das Verhalten der Frontends stark verbessern würde. Die CPU dieser kleinen Boxen rennt ja doch eigentlich immer bei 70-80% ...


    Gruß
    Frank

    HowTo: APT pinning

    7 Mal editiert, zuletzt von fnu ()

  • Verstehe ich es richtig, dass man zu dem Patch noch systemd braucht?


    Gruß,
    Lado

  • Noe.
    Systemd wird die paar Zeilen beinhalten, mit dem das ganze auch fuer aeltere Kernel funktioniert (ohne den den Patch). Angeblich ist der nicht-Patch sogar noch einen Tacken besser.


    Ehrlich gesagt, verstehe ich den Hype, der um den Patch gemacht wird, nicht so ganz. Prozessgruppen sind jetzt nicht sooooo neu.


    Gruss,
    uwe

    server: yavdr trusty testing, 2 * L5420, 32GB, 64TB RAID6 an OctopusNet (DVBS2- 8 ) + minisatip@dsi400 (DVBS2- 4 )
    frontends: kodi und xine

  • @umaler: meinst du das kurze Script?
    glaube aber das funktioniert dann nur für Anwendungen die aus der Shell gestartet werden


    persönlich finde ich es aber besser wenn gleich der Kernel die Arbeit übernimmt, es ist ja schließlich auch die Aufgabe des Schedulers die Tasks möglichst performant abzuarbeiten und nicht die einer Shell oder etwas anderem.


    nice regards
    aelo

  • hab das seit ner woche integriert, anleitung hier:


    Link


    allerding hab ich das per upstart script geschrieben da die rc.local nicht mehr genutzt wird. ich hab selten volllast, konnte noch keinen benefit erkennen. aber auch keinen nachteil.

    DVB Server Triax TSS400 SAT>IP Server
    VDR Server Synlogy Diskstation DS214play, debian chroot headless streaming Sever, VDR 2.1.7 mit vtuner/satip und vdr-plugin-satip
    VDR Client AMD X2 250, 4GB DDR3, G210 Passiv, 64GB SSD, Antec Fusion Micro iMON, Samsung LE 40 A659, Teufel E300, Logitech Harmony, yaVDR0.5 streamdev-client, (satip & USB DVBSKY S960 fallback)
    VDR Client Raspberry PI B+, raspian wheezy, VDR 2.1.6 mit RpiHDDevice, streamdev-client
    V/A Clients Windows PC's, Tablet, Smartphones via Streamdev or SatIP (UPNP)

  • aelo: genau.
    Wenn Du das im init ausfuehrst, dann hast Du den Effekt auch schon.


    Oder wenn Du den vdr z.B. ueber die Shell nachstartest.
    Das Problem, das der Scheduler hat, ist zu erkennen welche Prozesse Dir jetzt wichtiger sind und welche er bevorzugt behandeln soll (aktuell m.E. guter Artikel im kernel log)



    uwe

    server: yavdr trusty testing, 2 * L5420, 32GB, 64TB RAID6 an OctopusNet (DVBS2- 8 ) + minisatip@dsi400 (DVBS2- 4 )
    frontends: kodi und xine

  • Zitat

    Originally posted by bolzerrr
    hab das seit ner woche integriert, anleitung hier:


    Link


    allerding hab ich das per upstart script geschrieben da die rc.local nicht mehr genutzt wird. ich hab selten volllast, konnte noch keinen benefit erkennen. aber auch keinen nachteil.


    Und merkt man es?

  • Braucht man dann das ganze Zeug drunter?

    Code
    [*] Control Group support  --->
  • Zitat

    Original von herrlado


    Und merkt man es?


    ich kann es nicht beurteilen. habe tatsächlich mal neben dem tv betrieb einen kernel mit 3 threads kompiliert, da gab es keine auswirkungen auf die wiedergabe, das könnte aber auch shcon vorher so gewesen sein.

    DVB Server Triax TSS400 SAT>IP Server
    VDR Server Synlogy Diskstation DS214play, debian chroot headless streaming Sever, VDR 2.1.7 mit vtuner/satip und vdr-plugin-satip
    VDR Client AMD X2 250, 4GB DDR3, G210 Passiv, 64GB SSD, Antec Fusion Micro iMON, Samsung LE 40 A659, Teufel E300, Logitech Harmony, yaVDR0.5 streamdev-client, (satip & USB DVBSKY S960 fallback)
    VDR Client Raspberry PI B+, raspian wheezy, VDR 2.1.6 mit RpiHDDevice, streamdev-client
    V/A Clients Windows PC's, Tablet, Smartphones via Streamdev or SatIP (UPNP)

  • Zitat

    Original von Morone
    Ich wuerde mal behaupten , es bringt fuer nen vdpau gestuetzten VDR
    so gut wie rein garnix, denn die CPU hat da nun wirklich am wenigsten zu tun.
    Ist ja auch Sinn der Sache.


    So etwas kann man IMHO nur behaupten, wenn man sich mit den Zusammenhängen nicht wirklich auseinander gesetzt hat.


    Die CPU ist definitiv wichtig bei VDPAU (= grafischer Desktop!) und sie muß etwas tun. Der Nvidia-Treiber sorgt mit der Grafikkarte nur für die Zuarbeit zur CPU und nicht andersherum. Es ist ein Ammenmärchen, wenn behauptet wird alles läuft auf der Grafikkarte ab. CPU, Memory und Grafikkarte sind bei VDPAU quasi eine Einheit, schwächelt ein Teil, schwächelt alles.


    Beim Schnitt oder bei noad/markad geht die CPU Auslastung noch stärker nach oben. Und was zur Hölle spricht dagegen auch nur 1-2% Gewinn mitzunehmen, wenn es nichts kostet.


    Das Thema ist für "embedded" VDRs auf Basis von FF, DXR3, Reelhd und zukünftig auch FF-HD bei reinem VDR Betrieb uninteressant. Sollten aber Server-Services insbesondere Remuxing Themen dazu kommen, sieht die Lage schon wieder ganz anders aus.


    Regards
    fnu

    HowTo: APT pinning

    3 Mal editiert, zuletzt von fnu ()

  • Ich denke schon das es etwas bringt für vdpau Einsatz, auch ein anderer Scheduler usw könnte nützlich sein. Normalerweise dürfte Linux eher auf IO ausgelegt sein, was aber für den vdpau Einsatz nebensächlich ist, solange das decoding nicht unterbrochen wird.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • @all


    Für die Prozessgruppen muss man weder den Kernel patchen, noch auf einen gepatchten Kernel warten. Die von Lennart Poettering hier favorisierte Lösung für den Userspace, auch gegenüber Linux Torvalds, läßt sich auch mit älteren Kernel-Versionen umsetzen:

    Ohne es für alle ausprobiert zu haben, vermute ich aber, der Weg läßt sich auf fast allen aktuellen Debian-basierten System umsetzen. Zumindest unter Ubuntu 10.04 (lucid) funktioniert die Umsetzung wie beschrieben. Was es aber im realen Leben bringt, wird die Zeit zeigen.


    Gruß
    Frank

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • @all


    Nachdem der Bericht auf heise-open explizit auf Verbesserung bei Single-Core Installationen hinwies, habe ich das mal ausprobiert und wieder meinen Sempron 140 in den Haupt-VDR eingebaut. Den habe ich sowieso hier rumliegen und bei meinem Exemplar läßt sich auch der zweite Kern eh nicht freischalten.


    Während die Verbesserungen mit cgroups beim seither verbauten Athlon X2 subjektiv eher homöopatisch waren, xine-ui reagierte subjektiv deutlich flinker, sind die Verbesserungen beim Sempron 140 (Single-Core) deutlich zu spüren.


    Ich habe die CPU ja eigentlich seit Sommer 2009 am Start und das größte Problem war immer das parallele Schneiden von Aufnahmen, das führte in der Regel zu Aussetzern bei der Bild-Ausgabe von HD Sendern. Die Aussetzer waren je nach Patch-Level mal größer mal kleiner und es war eigentlich undenkbar parallel weitere Aufnahme fürs Schneiden vorzubereiten oder gar eine HD Aufnahme anzuschauen. Die Lösung war dann eben eine X2 CPU.


    Mit der o.a. Umsetzung der cgroups hat sich das schlagartig geändert. Die sorgt nämlich dafür, das xine-ui@Xorg vom restlichen System separiert behandelt wird und trotz Schnitt immer noch ausreichend CPU Zeit für die Bild-/OSD-ausgabe erhält. Der Schnitt einer HD Aufnahme, das parallele Anschauen einer 1080i Aufnahme und das Aufrufen eines der text2skin-Skins sorgen lt. systeminfo für 100% CPU Auslastung, der VDR ist aber normal ohne Verzögerungen bedienbar, es verhält sich IMHO wie ein Dual-Core System, sehr cool. Und natürlich kann ich jetzt auch parallel andere Aufnahmen wieder zum Schnitt vorbereiten ... :)


    [EDIT]


    Evtl. wären diese cgroups auch was für die schwachbrüstigen Single-Core Installation auf S100 & SMT7020S etc.?


    [/EDIT]


    Gruß
    Frank


    PS.: Einen Punkt möchte ich noch erwähnen, ich finde das das Schneiden mit viel zu hoher Priorität im VDR läuft. Das Schneiden belastet das System IMHO höher als nötig, es wäre doch egal ob der Schnitt in 1,2,3,4 Minuten fertig wäre. Und ja, das hatte ich "kls" schon mal geschrieben ...

    HowTo: APT pinning

    4 Mal editiert, zuletzt von fnu ()

  • Ich bin nun etwas verwirrt.


    Was genau muss man bzw. muss man nicht mehr tun um das richtig zum Laugen zu bringen?
    Was genau brauche ich unter Control Group supports ?
    welchen Group CPU scheduler nehme ich? Round Robin /FIFO oder OTHER?
    bzw. braucht man noch die Einträge in /etc/profile?


    Danke

  • herrlado


    O.a. Link erläutert die Umsetzung in Debian/Ubuntu Systemen, inwieweit sich das von gentoo unterscheidet weiß ich nicht. Da möchte ich Dich bitten selbst mal zu google'n.


    Lt. o.a. Link zu einer Aussage von Lennart Poettering, geht es tatsächlich nur um zwei "mounts" für den cgroups "Service". Und wenn ich nachschaue, kann ich da auch keinen Scheduler-Typ konfigurieren.


    Du hast die angegeben Links schon mal angeschaut, oder? Evtl. einfach ein "emerge cgroups-bin" und die gleichen Anpassungen wie für Ubuntu ... ?


    Gruß
    Frank

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Danke.
    Mir ging es nun darum, wir man den Kernel korrekt dafür konfiguriert bzw. es ist im Internet von einem auto cgroup Patch die rede. Manche sagen es soll in 2.6.37 enthalten sein, etc. Ich konnte es nicht finden. Wäre nett, wenn du eventuell deine cgroup Config Dateien posten würdest.



    Gruß,
    Lado

  • OK für gentoo habe ich einen Wiki Artikel gefunden.


    http://en.gentoo-wiki.com/wiki…sponsiveness_with_cgroups


    Gruß,
    Lado

  • herrlado


    Ach jetzt verstehe ich Deine Frage, aber warum stellst Du sie nicht gleich so ...


    Also, es gibt 2 Wege (!), einmal einen Kernel-Patch, der wohl in 2.6.38 einfliessen wird, der dafür sorgt das die cgroups gebildet werden.


    Das gleiche Verhalten kann man wohl schon viel länger im User-Space, also per Systemkonfiguration bewirken, ohne Patch und ohne neue Kernel-Version. Meine letzten Posts zielten auf diese User-Space Anpassung ab, Du benötigst keinen super-aktuellen Kernel, läuft bei Ubuntu wohl schon seit 9.04.


    Die Herren Poettering und Torvalds sind sich nicht ganz einig, welcher Weg besser ist, obwohl beide zum gleichen Ziel führen ...


    Gruß
    Frank

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!