INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Parallele Ausfuehrung



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.03.2010, 13:54
Beitrag #1

SteffenSI Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 64
Registriert seit: Nov 2008

8.6
2007
en

69115
Deutschland
Parallele Ausfuehrung
Hallo,

ich bin gerade dabei einen zeitkritischen Programmteil etwas zu optimieren. Ich habe dabei versucht, alles so anzulegen, dass LabVIEW Aufgaben die unabhaengig voneinander sind parallel ausfuehren kann (hoffe das dies einen Zeitvorteil mit sich bringt). Nun bin ich mir aber gar nicht sicher, ob und wann LabVIEW bestimmte Codeabschnitte in unabhaengige Threads packt.

Von NI bin ich mal auf das BeispielVI gestossen, in dem mehrere Schleifen unabahaengig voneinander laufen. Dort wurde gesagt, dass jede dieser Schleifen wohl ihren eigen Thread bekommt und diese dann tatsaechlich parallel ablaufen. Aber wie sieht es beispielsweise aus, wenn ich einfach verschiedene VIs nebeneinander packe? werden die parallel ausgefuehrt?

Ich habe einen Screenshot angehaengt, der so einen aktuellen Fall aus meinem Programm zeigt (bitte auf das error wiring achten - es sollten 3 VIs "parallel" ausgefuehrt werden). Ist dies in meinem Beispiel der Fall?

Viele Gruesse,
Steffen


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.03.2010, 14:00
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Parallele Ausfuehrung
Hallo Steffen,

grundsätzlich laufen Programmteile parallel, wenn es keine Datenabhängigkeit zwischen ihnen gibt.

Es gibt natürlich noch ein paar Sonderregeln:
- wird das gleiche VI mehrfach aufgerufen, so muss es reentrant sein für "echte" Parallelabarbeitung
- es sollte natürlich nicht auf die gleiche Hardware/Resource zugegriffen werden - da wird die Parallelität zumeist vom Treiber unterbunden bzw. "gehandhabt"
- wenn nur ein CPU-Core zur Verfügung steht, bringt dir die Parallelität meist wenig...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2010, 14:52 (Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2010 14:55 von IchSelbst.)
Beitrag #3

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Parallele Ausfuehrung
' schrieb:Dort wurde gesagt, dass jede dieser Schleifen wohl ihren eigen Thread bekommt und diese dann tatsaechlich parallel ablaufen.
Mit Thread ist hier nicht unbedingt ein Thread auf CPU-Ebene gemeint. "Parallel" kann auch nur heißen, dass, obwohl jeder Prozess für sich z.B. 5 Sekunden dauert, sie zur selben Millisekunde starten und ende können. "Parallel" bezieht sich also eher auf die Ausführung auf Anwenderebene, nicht unbedingt auf die CPU-Core-Ebene. Ein Timesharing, das für parallele Ausführbarkeit ausreicht, kann sowohl die LV-Runtime als auch das Betriebssystem machen.

While-Schleifen, SubVI's, im allgemeinen also Prozesse, werden, guckst du die Einschränkungen von GerdW, in diesem Sinne parallel ausgeführt. Einen Zeitvorteil bringt die Parallelität natürlich nur dann, wenn ausreichende Hardwareressourcen vorhanden sind.

Zitat:(bitte auf das error wiring achten - es sollten 3 VIs "parallel" ausgefuehrt werden).
Welche drei VIs sollen parallel ausgeführt werden?

Nachtrag:
Sind die drei VIs: camera, filterwh und m_syst? Da sag ich jetzt: Die werden parallel ausgeführt. Beachte aber die Einschränkungen wegen gemeinsamer Ressoursen!

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2010, 19:43
Beitrag #4

SteffenSI Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 64
Registriert seit: Nov 2008

8.6
2007
en

69115
Deutschland
Parallele Ausfuehrung
Vielen Dank ihr beiden!

Eine Frage habe ich noch!

Wenn ich den Code in EINEM VI vorliegen habe, kann ich gewissen Abschnitte einer hoeherer Prioritaet unterstellen? (dem Flaschenhalsprozess meines Programms moechte ich gerne hoechste Prioritaet verleihen). Oder muss ich diese Abschnitte dafuer in ein extra SubVI packen?

Gruesse,
Steffen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2010, 20:00
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Parallele Ausfuehrung
' schrieb:Wenn ich den Code in EINEM VI vorliegen habe, kann ich gewissen Abschnitte einer hoeherer Prioritaet unterstellen?
Zeitgesteuerte While-Schleifen können Priorität haben. Guckst du in der Hilfe "Priorität".

Zitat:Oder muss ich diese Abschnitte dafuer in ein extra SubVI packen?
Bei SubVIs kannst du die Priorität so hoch einstellen - dass der Rest nicht mehr funktioniert.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Parallele Frequenz-Datenerfassung mit NI-9401 ArneS 5 3.078 18.02.2021 09:41
Letzter Beitrag: GerdW
  parallele Ausführung von for-loops stsc 5 4.312 24.07.2019 15:12
Letzter Beitrag: stsc
  Parallele Ausführung mehrerer Sub-Vis Anna1988 21 12.242 20.07.2015 11:51
Letzter Beitrag: Anna1988
  Parallele Sub-VI dbuckl 1 4.064 07.10.2013 15:09
Letzter Beitrag: GerdW
  Parallele pausierte For-Schleife Chillkroete1206 7 4.971 15.02.2013 17:59
Letzter Beitrag: Trinitatis
  Parallele Queue Struktur eurostar 14 10.647 29.01.2013 09:26
Letzter Beitrag: Y-P

Gehe zu: