WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Simulationen > Hardware

Hardware Simmer helfen Simmern - Fragen, Antworten, Diskussionen zu flugsimulatorspezifischen Hardwareproblemen.

Microsoft KARRIERECAMPUS

 
 
Themen-Optionen Ansicht
Alt 24.03.2006, 01:54   #17
fs-simul
Veteran
 
Registriert seit: 28.12.2005
Beiträge: 296


Standard

Zitat:
Original geschrieben von alfora
Was ich überhaupt nicht verstehe ist, wie es eigentlich möglich ist, dass eine moderne Applikation auf einem modernen Betriebssystem KEINE Mehrfach-CPUs unterstützt.
Weil das nicht so einfach ist wie es oberflaechlich betrachtet aussieht.
Das faengt an bei der 3D Schnittstelle die dafuer nicht ausgelegt ist. Alle Daten die zur Grafikkarte ueber die DirektX Schnittstelle gehen muessen beispielsweise erst in einem Thread gesammelt werden. Und innerhalb des Programmes ist es nicht damit getan alle moeglichen Aufgaben auf Threads zu verteilen. Das kostet auch entsprechenden Verwaltungsaufwand der kontraproduktiv waere wenn der Gewinn durch die sich tatsaechlich parallelisierbare Arbeit zu gering ausfallen wuerde. Um parallel arbeiten zu koennen muss diese auch unabhaengig voneinander sein und dort wo es Synchronisationspunkte gibt oder Daten ausgetauscht werden muessen darf es keine groesseren Wartezeiten geben. Wenn ein Thread zu lange auf das Ergebniss eines anderen warten muss ist der durch das parallele arbeiten gewonnene Zeitvorteil schnell dahin. Auch das gegenseitige blockieren von Threads X wartet auf Y, Y auf Z und Z auf X (Deadlock) muss zuverlaessig verhindert werden. Um all dies muss sich der Entwickler kuemmern wenn sein Programm fehlerfrei laufen und entsprechend gut skalieren soll. Manche Algorithmen lassen sich grundsaetzlich nicht parallelisieren. Bei anderen muss man erst aufwendig entsprechende Abhaengigkeiten entkoppeln. Das setzt entsprechendes Know-How beim Entwickler vorraus welches oft nicht vorhanden ist. Hinzu kommt das die meisten Entwicklungs und Debuggingtools noch nicht fuer Fehlersuche und Optimierungen fuer parallel arbeitende Programme ausgelegt sind.
Am einfachsten ist es wenn es keine Abhangigkeiten gibt was in einigen Anwendungsgebieten bspw. beim Rendering, wo eine CPU z.B. die geraden Zeilen und eine andere die ungeraden Zeilen rendern kann, der Fall ist. Dort sind die Programme schon lange multiprozessorfahig und skalieren auch nahezu 100 Prozent mit der Anzahl der CPUs.
Beim FS ist die Sache wesentlich komplizierter obwohl dort sicherlich auch einiges Parallelisierungspotential drin steckt. Aber vermutlich muessten dazu auch viele Sachen von Grund auf neu programmiert werden.
Bis sich Multiprozessorunterstuetzung auf breiter Flaeche in Programmen durchgesetzt hat hast du vermutlich schon 6 oder mehr Prozessoren in deinem Rechner und dann bringen auch schon geringe Skalierungsraten einen signifikanten Gewinn.
fs-simul ist offline   Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:21 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag