[LatinaLUG] I/O asincrono, davvero ;)

Sandro Mosca stoke95@gmail.com
Ven 24 Ago 2012 14:32:32 CEST


L' I/O che "non si blocca" è semplicemente un nome, ovvio che un I/O per *
definizione* si blocchi prima o poi. Comunque se hai altri link sarebbe
sicuramente interessante leggere qualche paper, magari più complesso di
quello che mi hai inviato (ie. qualcosa ai livelli di phrack, non so se
conosci)

Ovviamente si può programmare con I/O asincrono in qualsiasi linguaggio, il
problema è che alcune volte è abbastanza ostico. Node.js è un framework che
sta avendo molto successo, perché:

 1) E' Javascript

2) Rende la programmazione asincrona veramente, *veramente *semplice.

Per quanto riguarda la complessità delle richieste, se si usano anche altre
lib asincrone (ovviamente se l'I/O è asincrono, lo saranno anche i socket,
se lo sono i socket, le lib per l'accesso a qualsiasi db saranno asincrone)
non c'è un vero e proprio calo: transloadit (https://transloadit.com/) è un
servizio per l'encoding di video, audio ed immagini, basato completamente
su node.js, e difficilmente riesco a pensare a delle richieste più
complesse di quelle.

Il giorno 24 agosto 2012 08:54, Roberto Polli <robipolli@gmail.com> ha
scritto:

> Penso che per i talk vada benissimo un argomento più leggero ;)
>
> Il libro te lo consiglio per cultura personale perché è molto bello. Mi.fa
> piacere che un giovane conosca tutte ste cose.
>
> Se invece ne sai già abbastanza e volessi approfondire ulteriormente fai
> sapere e ti giro altri link.
>
> Sull'io asincrono, ovviamente esiste. Non è un io «che non si blocca» ma è
> appunto asincrono. Se non si blocca all'inizio si bloccherà alla fine :P
>
> E che non dipende dal linguaggio di programmazione ma dal programmatore ;)
>
> Su nginx ok, ma distingui la capacità di processare tante richieste da
> quella di processare richieste complesse.
>
> Sono curioso sulla tua proposta di talk: sarà sicuramente interessante.
>
> Se hai qualcosa di più pesante considera la possibilità di partecipare a
> qualche conferenza: gli mandi paper on line e se  lo accettano bella per te.
>
> Pace,R
>  Il giorno 23/ago/2012 23:30, "Sandro Mosca" <stoke95@gmail.com> ha
> scritto:
>
> Allora mi sa che non ci siamo capiti dall'inizio.
>>
>> Quel libro è sull'I/O base di linux (che tral'altro già conosco). Se
>> volevo fare un talk su come il kernel gestisce l'accesso ai file lo dicevo
>> da subito.
>>
>> Libuv (https://github.com/joyent/libuv) è una lib cross-platform per
>> l'astrazione di altre librerie (IOPL e libev), che servono proprio per
>> utilizzare l'async I/O, che per inciso *esiste, *e consiste
>> semplicemente nel fatto di avere la possibilità di continuare l'esecuzione
>> del programma senza aspettare che l'input sia completamente arrivato.
>>
>> L'async I/O e la conseguenziale programmazione event-driven stanno avendo
>> molto successo, poiché diventa molto più semplice gestire problemi
>> concorrenziali, la memoria usata è molto bassa (essendoci un numero
>> limitato e predefinito di thread), e per le sue performance molto
>> soddisfacenti.
>>
>> Un classico esempio di server http buildato con questa tecnologia è nginx
>> (http://nginx.org/), so che una volta era usato da youporn (possiamo ben
>> immaginare che tipo di richieste deve processare un web server in caso di
>> un sito così conosciuto e di contenuto così spinto).
>>
>> Il giorno 23 agosto 2012 21:43, Roberto Polli <robipolli@gmail.com> ha
>> scritto:
>>
>>> Per l'i/o asincrono può interessarti questo. Nei capitoli su read e
>>> write illustra molto bene le problematiche dell'i/o, l'uso delle cache, ...
>>>
>>> LibUv ovviamente è un' altra cosa ;)
>>>
>>> Pace, Rob
>>>
>>> http://seesee.pbworks.com/f/linux.pdf
>>>
>>> _______________________________________________
>>> http://www.llg.it
>>> latina mailing list
>>> latina@lists.linux.it
>>> http://lists.linux.it/listinfo/latina
>>>
>>>
>>
>> _______________________________________________
>> http://www.llg.it
>> latina mailing list
>> latina@lists.linux.it
>> http://lists.linux.it/listinfo/latina
>>
>>
> _______________________________________________
> http://www.llg.it
> latina mailing list
> latina@lists.linux.it
> http://lists.linux.it/listinfo/latina
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/latina/attachments/20120824/9307f32d/attachment.htm>


Maggiori informazioni sulla lista latina