Thema Speicher
noxon schrieb:
Vielen Dank, aber ich weiß, wie das Linux Memory Management funktioniert.
* Ich würde nur gerne wissen, welches Maß du für "Wissen -> Funktion" hier ansetzt.
noxon schrieb:
Speicherverwaltung ist bei keinem OS eine einfache Sache.
** Ja.
noxon schrieb:
Trotzdem ist die bei Linux recht simpel gelöst.
Ich bezweifle bei der Aussage, dass du den Blog Eintrag, der das Ganze auch nur grob erklärt wirklich gelesen hast. Daher auch mein Einwand bei (*). Zudem revidierst du damit irgendwie (**). Wenn du das LMM
wirklich kennst, sollte diese Lektüre
http://ptgmedia.pearsoncmg.com/images/0131453483/downloads/gorman_book.pdf
die gerade mal das alte Kernel 2.4 MM beschreibt, ja deinem Wissen enstprechen. Durc das Ding bin zugegebenermaßen nicht mal ich komplett durchgestiegen (paar Jahre her), aber es reicht um zu sagen, dass "LMM" und "simpel" in einem Satz schon arg anmaßend ist. Selbst ein "recht simpel", was wahrscheinlich im relativen Sinne gemeint war.
Ein Blick auf linux-mm.org ist auch ganz informativ.
***
noxon schrieb:
Dort gibt es zum Beispiel keinen so ausgefuchsten Prefetcher wie bei Windows, der für die effektive Speicherverwaltung zuständig ist.
Ausgefuchst ist hier, im Vergleich zu der Wissenschaft des MM nicht wirklich was. Mit dem
eigentlichen MM, mit dem du angefangen hast (mit dem Begriff "paging"), hat das sowiso nur indirekt zu tun. Du klatschtst einfach eine vernünftig gewählte, lernende Heuristik gegen deinen MM und verlagerst das (Orakel-) Laden einfach nur auf einen früheren Zeitpunkt. Das ist OS Kern Sache und gehört zum "was" und "wann" du etwas dem Speicher zu essen gibst. Aber
wie das dann verdaut wird, ist Sache des MM. Da hat irgendein prefetcher nichts mehr zu melden. Vielleicht auf ganz dünner Ebene, das wars dann auch. Ja, ich weiß, Wikipedia listet das beim Windows-Linux Vergleich unglückliecherweise unter "Memory Management", dennoch sind das zwei technsich, gänzlich unterschiedliche Felder. Selbes gilt insbesondere auch für SuperFetch.
**** Und wenn man prefetching unter Linux haben will:
http://linux.die.net/man/2/readahead
http://www.tecchannel.de/pc_mobile/linux/1751188/linux_mit_preload_programme_schneller_laden/ (hat mehr was mit SuperFetch zu tun)
Das ist übrigends auch eine Negierung deiner Aussage (***).
Hier wieder akademische Lektüre:
http://www.ece.eng.wayne.edu/~sjiang/Tsinghua-2010/linux-readahead.pdf
Und wenn wir schon bei "Foo kann was, was Bar nicht kann", hier etwas was ich in der Form unter Windows nicht kenne:
http://linux.die.net/man/8/prelink
was aber auch bei der gänzlich unterschiedlichen DSO Basis zwischen Linux nud Windows wenig verwunderlich sein dürfte.
noxon schrieb:
Hier geht es ja gerade um Caching-Algorithmen und um die Ausnutzung des "überschüssigen" Speichers.
Mit "caching" im eigentlichen Sinne hat prefetch - hier nur auf den algorithmischen Part bezogen - eher weniger zu tun, auch wenn der Übergang vom 'prefetching' zum 'caching' nicht ganz scharf ist und oft in einen Topf geworfen wird. Es wird 'nur' der swap- und page-cache mit Hilfe dieser Algorithmen 'bedient'. Für das caching selbst sind wieder andere Teile zuständig. Bin mir da jetzt aber nicht ganz sicher, kann mich also auch täuschen.
noxon schrieb:
Dort hinkt Linux ganz einfach hinterher,
Siehe (****). Den Satz kannst du aber auch gerne auf der Kernel Mailingliste reinstellen. Nur beschwere dich dann über den Threadverlauf nicht.
noxon schrieb:
weil es dort auch eigentlich nicht so wichtig ist, da es nunmal auch nicht primär als Desktop-Betriebssystem eingesetzt wird.
Ab hier glaube ich, dass du die ganze Zeit eher SuperFetch gemeint hast. Ich kann mir nicht vorstellen, dass du ernsthaft 'prefetching' seine Prioritäten nur dem Desktopbereich zuordnest.
Thema Dateisysteme
noxon schrieb:
Das mit der Fragmentierung hat Vor- und Nachteile.
Du meinst wohl eher dessen Prävention.
noxon schrieb:
Das Dateisysteme wie Ext3 nicht so stark fragmentieren wie NTFS muss Ext3 aber auch mit einem Performanceverlust bezahlen. NTFS nimmt die Fragmentierung in Kauf hat dadurch aber einen Performancevorteil.
http://www.phoronix.com/scan.php?page=news_item&px=ODIxNw
http://www.nerd-supreme.de/2009/12/...-jfs-reiserfs-btrfs-und-ntfs-3g-im-vergleich/
Und bevor zumindest zum zweiten Link Unkenrufe kommen:
Benchmarktests sind nicht unumstritten. Gewisse Tuning-Praktiken können zwar die Leistung einzelner Komponenten erhöhen, aber auch die Ergebnisse verfälschen. In diesem Test wurden keine leistungssteigernden Mittel verwendet. Sie spiegeln also wieder, was ein Anwender nach einer Standard-Installation dieser Linux-Variante erhalten würde.
Und IOZone ist ein ziemlich gutes Benchmark Tool. Daher würde ich die arg allgemein gehaltene Aussage über die Performance, eher mit Vorsicht genießen.
noxon schrieb:
Die Fragmentierung wird mittlerweile aber auch sofort wieder im Hintergrund durch Defragmentierung der Datenträger auf 0% gesenkt.
Mal das 'sofort' genau nehmend, dh. t=0, oder von mir aus auch konstante Laufzeit O(1) und die von dir implizierte Optimalität des Verfahrens: Dir ist schon bewusst, dass du mir eben gerade versucht hast P=NP weiß zu machen?
DEfragmentierung ist (über paar Transformationen), grob gesagt ein diskretes Bin Pack Problem und das ist NP vollständig.
http://en.wikipedia.org/wiki/Bin_packing_problem
noxon schrieb:
Belasse dein System mal für exakt 3 Minuten unangetastet und betrachte dann mal deine Festplatten LED. Du wirst sehen, dass er dann mit dem Defragmentieren beginnt, falls es was zu defragmentieren gibt.
Du machst eine FS Analyse anhand der HDD LED? Nicht schlecht. Mir wäre auch neu, dass NTFS eine (integrierte) online Defragmentierung durchführt. Ich tippe da doch sehr viel eher auf den Indexer, oder einen WinDienst der die pagefile abklappert.
noxon schrieb:
Jetzt im Zeitalter der SSDs ist das mit der Fragmentierung ohnehin nicht mehr so tragisch.
Sehe ich auch so, aber diverse Aussagen einiger Hersteller machen mich stutzig:
Wikipedia schrieb:
während MTron für seine SLC-basierten Produkte ein Defragmentieren sogar empfiehlt
Ich warte da lieber nochmal ab. Versuch ohnehin mal, dem Leiter eines Rechenzentrums zu sagen, dass Fragmentierung nicht mehr schlimm ist, da man in alle Cluster ja SSDs einbauen könnte. Den Chef mit dem Kostenvoranschlag in der Hand will ich nicht sehen.
noxon schrieb:
Mein System ist zumindest immer absolut unfragmentiert
Schwer verdaubare Aussage, genau wie deine P=NP Behauptung.
noxon schrieb:
und ich habe kein Problem mit NTFS.
Dafür ich im Nebenjob bei ca. 30 Arbeitsplatzrechnern, einem Win2008 Monster-Server, trotz MSCE Heinzel der dauernd das Blaue vom Himmel verspricht. Nein, mit PEBKAC hat das schon lange nix mehr zu tun.
noxon schrieb:
NTFS ist ja nicht in der Entwicklung stehen geblieben.
Habe ich schoolisoutfan auch entgegnet.
******
noxon schrieb:
Das kann ja alles was Dateisysteme wie Ext3 auch können und sogar noch mehr
Welche Klasse von FS meinst du mit "wie Ext3". Nur mal auf Ext3 allein bezogen: Nein.
http://www.webupd8.org/2011/10/increased-performance-in-linux-with.html
http://en.wikipedia.org/wiki/Swappiness (kann Windows gar nicht)
noxon schrieb:
wie zum Beipsiel transaktionelle Operationen
http://www.sigops.org/sosp/sosp09/papers/porter-sosp09.pdf
http://www.ibm.com/developerworks/linux/library/l-linux-synchronization/index.html
Überhaupt sind IBM technical Reports sehr empfehlenswerte Lektüre. Man merkt dem Unternehmen sein schieres Guru Wissen einfach an.
Aber ext hin oder her, ext4 ist das Letzte in seiner Linie. Btrfs etabliert sich langsam und einen Vergleich zu NTFS braucht man hier gar nicht erst anfangen. Vor allem mit Oracle im Rücken. Halte man von denen was man will, aber Oracle hat neben IBM so ziemlich die Speerspitze an Spezialisten für solche Dinge.
Fazit
Du versuchst Linux hier eine deutlich unterlegene Speicherverwaltung, sei es bei HDD oder RAM anzudichten, was so einfach unhaltbar ist. Vorrausgesetzt deine Ausführungen würden stimmen, dann würde in allen Bereichen wo selbst kleine Performancevorteile entscheidend sind, die Arbeit nur von stümperhaften Idioten gemacht werden, weil dort zu über 90 Prozent Linux eingesetzt wird. Und ich kann mir das bei Google, IBM, Oracle und zig weiteren Konzernen und zahllosen Instituten mit Hochleistungsrechnern und ganzen Serverfarmen beileibe nicht vorstellen. Und das hat nichts mit Server<->Desktop zu tun. Hier kann man keine Analogie zu Server CPU <-> Desktop CPU machen.
Mit gewissen Dingen weiß ich bei deinem Post dann auch nicht ganz richtig was anzufangen, zB ob prefetch oder superfetch gemeint war. Vielleicht lese/verstehe ich deinen Beitrag auch nicht richtig. Auch deine implizierte, wenn auch wahrscheinlich ungewollte, P=NP Behauptung hat mir doch Magenschmerzen bereitet.
noxon schrieb:
Ich weiß nicht mehr aus welchem Grund
Weil die Forschung zum Zusammenkleben einer relationalen Algebra mit Bäumen noch in den Kinderschuhen steckt.
noxon schrieb:
Ich wüsste ehrlich gesagt auch nicht, wozu ich solch ein Feature brauchen sollte.
Huh, WinFS wäre eingeschlagen wie eine Bombe! Man muss sich das mal weiter vorstellen. Jeder Dienst der irgendwie das FS managed und das mit irgendwelchen obskuren Metainformationen macht, wäre obsolet. Beliebige Metainformationen für Dateien mit relationelem System und das ganze komplett Dateisystemtransparent auf einer konformen Basis. NTFS hätte damit ein ganz schönes Alleinstellungsmerkmal gehabt. Zusammen mit Triggern wäre das auch für den Desktopuser ein wahrlich technischer Fortschritt gewesen.
schoolisoutfan schrieb:
OS dafür das ein Grafikkartenhersteller schlechten Linux support bietet
Nichts. Schrieb ich auch nicht. Es ging mir hier rein um deine arg pauschale Aussage.
schoolisoutfan schrieb:
Lies meine Antwort nochmal. Es ist ein Unterschied ob mehr Effekte implementiert wurden, oder (prinzipiell) mehr Effekte
möglich sind