problem mit paralellen schleifen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: problem mit paralellen schleifen (/Thread-problem-mit-paralellen-schleifen) |
problem mit paralellen schleifen - gottfried - 30.05.2007 08:55 Hallo, ich würge an einem großen Programm das auch mit parallelen Schleifen arbeiten sollte (der Rechner hat 4 Prozessoren und ich erwarte mir eine bessere Lastverteilung mit paralellen Schleifen). Das VI mit dem Problem ist gross und verwendet spezialisierte Hardware deswegen habe ich es nicht upgeloadet. Das Problem: manchlal laufen alle dreiSchleifen, manchmal steht eine, manchmal stehen zwei Schleifen (ich lasse mir den Schleifenindex ausgeben). In den Schleifen ist (siehe Bild) jedesmal nicht nur ein Wait sondern (wenn die Schleife länger als das Wait brauchen würde), ein Wait im Datenfluss eingebaut. Das Ding verbraucht im Moment wenig Rechenzeit (~1%). Im Diagramm gibt es KEINE Datenverbindungen (Drähte) zwischen den Schleifen (ausser am Eingang), allerdings lokale Variable - aber das sollte ja egal sein. Hat jemand eine Idee? Hat jemand eine Idee wie man sowas debugt? Ich sehe nirgends eine "race condition" die dann eine Schleife nicht anlaufen lässt - muss es (?) aber doch wohl sein? Danke Gottfried problem mit paralellen schleifen - Achim - 30.05.2007 12:14 Poste wenigstens mal nen screenshot deines BD mit den vier Schleifen! A. problem mit paralellen schleifen - gottfried - 30.05.2007 18:02 ' schrieb:Poste wenigstens mal nen screenshot deines BD mit den vier Schleifen! Hallo ich uploade das VI (einmal ohne die SubVIs) bitte um Kommentare .... ähhh ausser dass es zu gross ist Vielen Dank Gottfried problem mit paralellen schleifen - gottfried - 30.05.2007 18:10 Hallo, den Wartepart in der obersten Schleife habe ich dem Hochladen herausgenommen (sorry). Als vorläufige Lösung (nicht dieses VI) habe Alles in eine Schleife gepackt - dann ist das Ding mehr als tröge - funktionert aber OK. Vielen Dank für Kommentare Gottfried problem mit paralellen schleifen - Achimedes - 30.05.2007 19:08 Hallo, du musst eine gemeinsame zB Bool Variable an jede Schleife anschliessen, dann laufen sie gleichzeitig los. wenn sie nur so nebeeinander liegen sucht sich LV nach lust und laune aus welche sie wann oder zusammen laufen läßt. [attachment=6930] [attachment=6931] grüße Achimedes problem mit paralellen schleifen - gottfried - 31.05.2007 07:34 Hallo, aber sie müssten doch auch so loslaufen? Danke für den Tipp Gottfried problem mit paralellen schleifen - Lucki - 31.05.2007 08:47 ' schrieb:Hallo,Das sehe ich einerseits auch so, und andererseits müssen sie selbst mit der angeschlossenen boolschen Konstante noch lange nicht gleichzeitig loslaufen. Synchron, d.h Frequenzstarr und ohne "Phasenverschiebung", laufen die Schleifen nur, wenn man die Uhren durch Metronome ersetzt. Diese warten nicht einfach 200ms, sondern ticken alle 200ms in Bezug auf die absolute Systemzeit. Die drei Metronome geben ihre Ticks alle gleichzeitig ab, bei den normalen Uhren muß man immer mit Phasenverschiebungen und langzeitlichen Phasenänderungen rechnen. Es gibt eine generelle Empfehlung, für parallel laufende Schleifen immer Metronome statt Uhren zu verwenden. Jetzt rede ich etwas ins Unreine, denn so genau habe ich mir Dein VI nicht angesehen. Es gibt ebenfalls eine Empfehlung, Sequenzen möglichst zu vermeiden, da sie den freien Datenfluß behindern oder blockieren können. Prüfe doch mal nach, ob evtl. solche Sequenzen die Ursachen für den Fehler sein könnten. problem mit paralellen schleifen - gottfried - 31.05.2007 10:41 Hallo, ich möchte nur das die Dinger irgendwie loslaufen, also keinerlei Phasenbedingungen sin erforderlich. Tun es aber nicht (oder nur manchmal). Dake |