Ripeto che si tratta di blocchi programmabili a piacimento. Io ho implementato solo alcune funzioni base (blocco sommatore, moltiplicatore, ritardatore, guadagno, duplicatore, etc, etc), ma è possibile estendere la libreria implementando nuove operazioni. Poi il come e il perchè verrà usato il tutto dipende unicamente dall'utilizzatore.Originariamente inviato da oregon
Vale quello che ti ho detto e che ti ho chiesto ... anche se non li crei tu, che ci fai con tutti quei thread (per dirla diversamente, cosa fa il programma con tutti questi calcoli paralleli)?
L'obiettivo per il momento sarà fare una struttura che prenda N input da N sensori di natura diversa, li elabori secondo operazioni che li porti ad essere confrontabili tra loro, e che poi effettui il data-fusion. Poichè il numero, il tipo e la sensibiltà dei sensori, oltre all'ambiente in cui verranno piazzati, può variare parecchio, la libreria è aperta e configurabile. Il numero ed il tipo delle operazioni da effettuare su ogni input generato dai sensori dipende da mille fattori, per cui i blocchi che eseguono queste operazioni possono essere aggiunti, eliminati, spostati, modificati, etc, il tutto runtime.
Il problema è che, ripeto, ognuno di questi blocchi (o per essere esatti, ogni porta di input di ciascun blocco) da' vita ad un nuovo thread nel momento in cui riceve un input da elaborare. Per cui mi chidevo, dato che non ho ancora avuto modo di fare test sulle prestazioni e sull'utilizzo di risorse, se tutto questo porti a svantaggi di qualche genere (pensavo anche ad un eventuale sovraccarico dello scheduler del SO, che potrebbe andare in tilt, consumare troppa memoria, rallentare il processo, o altro di simile. Anche considerato che si tratta di una libreria che, ahime', girerà sotto windows).

Rispondi quotando