ubuntuusers.de

Ubuntu "optimierte" Pakete

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

honkitonk

Avatar von honkitonk

Anmeldungsdatum:
23. September 2005

Beiträge: 206

Ich weiß nicht, ob ich einem Denkfehler unterliege, aber warum werden unter Ubuntu die Kernel auf 386 und nicht auf moderne Architekturen kompiliert? Diejenigen, die heute noch auf 386-Architekturen setzen, kriegen doch Ubuntu niemals flüssig zum laufen. Die Hardwareanforderungen für ein flüssiges Arbeiten sind ja mittlerweile schon recht hoch. Ist es nicht hinfällig wenigstens auf 686 hin zu kompilieren? Damit könnte man die Performance nochmal steigern. Mich nervt das vor allem deswegen, weil mit optimieren Paketen die vorhandene Hardware besser ausgelastet bzw. moderne Features genutzt werden könnten und mein Rechner deswegen seltener hochtakten muss. Das wiederum führt dazu, dass die Lüfter schneller drehen und dadurch lauter werden. Wenn ich dagegen die taktfrequenzen des Prozessors begrenze, ist's aus mit flüssigem Arbeiten. Also, warum wird nicht mindestes auf 686 kompiliert?

Kinch

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 1261

honkitonk schrieb:

Ich weiß nicht, ob ich einem Denkfehler unterliege, aber warum werden unter Ubuntu die Kernel auf 386 und nicht auf moderne Architekturen kompiliert? Diejenigen, die heute noch auf 386-Architekturen setzen, kriegen doch Ubuntu niemals flüssig zum laufen.

Reden wir von Ubuntu oder Gnome? Man kann Ubuntu ja auch mit Xfce oder nur mit Fenstermanager betreiben.

Mich nervt das vor allem deswegen, weil mit optimieren Paketen die vorhandene Hardware besser ausgelastet bzw. moderne Features genutzt werden könnten und mein Rechner deswegen seltener hochtakten muss. Das wiederum führt dazu, dass die Lüfter schneller drehen und dadurch lauter werden.

Sicher, dass das mit 686 Kompilate anders wäre?

Als Alternative könntest du dir auch, wenn deine CPU modern genug ist, ne 64-Bit Installation gönnen.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Es gibt sicherlich Unterschiede zwischen 386 und 686, z.B. bei der Umsetzung eines Inkrements (386 mit ADD, 686 mit INC, wenn ich mich richtig erinnere). Die tatsächlichen Auswirkungen dieser Unterschiede dürften aber marginal sein. Die Behauptung, die Hardware würde „besser ausgelastet“ und der Prozessor müsste seltener hochtakten, glaube ich jedenfalls erst, wenn ich dafür belastbare Zahlen sehe. Wirklich moderne Features wie effiziente Fließkommaarithmetik mittels SSE gibt es auch bei 686 noch nicht.

Das sich der Sprung von 386 zu 686 nicht lohnt, sieht man imho auch daran, dass Assembler-Bibliotheken (wie z.B. die Mathematikroutinen der glibc) nur sehr selten spezifische 686-Varianten implementieren. Meist gibt es nur eine 386-Variante mit den uralten Intel-Befehlen, und eine 64-Bit-Variante, die dann dementsprechend SSE oder andere moderne Befehlssätze nutzt.

Ansonsten gibt es ja andere Distributionen (Arch Linux z.B.), die Pakete für 686-Architekturen kompilieren.

honkitonk

(Themenstarter)
Avatar von honkitonk

Anmeldungsdatum:
23. September 2005

Beiträge: 206

Ja Arch hab ich auch in Verwendung, allerdings ist es halt so, dass ich nicht unbedingt viel am System konfigurieren möchte. Vor allem die große Community hinter Ubuntu ist für mich ein Argument für Ubuntu und gegen Arch, was ja eine vergleichsweise kleine Com hat. Wenn ich dich jetzt richtig verstanden habe bringt mir eine 64Bit-Installation also noch weitere Vorteile ausser, dass ich mehr RAM direkt nutzen kann? Dann wäre ein 64Bit Ubuntu mal nen versuch wert. Auf jeden Fall ist es extrem nervig, dass bei mir Ubuntu während ich einen Internetstream schaue hochtaktet. Bei Arch ist das halt eher selten der Fall. Wenn Arch doch mal hochtakten muss, dann nur so kurz, dass es keine Auswirkung auf die Lüfterdrehzahl hat.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Deine Behauptung, 686 wäre effizienter als 386, basiert also einzig und allein darauf, dass Du deinen Stream sowohl unter Arch als auch unter Ubuntu angesehen hast? Na, mit solchen Beweisen wird Canoncial sich leicht überzeugen lassen 😉

Im Ernst, das unterschiedliche Verhalten von Arch und Ubuntu liegt wohl eher an unterschiedlicher Konfiguration. Wahrscheinlich verwenden Arch und Ubuntu unterschiedliche Regler für die CPU-Frequenz.

honkitonk

(Themenstarter)
Avatar von honkitonk

Anmeldungsdatum:
23. September 2005

Beiträge: 206

Nein, das ist bloß einer der Punkte wo es extrem auffällt. Messbar ist das ganze wohl eher schwer, bzw. würde sich im einstelligen Prozentebereich bewegen. Meine Behauptung mit 686 habe ich darauf aufgebaut, dass bei moderneren Archtekturen neue Befehlssätze + Hardwareelemente Verwendung finden und diese durchaus den Rechenaufwand vermindern können. Mir wäre es auch lieb, wenn es Ubuntu direkt für K8 geben würde. 😉

Ich werde dann mal die 64Bit Version von Ubuntu testen - müsste ja dann (in Teilbereichen) wieder schneller sein als eine Arch i686-Installation.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

honkitonk schrieb:

Nein, das ist bloß einer der Punkte wo es extrem auffällt.

Ich glaube, Du hast mich nicht richtig verstanden. Ich bezweifele stark, dass das unterschiedliche Verhalten überhaupt mit der unterschiedlichen Architektur zusammenhängt. Der Grund dürften wie gesagt eher unterschiedliche Regler für die CPU-Frequenz sein.

[…] dass bei moderneren Archtekturen neue Befehlssätze + Hardwareelemente Verwendung finden […]

Die da wären? Im Übrigen ist i686 keine „moderne“ Architektur, sie entspricht dem technischen Niveau eines Pentium II-Prozessors.

honkitonk

(Themenstarter)
Avatar von honkitonk

Anmeldungsdatum:
23. September 2005

Beiträge: 206

1. Kann ich mir kaum vorstellen, dass egal, obs nu cpufrequtils oder über acpid realisiert wird, irgendwelche neuen (Leistung-)Grenzwerte erstellt werden, zumal die zur Auswahl stehenden Optionen genau mit denen von Arch übereinstimmen. Aber nun gut, man kann nicht wirklich wissen, ob eine modernere Architektur daran was ändern würde.

2. Ich habe mit keinem Satz behauptet, dass 686 modern wäre, sondern lediglich moderner als 386. Wie schon geschrieben, ich nehme auch gerne ein komplettes Ubuntu, welches auf meine Hardware optimiert ist 😀 Mir ist halt die modernste Prozessorarchitektur nicht bekannt, welche die größte gemeinsamte Schnittstelle zwischen AMD/Intel-Architekturen bietet.

3. Was die Befehlssätze angeht, da stecke ich nicht drin, meine halt sowas wie SSE, SSE2 ... da wirds ja immer neue geben vermute ich mal. Und die wird ja keiner erfinden, wenn sie keine Vorteile hätten.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

@honkitonk: Natürlich werden „neue“ Grenzwerte eingerichtet, dass ist doch genau der Sinn der CPU-Regelung. Je nachdem, welcher Regler benutzt wird, taktet die CPU anders. Der ondemand-Regler beispielsweise stellt bei Last sofort die höchste verfügbare Frequenz ein, während powersave immer und unter allen Umständen die niedrigste Frequenz wählt. Das sich das auf Abwärme und somit Lüfterdrehzahl auswirkt, sollte selbstverständlich sein. Die verfügbaren Optionen sind auch völlig egal, wichtig ist, was tatsächlich benutzt wird. acpid hat mit der CPU-Regelung im Übrigen nichts zu tun, dieser Dienst leitet lediglich ACPI-Ereignisse an Anwendungen weiter.

Ubuntu liefert vorkompilierte Pakete aus. Es kann sich nun mal nicht am neusten orientieren, sondern muss Kompromisse machen. Wenn Du meinst, Deine Hardware bedürfe speziell kompilierter Pakete, musst Du diese Pakete selbst kompilieren, oder gleich eine Distribution wie Gentoo einsetzen. Obs was bringt, sei dahingestellt. Firefox wird nicht schneller, nur weil das Kompilat nun SSE nutzt. Angesichts der marginalen Vorteile es ist daher nicht weiter verwunderlich, wenn Distributoren lieber so übersetzen, dass das Programm wirklich überall läuft, anstatt Optimierungen einzuführen, die kaum ein Nutzer merkt, weil sie nur bestimmte Architekturen und bestimmte Klassen von Programmen betreffen.

Der größte Vorteil neuere Befehlssätze ist vor allem, dass ein Haufen ahnungslose Kunden der Neuerung hinterherlaufen und dem Hersteller volle Kassen bescheren. Chiphersteller wollen ihre Prozessoren verkaufen, daher ist nicht alles, was dort beworben wird, in der Praxis auch tatsächlich relevant. Auf der anderen haben haben natürlich insbesondere die SSE-Befehlssätze durchaus ihren Daseinszweck, aber eben nur für eine ganz spezielle Klasse rechenlastiger Programmen (Videokodierung, wissenschaftliche Berechnungen, Grafikverarbeitung). Ein alltägliches Programm wie Firefox oder OpenOffice dagegen wird nicht auf magische Weise schneller, weil das Kompilat auf einmal SSE-Befehle nutzt. Solche Programme befinden sich die meiste Zeit im Leerlauf, so dass Mikrooptimierungen sich auf die „gefühlte“ Geschwindigkeit nicht im geringsten auswirken.

Aber bitte, es steht Dir natürlich frei, mittels „apt-build“ oder einer Quellen-basierten Distribution wie Gentoo das alles selbst mal auszuprobieren.

Antworten |