Intelligenza collettiva, altre definizioni 3°

 

Concludo la terna con degli esempi di varie forme di inteligenza collettiva: political parties, military units, trade unions, and corporations:

__Queste 3 nuvole le trovo molto evocative

Coordinazione ... immagino una figura di nuoto sincronizzato
     Cooperazione ... immagino
una touche del rugby, i piloni alzano il saltatore durante una touche
           Cognition~Conoscenza ... immagino le conquiste appena consolidate e la nascita di nuove idee per il futuro durante una retrospective

Fonte: http://en.wikipedia.org/wiki/Collective_intelligence 

Tags :   |  |  |  |  |  |  |

Progettazione di applicazioni multi-threading 2°


 L a progettazione comincia con la scelta di un modello di programmazione della applicazione multi-threading da queste 2 cose:

  • In che modo il disegno renderà riconoscibili gli oggetti che vengono eseguiti su/attraversati da più thread e avranno bisogno di una gestione della concorrenza?

    Una nota tecnica utile, la gestione della concorrenza serve quando thread diversi scrivono sullo stesso  field della classe oppure uno ci scrive e un altro ci legge. Queste sono chiamate le condizioni di Bernstein [1]


  • Quale politica di gestione dello stallo verrà seguita e come il disegno la renderà evidente e aiuterà ad applicarla in modo consistente in tutta la applicazione ?

    La condizione di stallo è quando un thread per proseguire la sua elaborazione ha bisogno di allocare (mettere un lock) a un field di classe che però già allocato a sua volta da un secondo thread ... che è fermo ad aspettare un'altra risorsa allocata dal primo. [2]

    Si sceglierà una tecnica di prevenzione del deadlock (ad esempio allocando contemporaneamente tutti i lock necessari a una elaborazione oppure acquisendo lock sempre seguendo uno stesso ordine) o una tecnica di riconoscimento del deadlock in corso e limpiego di provvedimenti per uscirne (tipo il rollback di uno dei thread in deadlock).

    Oppure nel caoso specifico sarà possibile adottare  una strutturazione degli oggetti tali da evitare del tutto necessità di wait/lock e quindi lo stesso deadlock [3]

 
[1] A.J. Bernstein, "Program Analysis for Parallel Processing" IEEE Trans. on Electronic Computers, EC-15, October 1966
[2] Richard C. Holt: Some Deadlock Properties of Computer Systems. ACM Comput. Surv. Vol.4 Num.3, Sett 1972
[3]  Maurice Herlihy, "Wait-free synchronization" ACM TOPLAS Vol.13 Num.1, Genn 1991

Tags :   |