Calcolo distribuito: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m ortografia
ortografia
Riga 64:
L'informatica cerca di capire quali problemi computazionali si possono risolvere usando un computer ([[teoria della computabilità]]) e quanto efficientemente ([[teoria della complessità computazionale]]). Tradizionalmente è come dire che un problema può essere risolto usando un computer se possiamo scrivere un [[algoritmo]] che produce una soluzione corretta per qualsiasi istanza data. Un tale algoritmo può essere implementato come un software che viene eseguito su un generico computer: il programma legge l'istanza del problema da un [[input]], esegue dei calcoli, e produce la soluzione come output. Formalismi come macchine ad accesso casuale o [[Macchine di Turing|macchine universali di Turing]] possono essere usati come modelli astratti di un generico computer sequenziale che esegue un tale algoritmo.
 
Il campo del calcolo concorrente e distribuito studia questioni simili nel caso di molti computer, o un computer che esegue una rete di processi interagenti: quali problemi computazionali possono essere risolti in una tale rete e con quale efficienza? Tuttavia non è così evidente cosa significhi risolvere un problema nel caso di sistemi concorrenti o distribuiti: per esempio, qual è il compito del progettista dell'algoritmo e qua'qual è l'equivalente concorrente e/o distribuito per un generico computer?
 
La discussione sotto si concentra sul caso di molti computer, comunque molte di queste questioni sono le stesse per i processi concorrenti eseguiti su un singolo computer.