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 

CPU Last steigt langsam -> Konzeptfehler?



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!

12.05.2014, 14:25
Beitrag #1

B.Buerkert Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Dec 2013

2013 DeveloperSuite
2013
DE


Deutschland
CPU Last steigt langsam -> Konzeptfehler?
Hy,
ich habe auf meinem Desktop RT 3 zeitgesteuerte Schleifen.
Jeder Schleife ist eine "Aufgabe" sowie einem CPU Kern zugeordnet.

Auf dem FPGA werden die Signale von 32 Sensoren erfasst.
Ist von einem Sensor eine gewisse Anzahl an Messwerten erfasst so werden diese als "Paket" mit einem Erkennungsmerkmal in einen DMA FIFO geschrieben.
Anhand des Erkennungsmerkmals werden die gelesenen Daten aus dem DMA FIFO auf dem RT System gelesen, zugeordnet und verarbeitet.

Konzept auf dem RT System ist folgendes:
1te Schleife: Liest Daten von einem FPGA DMA FIFO und schreibt sie in einen RT FIFO.
2te Schleife: RT FIFO lesen,die Messwerte dem richtigen Sensor zuordnen und in ein Array schreiben.

Noch umzusetzen ist:
3te Schleife: Die Werte im Array lesen und gemäß dem Sensorprotokoll umrechnen, formatieren und in einer Datei speichern.

Probleme gibt es mit Schleife 2, die CPU Auslastung vom Kern 2 steigt langsam an, bis irgendwann 100% erreicht werden.
Die Ursache ist mir noch unklar, da die Schleife 2 ja nichts anderes macht als Werte in das dazugehörige Array zu schreiben.

Nun die Frage was verursacht diesen Anstieg der CPU Last und wie kann Abhilfe geschaffen werden?

Gruß,
Ben Blush
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 14:35
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: CPU Last steigt langsam -> Konzeptfehler?
Welche Einstellungen hast du beim RT-FIFO gewählt? Polling beim Lesen, wenn der RT-FIFO eigentlich leer ist, treibt die CPU-Last auf 100%.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 15:10
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: CPU Last steigt langsam -> Konzeptfehler?
Hallo Ben,

Zitat:Die Ursache ist mir noch unklar, da die Schleife 2 ja nichts anderes macht als Werte in das dazugehörige Array zu schreiben.
Du arbeitest hier aber nicht mit BuildArray (oder gar InsertIntoArray)?
Du nutzt schon ein Array fester Länge und ReplaceArraySubset? Oder einen RT-FIFO, falls er ins Konzept passt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 15:12
Beitrag #4

B.Buerkert Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Dec 2013

2013 DeveloperSuite
2013
DE


Deutschland
RE: CPU Last steigt langsam -> Konzeptfehler?
Es ist beim Lesen sowie beim Schreiben Polling gewählt.

Ich lasse mir die Anzahl der vorhanden Elemente im RT FIFO permanent anzeigen,
leer wird er nie.

Ich habe jetzt zum Testen beim Lesen auf Blocking gestellt und das ganze für 10min laufen lassen.
Eine Veränderung lässt sich an der CPU Auslastung nicht feststellen.

Sie steigt immer noch permanent, nach 10min bei 23% Auslastung.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 15:15 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2014 15:17 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: CPU Last steigt langsam -> Konzeptfehler?
23% finde ich noch nicht schlimm, zumindest wenn sich die CPU-Last irgendwann einpendelt.

Aber die Rückfrage von Gerd ist berechtigt: "In ein Array schreiben", was machst du da genau? Allozierst du an dieser Stelle dynamisch Speicher? Das wäre durchaus ein Grund für steigende CPU-Last.
EDIT: Hierzu zusätzlich Speicherverbrauch und "größten zusammenhängenden Speicherblock" überwachen.

Ansonsten, zu wenig Infos, da müsstest du mal dein VI posten.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 15:27
Beitrag #6

B.Buerkert Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Dec 2013

2013 DeveloperSuite
2013
DE


Deutschland
RE: CPU Last steigt langsam -> Konzeptfehler?
Hy,
Aktuell nutzte ich die Funktion "In Array einfügen" da ich mit dem Programm tagelang die Sensorsignale aufzeichnen und auswerten möchte.
Daher kann ich keine Aussage treffen wie groß das Endarray sein soll.

Nächste Punkt ist das die Auslastung der CPU bei einem Sensor diese Werte erreicht, vermute stark das mit 32 Sensoren das so wie es jetzt programmiert ist nicht funktionieren wird.

VI sieht noch etwas chaotisch aus Wink


Angehängte Datei(en)
13.0 .vi  Testing_1_Sensor_2Channels.vi (Größe: 170,07 KB / Downloads: 220)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 15:30
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: CPU Last steigt langsam -> Konzeptfehler?
Hallo Ben,

Zitat:Aktuell nutzte ich die Funktion "In Array einfügen" da ich mit dem Programm tagelang die Sensorsignale aufzeichnen und auswerten möchte.
Wie befürchtet - und eben falsch…

Schau bitte in die LabVIEW-Hilfe, da gibt es ein eigenes Kapitel zum Umgang mit großen Datenmengen! Und das trifft auf ein (ggü. einem PC) deutlich eingeschränktes RT-Target noch mehr zu!

- Bitte immer mit Arrays fester Länge arbeiten. ReplaceArraySubset nutzen!
- "Tagelange Messung" heißt nicht automatisch, dass man diese Messdaten auch alle im Speicher halten muss…

Kannst du das VI nochmal in LV2011 speichern?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 15:33
Beitrag #8

B.Buerkert Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Dec 2013

2013 DeveloperSuite
2013
DE


Deutschland
RE: CPU Last steigt langsam -> Konzeptfehler?
Bitteschön Smile


Angehängte Datei(en)
11.0 .vi  Testing_1_Sensor_2Channels.vi (Größe: 475,42 KB / Downloads: 208)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 15:39 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2014 15:41 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: CPU Last steigt langsam -> Konzeptfehler?
Hallo Ben,

- Du definierst deinen RT-FIFO mit "9000 Elemente pro Array", liest aber aus dem FPGA-FIFO nur Datenblöcke knapp über 900 Elemente. Warum diese Verschwendung an Speicher? Hilfe zur Funktion lesen!
- Ersetze die Arrays variabler Größe durch Arrays fester Größe in deiner unteren Schleife. Es gibt keinen Grund, Daten von "mehreren Tagen" im Speicher zu halten…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 15:40
Beitrag #10

B.Buerkert Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Dec 2013

2013 DeveloperSuite
2013
DE


Deutschland
RE: CPU Last steigt langsam -> Konzeptfehler?
Hy,
ich werde die Änderungen umsetzten.

Melde mich dann mit den Ergebnissen.

Vielen Dank schonmal.
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
  Network Stream -> Allocated Memory steigt dauerhaft B.Buerkert 4 9.219 04.06.2014 11:21
Letzter Beitrag: jg

Gehe zu: