News Umverteilung der Aufgaben im Betriebssystem?

hat hier wer das original white paper gelesen? glaube nicht. das was in der news schlecht übersetzt ist (weil wichtiges weggelassen wurde) findet sich in der quelle wieder. ABER, das ist selbst nur die einleitung eines white papers der Universal Parallel Computing Research Center.

1. die argumentation in dieser einleitung ist blödsinn, denn als bremse wird dort die teilung von resoursen wie der zugriff auf dateien angegeben (beispiel vierenscanner). die reaktionszeit in dem beispiel würde nicht die bohne steigen durch da exklusive zuordnen eines prozesseses auf einen prozessor.

2. kommt der mann zu spät: sowohl apple, sgi, als auch linux bieten das schon (linux im linux-realt-time-tree)

3. im white-paper geht es um was ganz anderes als das, was in der einleitung bzgl. betriebssystem angedeutet wird. da hat sogar eure quelle gepennt, die selbst auch nur das intro gelesen hat.
im paper geht es um die verbesserung der automatischen optimieung bei der compilierung und ausführung von parallelen programmen, in dem sinne, dass man parallele programme einfacher designen und schreiben kann, so wie es in speziellen dafür designten sprachen geht.

die news ist so wie sie presäntiert wurde überflüssig und desinformiert mehr, als sie irgendeine sinnvolle information enthält.

edit: der abschnitt in der einleitng bezüglich der prozessorzurdungen sagt im original folgendes:
es soll ein besseres scheduling eingeführt werden, welches durch benutzer eingaben trainiert wird. d.h. wenn dem benutzer der rechner zu lahm ist, dann drückt er nen knopf "rechner lahm". dann wird aufgezeichnet, was alles aktiv ist und resourcen bracuh. daraus soll dann später ein scheduling entwickelt werden, dass bestimmte programme/prozesse mehr nach user-wünschen priorisiert - so nen quatsch hab ich selten gelesen, so nebenbei.
eine zweite geschihte ist die oben schon angesprochene exklusive zuteilung eines prozesses an einen prozessor. nur gibt es das wie oben gesagt schon und macht obendrein in den dort angesprochenen szenarios keinen sinn. das wechseln zwischen prozessen kosten bei modernen OSen ohnehin kaum zeit und wird für prozesse mit hoher last ausserdem weitestgehend ausgesetzt.
einzig für realtime anwendungen macht sowas sinn und das gibt es schon.

fail auf ganzer linie. lediglich der rest vmo whitepaper (also alles ausser der einleitung) scheint sinnvoll zu sein.
 
Zuletzt bearbeitet:
Ich habe mir jetzt nicht den ganzen Thread durchgelesen, aber ich bin der Meinung, dass MS schon in diese Richtung forscht. Es gab da glaub ich nen Projekt mit einer Uni, da wurde ein OS Kern entwickelt, der einen neuen Ansatz zur Parallelisierung verfolgt. Das projekt wurde glaub ich "helios" genannt. Ein ähnliches Projekt wäre "Singularity", was jedoch mehr in Richtung Sicherheit eines OS geht.

Edit:

noch fix gegoogled:

Helios
http://www.golem.de/0909/70113.html
http://research.microsoft.com/pubs/81154/helios.pdf

Singularity
http://www.golem.de/0803/58185.html
http://research.microsoft.com/en-us/projects/singularity/

Beides - meiner Meinung nach - sehr sehr interessante Projekte!
 
Zuletzt bearbeitet:
Mh, meiner Meinung nach muss man nicht studiert haben, um zu merken, dass die derzeitige Nutzung der vielen Kerne nicht das gelbe vom Ei ist. Das Problem ist nichtmal dass sich niemand Gedanken macht, es fehlt einfach an Mut, neue Ideen umzusetzen.
 
psyspy schrieb:
Mh, meiner Meinung nach muss man nicht studiert haben, um zu merken, dass die derzeitige Nutzung der vielen Kerne nicht das gelbe vom Ei ist. Das Problem ist nichtmal dass sich niemand Gedanken macht, es fehlt einfach an Mut, neue Ideen umzusetzen.

Es ist ja kein wunder, dass man sich kaum große sprünge mehr traut, betrachtet man den sprung von winXp auf winVista, der gewaltig nach hinten losging.
es war mit winvista so als ob man 10m nach vorne springt, aber am ziel angekommen wieder 15m nach hinten springen muss. schade!
 
Zuletzt bearbeitet:
helios hat nichts mit dem thema zu tun. weder mit dem in der news zitierten einleitung noch dem eigentlichen whitepaper.

genausowenig wi 99% der kommentare hier.
 
Liegt das Problem nicht vielmehr an der Festplatte, auf der die Programme und die dazugehörigen (Programm-)datein gespeichert sind? Hier liegt doch der Flaschenhals - der Zugriff und die Datenraten sind ja mal von vorgestern im Vgl. mit den anderen Systemkomponenten.

Wenn ich Virenscan neben Office und geöffneten 10 Tab Opera ausführen möchte, bremst da eher HDD als CPU & RAM.

Hab leider nicht die Möglichkeit dies zu testen, aber:

1) Ein RAID aus SSD im Vgl. zu HDD müsste zeigen, dass hier Festspeicher limitiert, wenn man sich ein kurze Statistik erstellt.
2) Komplizierter: a) Win auf eine RAM-Disk installieren (ja, da braucht man schon utopisch viel RAM^^) oder b) in ein RAM-Drive installieren. Warum? => Hier limitiert nichts mehr.


Verbessert mich, aber ich dann zeigt sich doch wunderbar, dass Multicore effektiv arbeitet, wenn es ausreichend (schnell) Daten zugeschoben wird. Klar ist eine komplett neue Technologie und Architektur mal an der Zeit, aber ob wirklcih das Problem expliziet beim Kernel zu suchen ist, glaube weniger....



Quadler
 
wenn ich das Richtig verstehe, bekommt jedes Programm genau 1 Core - Wo bitte ist das flexibel?! mein ICq-Client bekommt einen Core und das Kompressionsprogramm ebenfalls?!

Und was soll ein Privatanwender dann mit 4, 6 oder mehr Cores, wenn jedes Programm eh nur 1 nutzt?
 
Zuletzt bearbeitet:
Es geht nicht um 4 Cores, sondern um 4 Dutzend Cores.
Und er sagt auch nicht, das jedes Programm genau einen bekommt, sondern das Programme den / die Cores exklusiv nutzen sollen.

Momentan laufen auf deinem Dual.- oder Quadcore 50 oder gar 100 Programme und Dienste - ruf einfach mal den Taskmanager auf ;-)

Am besten mal den Originalartikel lesen und dazu http://software.magnus.de/windows/artikel/der-kernel-so-funktioniert-windows.html - das ist das "heute".
 
Soviel zu einigen "Experten" hier im Forum, die meinten, ihr Windows liefe spürbar runder, seit sie von einem Dual- auf einen Quadcore umgestiegen sind...... Merkwürdig finde ich, dass der nette Herr offenbar nicht erkannt hat, dass auch die Festplatte eine entscheidende Rolle spielt, gerade bei seinem Beispiel mit dem Virenscanner dürfte diese nämlich der Flaschenhals sein und nicht die CPU.
 
|MELVIN| schrieb:
Soviel zu einigen "Experten" hier im Forum, die meinten, ihr Windows liefe spürbar runder, seit sie von einem Dual- auf einen Quadcore umgestiegen sind......
was hat das mit dem thema zu tun?

@creepee:
endlich mal einer der ahnung hat und offenbar der zweite hier der weiß worum es geht.
wie ich bereits oben schon schrieb sowas bzw. ähnliches gibt es bereits von sgi, apple und linux.

darüberhinaus steht in dem artikel der ja nur die einleitung zu einem whitepaper ist teils wirres zeug drinn.
 
In meinen Augen ist noch nicht einmal das Betriebssystem Schuld an den Verzögerungen und "Hängern",
sondern viel mehr die Festplatte. Meiner Meinung nach, muß die Konkurrenz auf dem Markt für Flash Speicher um einiges größer werden,
um hier schnellstmöglich mehr IOPS zu erhalten, die Datenübertragungsrate zu erhöhen und last but not least das Ganze günstiger werden zu lassen.
 
Also die IOPS-Rate aktueller Flash Drives sollte ebenso wie ihre Geschwindigkeit mehr als ausreichen - zumal sie ein vielfaches der Leistung von Festplatten ist....

"könnten die Kerne wieder reine Kerne werden, denen jeweils ein Programm zugeordnet wird"
Also wird jedem Kern ein Programm zugeordnet, nicht umgekehrt - du hast recht, aber das könnte man verständlicher schreiben...

allerdings dürfte das eine Herausfordung für die Energieverwaltung werden, oder? dann würden bei geringer Last statt 2 Cores alle 24 laufen, nur weil 24 Programme laufen -ausserdem sollte "eine struktur", also zusammenhängendes wenig rechenintensives, dann in 1 Core laufen (zB ist es wohl wenig sinnvoll, jeder .exe des Betriebssystems einen Kern zu geben (explorer.exe vileicht aussen vor)

@Sturmel bei 50-100 amchst du aber was falsch ^:D - 50 erreiche grade mal, wenn ich alle meine Programme zusammen starte
 
Den Fehler hinter dieser Idee kann man leicht erkennen: es ist zu kurz gedacht und absolut nicht zukunftssicher.

In ein paar Jahren gibt es 32, 64, 96 Core, dann ist die Maximale Leistung die 1 Programm von dem CPU abrufen kann 1/96. Das ist dann WIRKLICH schlechte Auslastung. Geht man die heutige Technologie weiter, kann sich das Programm in 96 Threads aufspalten und den CPU 100% auslasten (zB Rendering). Tja warum eine Lösung die im Idealfall 96 mal schneller ist, die bessere ist, sollte klar sein...

Gut, dass so einer im Team von Microsoft nichts zu sagen hat.
 
@ F_GXdx

Auch du hast einen verständnisfehler, den ich zunächst gemacht habe und wohl auch wfgdd - jedem Core wird 1 Programm zugeordnet, NICHT jedem Programm 1 Core - also kann 1 Programm mehrere Kerne nutzen, aber nicht 1 Kern "gleichzeitig" von mehreren Programmen genutzt werden

Was da an Leistung verloren geht ist allenfalls
a) Verlustleistung
b) der überschuss teilweise ausgelasteter Kerne: Beispiel: 48 Kerne, 24 werden von Programmen des Betriebssystems belegt - die Leistung dieser 24 Kerne wird quasi verschenkt, weil sie jeweils exklusiv von einem sehr genügsamen Programm verwendet werden....
 
wfgdd schrieb:
Also die IOPS-Rate aktueller Flash Drives sollte ebenso wie ihre Geschwindigkeit mehr als ausreichen - zumal sie ein vielfaches der Leistung von Festplatten ist....

...und mehr wie 256kb Ram wird man nie brauchen. ;)

Also wenn denk ich, ist für die meisten Aufgaben heute, der Prozessor mehr als ausreichend.
Bei Rechenintensiven Dingen kann man natürlich nie genug Leistung haben, aber das interessiert
den Home User zur Zeit eher weniger denk ich. Wird in Zukunft aber auch noch mit Hilfe von OpenCL,
DirektX 11 bzw. Stream und CUDA beschleunigt.
 
Zuletzt bearbeitet:
klar kann man im Endeffekt nie genug haben - nur verbessern heutige SSDs das Problem schon sehr stark, sind aber einfach zu teuer - von daher ist das einfach das anstehende Problem, und nicht die IOPS oder die Transferrate
 
wfgdd schrieb:
klar kann man im Endeffekt nie genug haben - nur verbessern heutige SSDs das Problem schon sehr stark, sind aber einfach zu teuer - von daher ist das einfach das anstehende Problem, und nicht die IOPS oder die Transferrate

Mein Lösungsansatz geht gegen all diese Probleme an. ;)

In der News wird davon geredet, daß der Virenscan zuviel CPU Last hervoruft. Das eben denk ich aber nicht,
genau hier liegt das Problem wohl eher an der Festplatte. Man brauch ja nur mal selber schauen, wieviel
CPU Last so ein Scan hervoruft. Sowas sollte ja jeder installiert haben.

Was ich sagen will ist, der Flaschenhals in einem stinknormalen Rechner wie wir ihn alle zu Hause haben ist nicht die CPU,
sondern eben die Festplatte - selbst wenn eine SSD eingebaut ist.
 
Zuletzt bearbeitet:
Hmm wenn ich das richtig interpretiere würde sich für entwickler von software kaum was ändern, zumindest nicht verbessern eher müsste man noch mehr managen, das man dann auch noch selber definieren muss wenn man mehr als 1 core benutzen will, vielleicht versteh ichs aber auch falsch ;)

Was aus entwicklersicht wirklich problematisch ist, ist die kommunikation zwischen verschiedenen prozessen und das timing das alle syncron laufen halbwegs. Wenn das durch diesen Ansatz irgendwie vereinfacht werden würde wäre das natürlich super aber sieht wohl nicht so aus.

Hab jetzt nicht alle kommentare durchgelesen also sorry falls dort was schon erklärt wurde was ich hier fragend geschrieben habe ;)

Vielleicht les ich mir nacher noch den englischen orginalbereicht durch oder überflieg ihn wenigstens ;)


Bei einem Programm das ich mit anderen entwickelt habe, gibts einen tread der für sound zuständig ist der in ner endlosschleife auf anfragen wartet (play...), dann gibts noch einen extra tread für sound-eingabe über microphon, dann noch einen für grafische darstellung, alles muss syncron laufen, außerdem muss die cpu-zeit egal ob bei 1-2 oder 4 kernen gut verteilt werden. So das der Sound nicht anfängt zu rauschen oder das bild ruckelt. In wie fern würde sich jetzt hier bei dem ansatz was ändern oder ist das ein reines os/hardware thema. Primär muss es halt auf eine cpu richtig laufen, wenn das gegeben ist läufts auch gut wenn die prozesse auf mehrere kerne aufgeteilt werden. In dem fall bringt mehr speed dann nicht wirklich einen nutzen und das aufteilen auf 10 cores würde nix mehr bringen, wäre auch schwer lösbar. Microphonabtasten und auswerten auf mehrere prozesse oder Threads aufzuteilen wäre schwierig, aber wie gesagt auch nciht nötig außer man hätte ein system wo jeder core so schnell wie ein pentium 100 oder noch lahmer wäre.
 
Zuletzt bearbeitet:
Also ich hab keinen Plan von hard- oder software, aber wäre es nicht machbar heutzutage eine 1 kerncpu die in die nb,sb oder einges auf das mb zu haun die für windows zuständig ist.
Somit hätte man fix 2,4.6 kerne frei für games/programme die man auch richtig optimieren könnte?
Oder auf den cpus einen seperaten kern der für das Betriebssystem zuständig ist?

Mfg
V
 
Zurück
Oben