ZIO I/O framework

Con oggi abbiamo fatto il primo passo per far entrare il progetto ZIO nel kernel ufficiale: abbiamo inviato delle patch come RFC.

ZIO è un nuovo framework per l’acquisizione dati (ma anche output) per grosse quantità di dati.

Dobbiamo far andare gli acceleratori del CERN e il mio compito iniziale era quello di analizzare i framework esistenti (COMEDI e IIO) e decidere quale fosse il migliore per fare i driver per le loro schede. Dato che entrambi non vanno bene ho iniziato a pensare a questo nuovo framework con l’aiuto di Alessandro Rubini. Alla fine abbiamo sviluppato ZIO, al CERN piace e lo useranno; speriamo piaccia anche ai linuxiani.

Se vi interessa il progetto è ospitato sull’open hardware repository http://www.ohwr.org/projects/zio

:hammer: mi piace chi sviluppa implementa.

A fo de cursa…!!
…Chissà mailga penserà che questo framework serva per acquisire quanti anni deve ancora lavorare prima della pensione… e che il Cern sia a Calatafimi, ma intanto ti faccio i miei complimenti per il target centrato.
Good work!

e che un vero tunnel lo collega ai laboratori del gran sasso

notevole.

suppongo che sia scritto in c.

avete usato un filesystem specifico ?

ma è bidirezionale ?

grazie

Sì, i moduli del kernel son scritti solo in C. Per adesso è solo un RFC per vedere cosa ci siam persi. Se tutto va bene diventerà un nuovo subsystem del kernel tipo: input, hwmon & friends.

Questa domanda non la capisco.
Se ti riferisci al modo in cui salviamo i dati … questo dipende dalle implementazioni di buffer. Noi forniamo un’interfaccia per sviluppare i propri buffer e farli funzionare con il core di ZIO, quindi ognuno può fare le sue scelte se vuole salvarli su disco o altro. Attualmente forniamo un buffer che salva in memoria e poi ritorna allo spazio utente i dati. A livello kernel un framework del genere non penso debba fare storage dei dati, ma solo gestire la transizione dal device ai programmi che poi se vorranno li salvano dove vogliono, ma deve essere una decisione dell’utente, non un’impositione nostra

Facciamo sia input che output. Il nostro caso d’uso sono centinaia di MB di campioni che vengono e che vanno al secondo. Sia analogici che digitali.

Il design è robusto a nostro parere, adesso ci stanno criticando alcune scelte per essere accettati nel kernel.

I primi di febbraio assieme al team del CERN presenteremo il progetto al FOSDEM 2012 a bruxelles http://fosdem.org/2012/, oltre che il progetto whiterabbit (al quale non lavoro)

risposta molto esauriente.
la mia domanda era dettata dalla questione :
visto che si tratta di una enorme quantità di dati da processare e stoccare se avevate pensato la cosa per un filesystem preciso oppure se ne era indipendente.

molto interessante.
Solo tu e Rubini avete sviluppato la cosa ?

Sì, abbiamo iniziato agosto/settembre. Ma ci sarà ancora altro lavoro perché vogliamo dare supporto anche al double buffering per lo streaming e alla lettura multi-thread dallo spazio utente; sappiamo come risolvere il problema ma aspettiamo che mi laureo. Per codificare ZIO non ho codificato il testo della mia tesi e devo consegnarlo fra poco :smiley: Sarà una schifezza ma pazienza, il lavoro è buono. Poi ve la linkerò quando sarà ora (mi laureo il 15-12-2011)

in bocca al lupo !

Crepi!

Se a qualcuno dovesse interessare la tesi che ho scritto e presento il 15/12/2011 ve la posso mandare in PDF via mail.

Il testo non corrisponde al 100% con il framework sviluppato, perché questo è in continua evoluzione quindi è possibile che alcuni dettagli differiscano dall’ultima versione. Il testo si riferisce alla Beta2 di ZIO poco oltre.

Poi questa tesi, risistemata, diventerà il manuale utente che verrà costantemente aggiornato

E’ scritta in un pessimo inglese, quindi perdonatemi :slight_smile:

la leggerò con piacere…

Discusso il progetto.
110 e lode

Complimenti! :smiley:

molto benissimo !:slight_smile: