LabVIEWForum.de
Rechner Auslastung mit Labview - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Rechner Auslastung mit Labview (/Thread-Rechner-Auslastung-mit-Labview)



Rechner Auslastung mit Labview - regis57 - 24.09.2012 13:42

Hallo zusammmen, hier mal allgemeine Fragen zur Prozessorauslastung mit Labview

Meine Labview-Anwendung verarbeitet Daten und empfängt Daten aus eine externe Schnittstelle (Automat) über PXI Karten.
Die Abarbeitungszeiten von meinen Schleifen sind nicht konstant (spricht dafür dass manchmal die Verarbeitungszeiten länger werden), gleichseitig steigt die Rechnerauslastung während der Verarbeitung an.

Mein Rechner ist einen Pentium 4 Single Core Prozessor, 3Ghz,und Windows XP Betriebssystem ausgestattet.

Fragen:

1) Was wäre die optimale Rechneraustattung für diese Labview Umgebung?
2) Würde einen Multi-Core Prozessor wirklich einen Vorteil bringen?
3) Beherrscht Labview multi-threading?
D. H. ich weiss dass man Schleifen Prozessorkernen zuordnen kann,heisst dies das Labview grundsätzlich für multi-threading geeignet ist?
4) Unterstüzt Labview einen 64Bit Prozessor?

Gruß Reg57


RE: Rechner Auslastung mit Labview - jg - 24.09.2012 14:07

(24.09.2012 13:42 )regis57 schrieb:  Mein Rechner ist einen Pentium 4 Single Core Prozessor, 3Ghz,und Windows XP Betriebssystem ausgestattet.

Fragen:

1) Was wäre die optimale Rechneraustattung für diese Labview Umgebung?
Lässt sich nicht direkt beantworten, zu wenig Infos (z.B. LV-Version). Allgemein, ist nicht mehr die neueste Kiste, aber wenn das Ding mit 2 Gig RAM ausgerüstet ist, dann kann es auch ausreichen. Hängt von deiner Anwendung ab.
(24.09.2012 13:42 )regis57 schrieb:  2) Würde einen Multi-Core Prozessor wirklich einen Vorteil bringen?
Schon möglich, aber wie unter 1, zu wenig Daten.
(24.09.2012 13:42 )regis57 schrieb:  3) Beherrscht Labview multi-threading?
D. H. ich weiss dass man Schleifen Prozessorkernen zuordnen kann,heisst dies das Labview grundsätzlich für multi-threading geeignet ist?
Ja, ja, und nochmals ja. LabVIEW kann das schon lange.
(24.09.2012 13:42 )regis57 schrieb:  4) Unterstüzt Labview einen 64Bit Prozessor?
Ja, und das ganz unabhängig, ob die LabVIEW in der 32bit oder 64bit Variante zur Verfügung steht! Wenn nicht, dann könntest du schon seit Ewigkeiten z.B. kein Win XP 32 bit mehr verwenden.

Gruß, Jens


RE: Rechner Auslastung mit Labview - Kiesch - 24.09.2012 14:12

Ich werd mich mal an einer Antwort versuchen:

Generell gilt: Alles was nicht explizit seriell abgearbeitet werden muss (Datenfluss / Datenabhängigkeit; Sequenzstruktur) wird parralel verarbeitet. Heist: Prinzipiell kann je nach Anwendung die Anwendung profitieren (wenn die sowieso so programmiert ist das nur seriell abgearbeitet wird, natürlich nicht).

64 Bit LV gibt es wohl, war aber nach dem letzten was ich gehört hab teilweise eingeschränkt was Gerätetreiber angeht - eventuell stehen also nicht alle Geräteschnittstellen so wie bei 32Bit zur Verfügung (und ein 32 Bit LV läuft natürlich auch auf nem 64 Bit Prozzi, proffitiert aber davon nicht).

Was dein Problem angeht: Sukzessives Langsamer werden spricht für ein Leak in deinem Code. Häufige Ursachen sind wohl immer wieder neu Schnittstellen öffnen (könnte ich mir bei dir vorstellen); daher: Neue Referenz auf die Schnittstelle holen (in jedem Schleifendurchlauf), statt die Alte nach einmaligem Öffnen weiterzuverwenden oder ähnliches. Gibt wohl auch bestimmte Labview eigene Speicherleaks die dazu führen können (die nicht am Code sondern an LV liegen) - da kann ich aber konkret nix zu sagen, da kennen sich andere besser mit aus ^^

Hoffe das hilft dir zumindest ein bisschen weiter.


RE: Rechner Auslastung mit Labview - Lucki - 24.09.2012 14:26

Zitat Jens:
Ja, und das ganz unabhängig, ob die LabVIEW in der 32bit oder 64bit Variante zur Verfügung steht! Wenn nicht, dann könntest du schon seit Ewigkeiten z.B. kein Win XP 32 bit mehr verwenden.

Das ist ja interessant! Ist das vielleicht so zu verstehen, dass man mit einem 32Bit Labview Anwendungen für ein 64 Bit-System erstellen kann? Gibt es dafür einen Schalter im Applikation Builder, mit dem man das einstellen kann, oder wie läuft das?


RE: Rechner Auslastung mit Labview - jg - 24.09.2012 14:59

(24.09.2012 14:26 )Lucki schrieb:  Das ist ja interessant! Ist das vielleicht so zu verstehen, dass man mit einem 32Bit Labview Anwendungen für ein 64 Bit-System erstellen kann? Gibt es dafür einen Schalter im Applikation Builder, mit dem man das einstellen kann, oder wie läuft das?
Eher Nein, nur ein wenig ja. Mit der LV-32bit Version erstellst du eine 32bit-Applikation. Die läuft aber dank Windows und der Prozessor-Hersteller Intel und AMD unter:
- Windows 32-bit mit 32bit Prozessor
- Windows 32-bit mit 64bit Prozessor
- Windows 64-bit mit 64bit Prozessor

Gruß, Jens


RE: Rechner Auslastung mit Labview - oenk - 25.09.2012 06:11

Unser PXI System ist ein WinXP mit einem 2GHz Pentium M mit 2GB RAM.

Es laufen 2AIO Karten mit je 2IN und 2OUT (22kHz Samplerate), eine DIO (7MHz), eine Relay, eine DCPower und ein .NET Treiber für das DUT parallel und synchron und das über mehrere Stunden. Die Prozessorlast liegt im Mittel bei rund 10%.

Erreicht wurde das durch effiziente Ringpuffer, setzten des "Prefferred Execution System" (keine Ahnung wie das im deutschen LV heisst) auf entwerder "user interface", "instrument I/O" oä und einer sauberen Architektur.
Das grösste Problem dabei war der .NET Treiber, da das Teil sehr ressourcen-hunrig ist.

Die Optimierung der SW so dass die auf dem SingleCore läuft hat sicher einiges an arbeit gekostet. Kurzfristig wäre es sicher günstiger gewesen einen neuen, leistungsstärkeren PC zu kaufen. Langfristig fahren wir so aber besser, da die SW optimal und robust läuft. Fehlende CPU Ressource ist oftmals auf schlechte/nicht optimale Programmierung zurückzuführen...


RE: Rechner Auslastung mit Labview - regis57 - 25.09.2012 06:57

Hallo zusammen, Danke für Ihren Beiträge
Hier eine Ergänzung an meine Fragen

(24.09.2012 14:07 )jg schrieb:  
(24.09.2012 13:42 )regis57 schrieb:  Mein Rechner ist einen Pentium 4 Single Core Prozessor, 3Ghz,und Windows XP Betriebssystem ausgestattet.

Fragen:

1) Was wäre die optimale Rechneraustattung für diese Labview Umgebung?
Lässt sich nicht direkt beantworten, zu wenig Infos (z.B. LV-Version). Allgemein, ist nicht mehr die neueste Kiste, aber wenn das Ding mit 2 Gig RAM ausgerüstet ist, dann kann es auch ausreichen. Hängt von deiner Anwendung ab.
(24.09.2012 13:42 )regis57 schrieb:  Meine LV ist 2010, 1) Was wäre die optimale Rechneraustattung für diese Labview Umgebung?


2) Würde einen Multi-Core Prozessor wirklich einen Vorteil bringen?
Schon möglich, aber wie unter 1, zu wenig Daten.
(24.09.2012 13:42 )regis57 schrieb:  z.B einen vierkern Prozessor?

3) Beherrscht Labview multi-threading?
D. H. ich weiss dass man Schleifen Prozessorkernen zuordnen kann,heisst dies das Labview grundsätzlich für multi-threading geeignet ist?
Ja, ja, und nochmals ja. LabVIEW kann das schon lange.
(24.09.2012 13:42 )regis57 schrieb:  Heisst dass, das unabhängig von meinen Applikationsaufbau, Labview sich seine Task auf verschiedene Kerne teilt?

4) Unterstüzt Labview einen 64Bit Prozessor?
Ja, und das ganz unabhängig, ob die LabVIEW in der 32bit oder 64bit Variante zur Verfügung steht! Wenn nicht, dann könntest du schon seit Ewigkeiten z.B. kein Win XP 32 bit mehr verwenden.

Das heisst dass eine Labview 32 bit Version nicht besser laufen würde auf einen 64 bit Prozessor?

Danke im Voraus
Gruß, Reg57



RE: Rechner Auslastung mit Labview - Falk - 25.09.2012 19:27

(24.09.2012 14:59 )jg schrieb:  - Windows 64-bit mit 64bit Prozessor

Gibt es Leistungsunterschiede zwischen derselben Applikation als 32-bit und 64-bit Variante oder sind die vernachlässigbar gering? Überlegen nämlich auch gerade ob wir auf LV 64-bit umsatteln, müssen dann nichtsdestotrotz aber wohl 32-bit Versionen weiter pflegen.

Schöne Grüße
Falk