Donnerstag, 18. April 2024, 10:12 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Vuego

Meister

Registrierungsdatum: 30. August 2002

Beiträge: 999

21

Dienstag, 11. November 2003, 16:49

Hallo,
ich bin zwar kein HT-Spezi, aber

bedeutet nicht HT beim PIV, daß die CPU intern auf 2 CPU's aufgeteilt wird und wenn eine voll beansprucht wird, noch genug Luft über die 2te CPU bleibt?

Wenn Investox jetzt eine interne CPU voll nutzt, dann wird die komplette CPU quasi nur zu 50% genutzt?

@Kai
interessanter Aspekt mit der Reduzierung der Prios. Ich muß mal testen ob es bei mir was bringt. Zwei Anwendungen schlucken bei mir im Wechsel 80-90% bzw. die andere bis 50%. Also zusammen eigentlich mehr als 100%

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

22

Dienstag, 11. November 2003, 18:44

Hallo zusammen,

ich glaube nicht so recht das die Prioitätssteuerung über WINDOWS den erwarteten Schub an POWER bringt da das Programm selbst und nicht die detaillierten Prozesse des Programms angesteuert werden. Lt WINDOWS TWEAKS kann sich Windows die Prioitätssteuerung auch nicht "merken". Hierzu der B E R I C H T!

H I E R kann man den Process Governor kostenlos testen. Ob es was bringt kann ich euch allerdings nicht sagen denn ich habe das Teil noch nie getestet...;)

Am besten wäre es vermutlich,wenn man Prozesse direkt in dem Programm steuert in dem die Prozesse auch arbeiten. Dazu müsste aber in INVESTOX eine integrierte Prioitätssteuerung vorhanden sein...
Happy Trading

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

23

Dienstag, 11. November 2003, 19:02

Hallo zusammen,
na denn will ich auch noch etwas beisteuern......ich habe einige Zeilen aus einem Artikel bei Tom's Hardware kopiert, in dem es um die Nachrüstung von HT geht. Ich hatte es ja weiter vorn schon geschrieben: der Prozessor ist nicht alles, wenn er nicht ausgelastet ist, kann das z.B. auch am RAM (Größe/Taktung) oder zu langsamer Festplatte liegen.....

Zitat


Quelle: http://www.de.tomshardware.com/cpu/20030616/index.html

Es ist ohne Zweifel die interessanteste Versuchung, seit es den Pentium 4 gibt: Die Rede ist von Hyper-Threading, Intels neueste Technik, um modernen Systemen zu mehr Leistung zu verhelfen. Der Ansatz verfolgt nicht mehr die klassische Methode der Taktsteigerung, sondern in erhöhtem Maße die Parallelisierung.

Mit passender Unterstützung seitens des BIOS ist Windows XP in der Lage, ein System mit Pentium 4 samt HT-Funktionalität als Dual-Prozessor-System mit dem Multiprozessor-Kernel anzusprechen. Dazu hat Intel den Pentium 4 intern so überarbeitet, dass typische Threads (Programminstruktionsstränge innerhalb eines Tasks) möglichst gleichzeitig abgearbeitet werden können. Der Clou: Anwendungen, die schon vorher fürs Multiprozessor-Systeme ausgelegt waren, profitieren auf Anhieb vom (einzelnen) P4 mit HT. Programmierer werden deshalb angehalten, neue Applikationen so zu schreiben, dass sie Multiprozessor-Umgegebungen oder den HT optimal ausnutzen.


Was ist Hyper-Threading?

Das Prinzip ist schnell erklärt: Im Grunde geht es darum, Instruktionsstränge so zu organisieren, dass die Pipelines des Pentium 4 effizienter genutzt werden können. Zum einen ist der Prozessor selbst jedoch nicht intelligent genug, um genügend Analyse zu betreiben, die wiederum eine Reorganisation von Instruktionssträngen in großem Umfang ermöglichen würde. Zum anderen hat der Prozessor auch niemals einen globalen Überblick über laufende und nachfolgende Instruktionen.


Ganz anders das Betriebssystem. Die Abarbeitung von Instruktionssträngen, den so genannten Threads, erfolgt in fest vorgegebenen Zeitscheiben und nach bestimmten Prioritäten. Auch wenn dies weitgehend ohne Berücksichtigung von Prozessortyp und -Anzahl erfolgt, so werden diese Threads auf alle vorhandenen Prozessoren verteilt. Durch die verbesserte, parallele Abarbeitung von Instruktionen und die Arbeitsannahme über zwei "Schnittstellen" lastet sich der Prozessor deutlich besser aus. Der Anwender profitiert davon, da mehrere Anwendungen mit deutlich geringeren Verzögerungen nebeneinander her laufen können.
Viele Grüße,
Hans-Jürgen

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

24

Dienstag, 11. November 2003, 19:08

PS: Wenn man prüfen will was Prioitätssteuerung bewirkt, dann kann man das-soweit ich mich jetzt erinnern kann-bei TAI PAN "Daten einlesen" tun. Hier müssten 3 oder 4 Prio.Stufen angeboten werden.

Schaltet man auf die höchste Stufe ist der Rechner lahmgelegt. Wählt man die niedriste Stufe kann man jederzeit nebenbei andere Arbeiten ausführen und mehrere Prozsse "ruckelfrei" laufen lassen.

Es muss aber sicherlich auch abgewogen werden inwiefern man die niedrigste Stufe in einem Programm fahren kann..nicht das letztendlich die Intradaydaten von RTT nach INVESTOX einen halbe Minute benötigen um im Chart angezeigt zu werden.. ;)

Auf ein DUAL RAM System-so wie von Hans-Jürgen erläutert würde ich allerdings bei einem neuen PC auch nicht verzichten wollen. 3.01GHZ müssen es allerdings nicht unbedingt sein.Ist eben eine Frage des Preises die jeder für sich entscheiden muss ... Ob man zwischen 2,6/2.8 und 3.04 GHZ noch einen"nicht im Labor" gemessenen (objektiven) Unterschied spürt möchte ich fast bezweifeln...
Happy Trading

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

25

Dienstag, 11. November 2003, 19:19

Der Link von Udo bzgl. Steuerung der Process-Prioritäten ist gut, die Produktbeschreibung gibt einiges an Infos dazu:

http://www.symplasson.de/leistungen/soft…/processgovenor

Das Proggi kann man wohl auch als Demo downloaden (vermutlich zeitlich eingeschränkte Nutzung), so dass die mit etwas "schmalbrüstigen" Prozessoren in ihrem PC da Ganze ja mal ausprobieren können.....also, Freiwillige vor ;)....
Viele Grüße,
Hans-Jürgen

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

26

Dienstag, 11. November 2003, 19:22

HIER noch ein Link zu den Preistrends der CPUs. Der 2.8 PIV hatte einen wahren Preissturz.Komischerweise zog der Preis für den 2.5er kurzfristig an..

Die AMDs bekommt man fast schon geschenkt...:D
Happy Trading

Fritz

unregistriert

27

Dienstag, 11. November 2003, 19:42

Hallo,
viel Text, welcher mir als Nicht-Hardware-Spezi nicht sehr viel weiter hilft.
Fakt ist:
Ich habe 512 MB DDRAM wovon nur ca. 50% belegt sind.
Ich habe nur Investox im EOD Modus laufen, also nicht ständig neue Daten etc.
Ich habe ein NN im Training und erkenne im Task-Manager, das Investox ständig nur 50% der CPU auslastet. D.h. CPU 1 wird voll genutzt und CPU 2
nicht.
Da frag ich mich natürlich, wer sagt Investox, das es nicht nur CPU 1 sondern auch CPU 2 benutzen soll und falls es gesagt wird, versteht dies Investox auch???

@Bandit
Der Mobile Pentium 4 mit HT Technologie soll auch schon zur Auslieferung bereit stehen (Quelle: PC-Magazin).

Ich hab ihn schon.

Gruß Fritz

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

28

Mittwoch, 12. November 2003, 09:38

Hallo Fritz,

Deine Fragen wird wohl letztendlich Herr Knöpfel korrekt beantworten können denn in Hans-Jürgen's Thread steht auch noch dies:

Zitat

Der Clou: Anwendungen, die schon vorher fürs Multiprozessor-Systeme ausgelegt waren, profitieren auf Anhieb vom (einzelnen) P4 mit HT. Programmierer werden deshalb angehalten, neue Applikationen so zu schreiben, dass sie Multiprozessor-Umgegebungen oder den HT optimal ausnutzen


Das sind Programm interne Strukturen in die man keinen Einblick hat.
Du selbst hast nur sehr eingeschränkte Möglichkeiten den internen Steuerungsprozess von INVESTOX und WINDOWS von "aussen zu beeinflussen-z.B. duch Prioitätssteuerung oder unter ARBEITSPLATZ-SYSTEMINFOS-ALLGEMEIN-ERWEITERT (WXP) den Cash anstatt die Programme anzusprechen. Allerdings möchte ich bezweifeln dass man damit NN bewegen kann die Auslastung "gleichmässig" zu verteilen.Wenn Du 50% Auslastung hast müsste es eigentlich möglich sein nebenher noch weitere Prozesse fliessend zu bearbeiten und das ist ja der eigentlich Sinn von HT.Es ist nicht gesagt das die NNs schneller berechnet werden wenn man die Auslastung steigert!

Letztendlich könnte aber die Programmierung der Anwendersoftware den entscheidenden Kick-wie oben beschrieben-bringen.
Happy Trading

Steff

unregistriert

29

Mittwoch, 12. November 2003, 10:30

Hallo Udo,

Zitat

Wenn Du 50% Auslastung hast müsste es eigentlich möglich sein nebenher noch weitere Prozesse fliessend zu bearbeiten und das ist ja der eigentlich Sinn von HT.


Na ich weiß nicht, immer die Hälfte der Kapazität vorzuhalten, auch wenn keine anderen Prozesse zu bearbeiten sind - für mich ist das keine gute Lösung.

Optimal wäre es doch, wenn der HT Prozessor mit voller Leistung arbeiten würde um erst bei anstehenden, zusätzlichen Aufgaben etwas davon abzuzweigen.
Ob es dazu tatsächlich schon einer multiprozessorfähigen Software bedarf, kann uns sicher AK beantworten.

Außerdem würde mich interessieren ob es gewährleistet ist, daß die Anzeige der CPU-Auslastung auch beim MP- bzw. beim HT- Betrieb korrekt funktioniert.

Viele Grüße
Stephan

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

30

Mittwoch, 12. November 2003, 10:51

Hallo Stephan!

Zitat

Na ich weiß nicht, immer die Hälfte der Kapazität vorzuhalten, auch wenn keine anderen Prozesse zu bearbeiten sind - für mich ist das keine gute Lösung.


Wenn der CPU auf 100% läuft ist er voll ausgelastet-.d.h. er hat keinen Platz mehr für andere Prozesse. Das führt dazu das andere Programme oder Prozesse in "Zeitlupe" bearbeitet werden oder sogar-wenn es hart kommt, stehen bleiben und im schlimmsten Fall den PC abstürzen lassen.
Weiterhin verkürzt sich durch eine ständig hohe CPU Auslastung die Lebensdauer und erfordert eine gute Kühlung!

Wünschenswert sind daher Programme die vom CPU wenig Power anfordern-d.h. wenn das Proagramm arbeitet ist es für die CPU umso besser je weiter die Auslastung gegen 0 % (nicht zu 100 % ) tendiert!
Programme die mit niedriger Power arbeiten laufen natürlich flüssiger und schneller weil kaum Rechenprozesse anfallen..wie man an der Auslastung erkennen kann.

Um CPU Vergleichstest (WINDOWS vs andere Testsoftware) zu machen gibt es Kauf/Freesoftware die man H I E Rfindet. Sisoft Sandra z.B. checkt den PC in sehr umfangreicher und detaillierter Form...
Happy Trading

Steff

unregistriert

31

Mittwoch, 12. November 2003, 11:59

Hi Udo!

Zitat

Wünschenswert sind daher Programme die vom CPU wenig Power anfordern-d.h. wenn das Proagramm arbeitet ist es für die CPU umso besser je weiter die Auslastung gegen 0 % (nicht zu 100 % ) tendiert!


Das ist eben die Frage. Grundsätzlich stimme ich Dir und Vuego schon zu, es ist nicht wünschenswert, daß ein Programm die gesammte CPU blockiert.

Wenn ich aber einfach nur möchte, daß Berechnungen in Investox so schnell wie möglich ausgeführt werden und wir mal davon ausgehen, daß parallel dazu keine andere Anwendungen ausgeführt werden müssen, dann soll Investox die CPU doch zu 100% fordern um die Berechnungen schnellstmöglich abzuschließen.
Beträgt die CPU-Auslastung nur 50%, dauern die Berechnungen auch doppelt so lange (das wäre für mich jedenfalls die logische Folgerung, ich kann dies allerdings nur vermuten).

Viele Grüße
Stephan

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

32

Mittwoch, 12. November 2003, 12:48

Hallo zusammen,
letztendlich hat Stephan schon Recht mit diesem Satz:

Zitat

ich kann dies allerdings nur vermuten


Falls sich jemand wundert, dass AK sicht bisher dazu nicht geäußert hat: er schrieb mir Ende letzter Woche in einer Mail, dass er für 2 Wochen unterwegs sei und nur sporadisch ins Board schauen kann/wird.

Warum kommt eigentlich keiner auf die Idee, dass heutige Prozessorgenerationen für einzelne Programme viel zu schnell "rechnen" könnten und dehalb von EINEM Programm gar nicht richtig ausgelastet werden könnten, da andere Faktoren u.U. leistungsbegrenzend sind?

Zur Anzeige der Prozessor-Auslastung:
zu Zeiten von MS Access 2.0 (oder 1,0, ich weiß es nicht mehr genau) zeigte die Anzeige STÄNDIG 100% an, nachdem man das Programm gestartet hatte sonst aber nichts passierte. Oder ein Grafikprg. von mir fuhr meinen Duron IMMER auf 100%, wenn ich eine Grafik geladen hatte, klickte ich im Prg. ein Menü an, fiel die Auslastung auf 0% zurück. Es kann also auch andere Gründe haben, warum die Anzeige auf 50% oder 100% steht.
Viele Grüße,
Hans-Jürgen

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

33

Mittwoch, 12. November 2003, 13:28

Hallo zusammen,

die von Hans-Jürgen gemachte Aussage:

Zitat

Warum kommt eigentlich keiner auf die Idee, dass heutige Prozessorgenerationen für einzelne Programme viel zu schnell "rechnen" könnten und dehalb von EINEM Programm gar nicht richtig ausgelastet werden könnten, da andere Faktoren u.U. leistungsbegrenzend sind?


spielt ein ganz wesentliche Rolle..das ist auch meine Meinung! Software allein kann einen 3 GHz Prozessor kaum so richtig "überfordern".Dies geschieht dann wenn interne Prozesse von Winwows schlecht gesteuert werden oder eine Software für den CPU unvorteihaft arbeitet!

Windows schleppt mindesten 30-50% Ballast mit sich herum der im Grunde nichts auf der HD für eigentliche Anwendungen zu suchen hat. LINUX zum Beispiel ladet nur das rein was man anfordert.Das hat den Vorteil dass das Betriebssystem sehr "schlank"gehalten wird und nicht "1000" Prozesse im Hintergrund laufen die teilweise gar nicht notwendig sind oder irgendwelcher Schrott auf der HD abgelegt wird was auf die Dauer (bei FAT32 Konfiguration z.B.) zur ständigen Defragmentierung führt.

In der Regel muss man tatsächlich WXP nach der Erstinstallation erst einmal "ausmisten" ! Allein die grafischen Animationen verbrauchen Powerkapatzität. Das geht schon bei der animierten Figur in der Suchfunktion los und richtig interessant wird es, wenn man sich auf die Suche nach "versteckten" Sachen macht...aber das ist ein Kapitel für sich auf das ich hier nicht näher eingehen möchte da es den Thread sprengen würde..;)Allerdings sollte man auch die Anwendersoftware so gestalten das sie möglichst wenig an Rechnkapazität verbraucht...

Stephan-mehr CPU Auslastung bedeutet nicht zwangsläufig das der Prozess verschnellert wird!CPU Auslastung kann über Prioitätsstufen die sich in diverser Anwendersoftware vorschalten lässt- gesteuert werden. Wenn TAI PAN beispielweise Daten einliest und man die Prioität auf 100% setzt dann ist zwar die HD für weiter Arbeiten blockiert aber schneller geht es deswegen auch nicht. Es ist mehr eine Frage der kompletten Systemkonfiguration (wie Hans-Jürgen angedeutet und beschrieben hat), des internen Prozesses von WINDOWS und der Anwendersoftware. Hier liegt die meiste Power begraben....

Wünsche noch viel POWER! ;)
Happy Trading

Steff

unregistriert

34

Mittwoch, 12. November 2003, 14:28

Hallo,

Zitat

Warum kommt eigentlich keiner auf die Idee, dass heutige Prozessorgenerationen für einzelne Programme viel zu schnell "rechnen" könnten und dehalb von EINEM Programm gar nicht richtig ausgelastet werden könnten, da andere Faktoren u.U. leistungsbegrenzend sind?


Ganz so ist es nicht, nachfolgendes Zitat stammt aus einem meiner Beiträge:

Zitat

Ich gehe bei dieser Überlegung davon aus, daß die Rechengeschwindigkeit nicht durch die Software limtiert ist, sondern allein durch die Leistungsfähigkeit der Hardware begrenzt wird.


Hans -Jürgen hat natürlich Recht, das ist bei unseren Überlegungen der entscheidende Punkt. Wenn die Berechnungen in Investox mit der max. möglichen Geschwindigkeit ausgeführt werden und die CPU ist trotzdem nur zur Hälfte ausgelastet ist das selbstverständlich positiv.
Mir kommt es eben nur etwas seltsam vor, daß bei Fritz die max. Auslastung genau 50% beträgt, evtl. ein Indiz, daß hier etwas "künstlich" und in vielen Fällen unnötig begrenzt wird. Ich schlage vor wir warten ab, bis AK (hoffentlich) etwas Klarheit in die Sache bringt.

Viele Ghz ;),
Stephan

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

35

Mittwoch, 12. November 2003, 22:39

Hallo,

ich kann zum technischen Hintergrund dieser Fragen nicht allzuviel beitragen. Die Verwendung des oder der Prozessoren wird nicht von Investox, sondern vom Betriebssystem gesteuert, wobei Investox aber nur auf einem (realen) Prozessor läuft. In der Praxis konnte ich persönlich aber kaum einen Unterschied zwischen HT oder nicht HT erkennen (der selbe Rechner, einmal mit und einmal ohne HT). Es ist also insbesondere nicht etwa so, dass in einem HT-System nur der halbe Prozessor genutzt würde. Die Anzeigen der Prozessorauslastung aus dem Taskmanager würde ich auch nicht zu erst nehmen.

Viele Grüße
Andreas Knöpfel

Tai-Pan

unregistriert

36

Mittwoch, 12. November 2003, 23:13

Hallo Zusammen,
Ich lese schon eine ganze Weile mit, und muss mich mal zu Wort melden.
Wenn ein System 2 Prozessoren hat (oder per HT 2 virtuelle), dann kann trotzdem in einer Brechnungsroutine (thread) immer nur 1 Prozessor gleichzeitig die Progamminstruktionen ausführen. Während dieser Zeit kann der andere Prozessor die anderen Threads bearbeiten, aber eben immer nur die Anderen. Ein Thread kann aber immer nur in der prozessoreigenen Geschwindigkeit bearbeitet werden. Wenn nun 2 Programme (2*IV mit unterschiedlichen NN) gestartet werden, dann wird die CPU-Anzeige auch 100% bei einem 2 Prozessor-System anzeigen. 100% wird auch eingezeigt, wenn IV 2 NN's gleichzeitig berechen würde. Ein Programm (Prozess) kann beliebig viele Threads öffnen, um Aufgaben erledigen zu lassen. Hierzu müsste allerdings IV auch ausgelegt sein. Die Berechnung eines NN wird dadurch aber nicht schneller, es sei denn die Berechnungen lassen sich parallelisieren und AK baut IV so aus.
Prioritäten: Prioritäten sagen nichts über die Geschindigkeit aus, in der ein Programm ausgeführt wird (wenn es drann ist), sondern Steuern die Verteilung wann das Programm (besser gesagt der einzele Thread) wieder ein wenig der CPU-Zeit bekommt, und wie lange.
Auslastungsanzeige: Die Auslastungsanzeige ist machmal ein wenig trügerisch.
Fall 1. Ein Programm (z.B. Tai-Pan Eod) aktualisiert Daten auf der Festplatte. Die HDD hat Dauerstress. Die CPU wartet eigentlich immer auf die Festplatte und zeigt deshalb 0% Auslastung an. Die CPU hat ja auch nichts zu tun, das System ist aber trotzdem nicht zu benutzen bzw träge. Träge ist es weil das Anklicken eines Menüpunktes das Einlagern von Speicherseiten von der Festplatte zur Folge hat, und die Platte ist ja gerade beschäftigt ist .....
Fall 2. Ein Programm "vergisst" dem Betriebsystem mitzuteilen (schlecht Programmiert), das es gerade nichts tut (Beispiel Access weiter oben). Dann meint das BS die Anwendung ist mächtig beschäftigt, und zeigt 100% an, obwohl ein flüssiges Arbeiten mit dem System möglich ist.
Interessant wird es wenn im Taskmanager die Kernel-Zeiten angezeigt werden. Gehen diese nach oben (30-70%) und das dauerhaft, dann ist das BS (nicht die Anwendungen) beschäftigt, und man sollte über einen schnelleren Proz. nachdenken.

Zum optimalen System:
Wenn gleichzeitig immer mehrere Programme umfangreichte Berechnungen durchführen sollen, lohnt sich der Kauf eines 2 Prozessor-Systems mehr, als der Kauf einer schnelleren CPU. Die 2 Proz. erhöhen in nicht unerheblichen Masse die "flüssigkeit des Arbeitens". (2 Proz. finde ich besser als 1 mit HT) Die Programme reagieren schneller auf User-interaktionen. Um Probleme wie bei Fall 1. beschieben zu umgehen, sollte man das BS auf eine HDD packen, und Programme die viel auf der Festplatte arbeiten auf eine eigene Platte auslagern. Eine HDD in 2 oder 3 Laufwerke aufzuteilen ist dabei der falsche Weg. Lieber 3 Festplatten mit möglichst unterschiedlichen Controllern (Primary IDE + Secondary IDE + ATA100 Raid + SCSI mischen). Dadurch wird bei einer Aktualisierung auf HDD 2 das BS auf HDD 1 nicht ausgebremst. 512 MB RAM sollten für alle Anwendungen reichen.
Gerade bei der Installation des BS kann man einiges an Hauptspeicher sparen und Performance gewinnen, wenn nach der Installation einmal in der Systemsteurung unter Software/Windows-Komponenten hinzufügen angewählt wird. Eigentlich gilt hier, alles was Sie nicht kennen oder noch nicht benutzt haben, kann ersteinmal deinstalliert werden. Wenn Sie es vermissen, können Sie es ja wieder nachinstallieren. Das Gleiche gilt auch für Dienste. Einfach mal in der Systemsteuerung/verwaltung die gerade gestarteten Dienste durchschauen und versuchen anzuhalten. wenn das System danach noch immer so wie gewünscht funktioniert, könnte dieser Dienst auch manuell gestartet werden. Hierzu ist dann die Startart auf Manuell zu setzten. VORSICHT EVENTUELL STARTET DAS SYSTEM NICHT MEHR, WENN HIER ETWAS FALSCH GEMACHT WIRD!!!

Ich hoffe geholfen zu haben.....

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

37

Donnerstag, 13. November 2003, 08:49

Hallo,
eine wirklich umfassende Antwort, danke :)!

Wer sein System etwas tunen möchte, kann sich hier: http://www.windows-tweaks.info/html/windowsxp.html ein Paar Tipps und Erklärungen holen.

Sicherheitshinweis:
Vorsicht beim Editieren der Registry! Durch falsche Einträge kann das System instabil werden und u.U. nicht mehr starten. Eingriffe erfolgen auf eigene Gefahr!

Startart der Dienste ändern:
Wie von Thorsten Kitzig schon erwähnt, kann es auch hier zu schweren Problemen kommen. Man sollte nur die Startart der Dienste ändern, bei denen man geanu weiß, was sie bewirken und das man dies gefahrlos machen kann. Irgendwo im Web gibt es sicherlich Seiten, auf denen Tipps dazu zu finden sind.
Viele Grüße,
Hans-Jürgen

Fritz

unregistriert

38

Donnerstag, 13. November 2003, 09:28

Hallo Herr Kitzig,
erst einmal vielen Dank für die ausführliche Erläuterung. Dennoch möchte ich für mein Verständnis noch etwas nachhaken.

" dann kann trotzdem in einer Brechnungsroutine (thread) immer nur 1 Prozessor gleichzeitig die Progamminstruktionen ausführen. "

Das habe ich mir fast gedacht.

"Ein Thread kann aber immer nur in der prozessoreigenen Geschwindigkeit bearbeitet werden."

Das heißt dann aber doch, das das Training eines NN bei einem Prozessor
ohne HT u.U. wesentlich schneller geht als mit HT (bei gleicher Taktung)?

"Ein Programm (Prozess) kann beliebig viele Threads öffnen, um Aufgaben erledigen zu lassen. Hierzu müsste allerdings IV auch ausgelegt sein. Die Berechnung eines NN wird dadurch aber nicht schneller, es sei denn die Berechnungen lassen sich parallelisieren und AK baut IV so aus."

@A:K: Dies ist IV sicher (noch???) nicht möglich???

"Prioritäten: Prioritäten sagen nichts über die Geschindigkeit aus, in der ein Programm ausgeführt wird (wenn es drann ist), sondern Steuern die Verteilung wann das Programm (besser gesagt der einzele Thread) wieder ein wenig der CPU-Zeit bekommt, und wie lange."

Heißt das, über die Priorität könnte ich dem NN indirekt doch mehr als die 50%
zuweisen?
Und was bedeutet in diesem Zusammenhang die Angabe Echtzeit?

Gruß

Fritz

Tai-Pan

unregistriert

39

Donnerstag, 13. November 2003, 15:09

@Fritz:
"Das heißt dann aber doch, das das Training eines NN bei einem Prozessor
ohne HT u.U. wesentlich schneller geht als mit HT (bei gleicher Taktung)?"

eigentlich nicht, denn ein Prozessor mit HT hat die Möglichkeit andere Threads während der Ausführung von Thread A auch schon auszuführen.
Wenn ein Prozessortbefehl z.B. eine Multiplikation von 2 Zahlen in Thread A lange dauert, kann er in der Zwischenzeit in Thread B 5-10 einfache Operationen ausführen. Alle Programme auf dem Rechner laufen halt flüsiger, aber nicht schneller.

Bei Realtime.Prio heisst es einfach nur, dass der Thread 1 in 2 Zeiteinheiten wieder an der Reihe ist, und der Thread 2 mit Priorität Normal erst in 50 Zeiteinheiten. Ausserdem wird der Thread 1 erst nach 30 Zeiteinheiten unterbrochen und der Thread 2 schon nach 3. Die Zeiteinheiten sollen hier nur das Problem veranschaulichen!!!. Die Geschwindigkeit in der die Instruktionen in einem Thread abgearbeitet werden, ist immer gleich. Es kommt halt auf die zugeteilte Zeiteinheit (Zeitscheibe) an. Prioritäten können mit Bordmitteln ja nur auf Prozesse angewendet werden. Ob das nachträgliche Zuweisen von Prioritäten Einfluss auf die von einem Prozess gestarteten Threads hat, oder nur auf die nach der Zuweisung erzeugten Threads, weiss ich nicht. ( kompliziertes Thema!! :D ) Die Priorität mit der ein Thread läuft, kann der Entwickler auch noch Zusätzlich beim Erzeugen des Threads angeben.

Beispiel für einen Einsatz von Threads und der Vorteil von 2 Proz.:
Thread A berechnet C = A * B.
Thread B Berechnet D = A * B.
Thread C wartet auf das Ergebnis von Thread A UND Thread B
Bei einem 1 Proz.-System wird die Ausführung 100 Einheiten benötigen.
Bei einem 2 Proz.-System wird sie ca. 50 Einheiten benötigen.
Wie lange ein HT-System dafür benötigt weiss ich nicht, ich vermute mal in diesem Fall 50 Einheiten, da die Threads etwas sehr ähnliches und nichts kompiziertes machen. Wenn nun aber in Thread A und Thread B etwas "kompliziertes" berechnet wird, oder sogar Funktionsaufrufe vorhanden sind, kann das eine HT-CPU nicht mehr. Es ist halt immer noch 1 CPU. Ein 2 CPU-System ist dann immer schneller, da ja 2 "echte" CPU's vorhanden sind, die auch unabhängig auf den Speicher zugreifen können.

Um die Sache mit den Prio's noch weiter zu treiben, kann auch ein Thread mit der niedrigsten Priorität das System auf 100% Auslastung bringen. Nämlich dann, wenn dieser Thread der einzige Thread ist, der gerade was zu tun hat. Er wird allerdings sofort unterbrochen, wenn ein Thread mit höherer Prio etwas zum Arbeiten bekommt.

Ich würde ein 2 Prozessor-System mit 512 MB einsetzten. Das ist allerdings mit P4-Systemen teuer. Ob das mit AMD billiger geht weiss ich erlich gesagt nicht. Ich setzte nur INTEL-Rechner ein.