Cassandra Crossing/ Elaborazione parallela, pensiero sequenziale

di Marco Calamari - La storia del computing insegna qualcosa, qualcosa che riguarda il modo in cui gli umani apprendono e crescono. Tutto cambia, anche le modalità di calcolo ed elaborazione. Anche quelle umane. Ma è un bene o un male?

Roma – Accade talvolta che questioni apparentemente lontane possano fondersi in un ragionamento nuovo, magari interessante, forse anche corretto.
È appunto questo il caso di questa pagina, che è il frutto di alcune mie conoscenze pregresse di elaborazione parallela, un po’ di tempo passato ai margini (molto ai margini) del web 2.0 e delle comunità sociali, la partecipazione ripetuta ai compiti a casa di seconda elementare della mia nipotina Sofia che ha risvegliato i miei ricordi di come si studiava quanto ero alle elementari, e buon ultimo il recente ascolto di alcuni seminari tenuti da informatici di altissimo profilo.

Un computer di generazione appena un po’ più vecchia di quelli attuali è in grado in linea di massima di eseguire una istruzione per volta su un dato per volta; dovendo eseguire più istruzioni sullo stesso dato, oppure la stessa istruzione su più dati, queste operazioni devono essere eseguite in maniera strettamente sequenziale.
Tralasciamo in questa sede gli effetti di tecnologie ormai comuni, come cache di primo e secondo livello, elaborazione speculativa e CPU multi core, che non cambiano almeno qualitativamente questa situazione.
I supercomputer di qualche anno fa erano solitamente computer paralleli di tipo SIMD (Single Instruction Multiple Data – singola istruzione su dati multipli) o, più brevemente, “computer vettoriali”.
Erano più veloci perché, quando possibile, potevano eseguire, pur con una sola CPU, la stessa operazione su un set di dati diversi, come nel caso del famosissimo Cray; ad esempio durante la moltiplicazione di un vettore per una costante.

Il beneficio era pero’ ottenuto solo per calcoli di tipo particolare, che coinvolgessero matrici o vettori (ingegneria strutturale, simulazioni), ma per programmi normali, come un word processor, sarebbero stati del tutto inutili.
Il progresso dell’informatica ha portato a computer paralleli di tipo MIMD (Multiple Instruction Multiple Data – istruzioni multiple su dati multipli) ed a computer massivamente paralleli, dotati questi ultimi di moltissimi processori, quindi effettivamente in grado di eseguire (se il software ce la fa!) molte operazioni diverse contemporaneamente.

Ora non è possibile affermare con certezza che l’uomo sia una “macchina sequenziale”, le neuroscienze infatti hanno dubbi in proposito, e singoli individui hanno mostrato, in situazione controllata, di avere certe capacità “sovrumane” che mettono in dubbio questo assunto.

Gli uomini, però, certamente non sono computer… Nello scorso millennio comunque l’educazione primaria insegnava a svolgere sempre i compiti in maniera sequenziale; i metodi di risoluzione dei problemi delle elementari, gli stessi libri di testo favorivano e vincolavano comunque ad una educazione al pensiero sequenziale.
L'”attenzione” – sempre ci ripetevano – “deve essere dedicata ad un compito per volta”.

Se questo assecondi nell’uomo una struttura neuronale sostanzialmente sequenziale, almeno per il pensiero astratto e speculativo, o piuttosto educhi una struttura capace di parallelismo ad un comportamento sequenziale, non è certo argomento che possa essere trattato qui.
In ogni caso, secoli di storia svolti con pensieri sequenziali hanno portato l’uomo molto lontano; di nuovo se questo sia un bene od un male male è argomento degno di ben altre sedi di discussione. In qualche modo quindi il pensiero sequenziale è efficace.

Nel mio caso, ed in quello di molti miei coetanei, questo ci ha portato ad una laurea ed un lavoro, compiti che hanno confermato per ciascuno di noi la capacità di gestire con successo un flusso informativo grande (per l’epoca) in maniera sequenziale.
Poi ci sono stati i cambiamenti nel modello educativo primario, e la pretesa di vincolare i bambini a metodi molto rigidi e ad una gestione stretta della propria attenzione si è rilassata. Malgrado questo, Sofia, 7 anni, sembra una bambina decisamente sveglia e quindi, come minimo, sembra che questo cambiamento non stia facendo del male.

Ma poco dopo sono arrivati i nuovi media e la Rete, ed i flussi informativi che devono essere gestiti dalle nuove generazione (ed anche dalle vecchie!) sono aumentati di ordini di grandezza.

Gli “adulti” sono ormai vincolati dall’educazione al pensiero sequenziale, e possono solo agire sull’attenzione selettiva per elaborare almeno una parte del flusso informativo.
Cosa succeda invece ai “giovani” è questione, almeno per me, assolutamente non evidente.

Certamente una “normale” sessione pomeridiana al computer implica per loro fare più cose contemporaneamente.
Supponiamo che stiano studiando, elaborando per esempio una tesina con un word processor; contemporaneamente hanno attiva la posta elettronica, un paio di instant messenger, Skype, Twitter, una ricerca su Google, un aggregatore di notizie, ascoltano musica ed hanno il cellulare sempre pronto a squillare per telefonate o SMS in arrivo.

In questo contesto i “giovani” usano un pensiero puramente sequenziale? Certamente non gestiscono l’attenzione in maniera “old style” selettiva e concentrata; se vi capitasse di poter esaminare una situazione di questo tipo, percepireste chiaramente il tentativo di fare più cose contemporaneamente, suddividendo se non il pensiero almeno l’attenzione.

Suddividere l’attenzione funziona, lo si puo’ vedere empiricamente, in situazioni prevedibili, non creative e nemmeno di apprendimento; ad esempio il tipico lavoro di officina.

La domanda che mi sono posto è: “Suddividere l’attenzione funziona anche in situazioni non strutturate ma anzi di pensiero creativo?” Di nuovo non saprei, ma è una domanda davvero interessante.
E ancora più difficile, interessante e forse preoccupante è la domanda conseguente: “Funziona anche in situazioni di apprendimento primario, di modellazione del pensiero cosciente, come nella fanciullezza ed alle elementari?”

Non è una questione di meglio o peggio, di efficienza minore o maggiore.
È piuttosto possibile che da una quindicina d’anni accanto a noi adulti stia invece crescendo una generazione di “marziani”? Di persone in parte diverse “dentro”, che porteranno avanti il mondo in maniera assai diversa.

Dicono che porre una buona domanda risolva già a metà un problema, percio’ ho fatto la mia parte e mi fermo qui.

Marco Calamari

Tutte le release di Cassandra Crossing sono disponibili a questo indirizzo

La tua email sarà utilizzata per comunicarti se qualcuno risponde al tuo commento e non sarà pubblicato. Dichiari di avere preso visione e di accettare quanto previsto dalla informativa privacy

  • Francesco scrive:
    Link diretto alla pagina..chiedo troppo?
    Come da oggetto, notizia molto interessante, ma come al solito (leggo PI da qualche anno) non riesco a trovare un link diretto alla pagina del progetto. Provvedo io http://research.microsoft.com/projects/boku/
  • mosilon scrive:
    SQL?
    la programmazione in generale richiede un qualsiasi tipo di sql oppure un generico access/excel - ora mi chiedo, è possibile fare programmazione senza un database?
    • come no scrive:
      Re: SQL?
      ma che stai dicendo???
    • Resto Anonimo scrive:
      Re: SQL?
      ma cosa hai scritto???che centra il database, è ovvio che ci sarà un database di base, ma che domande !!ma un pò di logica no?
    • anonimo scrive:
      Re: SQL?
      Più che altro, per programmare è necessaria una SOA con scappellamento della supercazzola sul framework; in più, meglio agire sulle matrici di tracciatura dell'antani, così da introdurre i piccoli all'uso del rational unified process, e non solo al paradigma model, view, scappellamento a destra. O bu'aiola, tu mi tradisciii....
  • Massimo scrive:
    Non creiamo una generazione di nerd !
    I piccoli hanno bisogno di socializzare, non diventare dei rimbambiti programmatori... per passare il resto della propria vita davanti allo schermo.
    • pippo lacoca scrive:
      Re: Non creiamo una generazione di nerd !
      Disse il tizio seduto davanti al PC....
      • smarty scrive:
        Re: Non creiamo una generazione di nerd !
        penso ke ognuno sia libero di scegliere....comunque l'idea di avvicinare la programmazione ai ragazzi non la trovo così malvagia
    • Uby scrive:
      Re: Non creiamo una generazione di nerd !
      - Scritto da: Massimo
      I piccoli hanno bisogno di socializzare,E chi glielo impedisce?
      non diventare dei rimbambiti programmatori...Perchè un programmatore sarebbe rimbambito?Al contrario, se un programmatore è bravo quasi sicuramente è anche sveglio ed intelligente.
      per passare il resto della propria vita davanti allo
      schermo.Classico luogo comune.
    • Resto Anonimo scrive:
      Re: Non creiamo una generazione di nerd !
      ma che socializzare !! oggi la socializzazione significa incontrarsi rubare stereo aggredire insultare in gruppo o magari abboffarsi di spinelli e droghe varie, meglio che si chiudono in casa davanti ad uno schermo e si acculturano e pensano allo sviluppo di nuove tecnologie, l'ignoranza è il cancro che ha tramortito sempre il mondo, internet è l'unico mezzo che riesce ad acculturare , quindi più metodi ci sono per legare una persona ad internet, meglio è. cosi hanno l'obbligo di evolversi !!! W le nuove tecnologie , w tutto quello che internet rappresenta il mondo è cambiato,
    • Alex scrive:
      Re: Non creiamo una generazione di nerd !
      Meglio una generazione di nerd che sappiano far qualcosa e sappiano utilizzare in modo produttivo il loro cervello, che una generazione di fannulloni analfabeti che si rincoglioniscono davanti ai videogames e vanno a drogarsi in discoteca o ad ammazzarsi di botte allo stadio invece di guardare dello sport come del resto la gente fa da secoli nel resto del mondo ;)
    • aistu scrive:
      Re: Non creiamo una generazione di nerd !
      - Scritto da: Massimo
      I piccoli hanno bisogno di socializzare, non
      diventare dei rimbambiti programmatori... per
      passare il resto della propria vita davanti allo
      schermo.Hai perfettamente ragione!! Io a mia figlia le ho regalato il calendario della Surina e a mio figlio l'album figurine di Costantino il tronista! Pensa che la domenica, allo stadio, ci divertiamo un sacco ad urlare "Arbitro Cornuto" e "Sbirro infame" dalla curva. Beh ora esco, andiamo a noleggiare "Natale sul Nilo" per stasera.
  • Epimenide scrive:
    Alice
    A parte il Logo, già ricordato, non mi sembra poi così diverso da quello che si propone Alice, del compianto Pausch:http://en.wikipedia.org/wiki/Alice_(software)http://www.alice.orgche oltretutto ha l'indubbio vantaggio di essere multipiattaforma...
  • H5N1 scrive:
    Logo
    Qualcuno ricorda il Logo?
  • Filo scrive:
    Bella roba
    "Non c'è naturalmente bisogno di scrivere nemmeno una singola linea di codice per programmare con Boku".....E cosa vuoi imparare?
    • z f k scrive:
      Re: Bella roba
      - Scritto da: Filo
      "Non c'è naturalmente bisogno di scrivere nemmeno
      una singola linea di codice per programmare con
      Boku".....

      E cosa vuoi imparare?Beh, il mettere in sequenza certe azioni, rispondere a certi input con un'altra sequenza di azioni, condizionare il funzionamento a seconda del valore di certi parametri...Insomma, programmazione.CYA
    • Dude scrive:
      Re: Bella roba
      Basta vendere di più.Una volta l'uso del computer era una prerogativa degli esperti, poi Microsoft (insieme ad Apple e Commodore) hanno tentato di farlo passare per qualcosa che può essere usato da qualsiasi idiota per poter vendere anche agli incompetenti (e ci sono riusciti). Dopo all'uso del computer tocca alla programmazione: prima Visual Basic ed ora questo...
      • Windows scrive:
        Re: Bella roba
        - Scritto da: Dude
        Basta vendere di più.
        Una volta l'uso del computer era una prerogativa
        degli esperti, poi Microsoft (insieme ad Apple e
        Commodore) hanno tentato di farlo passare per
        qualcosa che può essere usato da qualsiasi idiota
        per poter vendere anche agli incompetenti (e ci
        sono riusciti). Dopo all'uso del computer tocca
        alla programmazione: prima Visual Basic ed ora
        questo...In verità si parla di introdurre i bambini nel mondo della programmazione. Qua lo considerate come linguaggio.. Ma le conoscete le mezze misure? Da piccoli vi è mai capitato di usare il Logo? Quella specie di tartarughina(che poi ho sempre visto un triangolo) che eseguiva quelle banali istruzioni? Posso dirvi che a me l'hanbno fatto usare alle elementari e... guardate un po'... a 13 anni usavo Visual Basic, ma non perchè sapevo programmare, solo perchè avevo capito cosa si intende per "programmare"
        • ... scrive:
          Re: Bella roba
          Hey io usavo il basic su un Atari già nell'85, avevo sei anni. Usavo, non m'inventavo nulla, a limite cambiavo qualche valore per osservare il risultato, mi divertivo così. Che tempi! (geek)
    • G,G scrive:
      Re: Bella roba
      Guarda che per imparare a programmare o l'informatica in generale non serve nemmeno il computer!!!Dai un occhiata qui, Geniale!!!http://csunplugged.org/
      • Teo_ scrive:
        Re: Bella roba
        - Scritto da: G,G
        Guarda che per imparare a programmare o
        l'informatica in generale non serve nemmeno il
        computer!!!

        Dai un occhiata qui, Geniale!!!

        http://csunplugged.org/Bellissimo!
    • gcf scrive:
      Re: Bella roba
      quoto, almeno non ruberanno la piazza agli sviluppatori :)
    • Dedrisproject scrive:
      Re: Bella roba
      se si mettevano a far imparare pure il codice il progetto era improponibile, invece cosi iniziano a farti appassionare e poi chi vuole si specializza in vari parti del tool e inizia a scrivere codici, cosa pretendevi? ma di manovre di marketing ne capite?
Chiudi i commenti