Domanda

Domanda:

  • In che modo la simulazione al computer, in genere richiede molte risorse?

Ad esempio, Simul8 : un pacchetto di simulazione di eventi discreti - perché è computazionale intensivo, quali fattori (calcoli) contribuiscono a questo?

È stato utile?

Soluzione

La simulazione di eventi discreti è un termine estremamente ampio; puoi simulare qualsiasi cosa, da uno stand di limonata, a transazioni e logistica di una multinazionale, a sistemi software complessi, a nuove architetture informatiche che non esistono ancora (e sono molto più complesse e avanzate rispetto alla macchina su cui viene eseguita la simulazione).

Userò un esempio dal mio campo (architettura del computer), ma i modi in cui è computazionalmente costoso dovrebbero generalizzare abbastanza bene. Molte volte, stai cercando di simulare un sistema distribuito, che molti agenti in qualche modo indipendenti con la loro logica di controllo più semplice, che insieme implementano una dinamica molto complessa. Nel caso dei sistemi informatici, il set di lavoro combinato del simulatore è almeno grande quanto lo stato architettonico, microarchitetturale e di memoria di tutti i componenti costituenti messi insieme. Se ogni componente è anche modestamente complesso, ciò significa che la tua località temporale e spaziale mentre completi ogni timestep della simulazione viene drasticamente ridotta. Lo scarso utilizzo della cache implicito dalla necessità di eseguire l'intero set di lavoro ogni timestep può influire sulle prestazioni di uno o due ordini di grandezza. Questo modello è inevitabile, in quanto l'esecuzione di ciascun componente in modo indipendente per più timestep e l'unione periodica dei risultati è problematica, tanto più il sistema è complesso e accoppiato.

Inoltre, spesso si desidera mantenere tutti i tipi di statistiche che introducono un notevole sovraccarico di spazio e tempo al di sopra della simulazione del componente.

In breve, il limite inferiore è la somma della complessità di tutti i componenti della simulazione. In pratica, viene introdotta molta inefficienza se si hanno molti componenti, se i componenti sono più complessi o addirittura sostanzialmente diversi rispetto al computer host su cui viene eseguita la simulazione e se si dispone di una quantità significativa di strumentazione.

Un'ultima cosa: la simulazione di eventi discreti spesso comporta l'inserimento di elementi nelle code e la ricerca della coda in cui posizionare una richiesta in base all'inseguimento di un gruppo di puntatori. Queste operazioni sono difficili da parallelizzare, complicando ulteriormente le cose. Tuttavia, come ho detto prima, il termine "simulazione di eventi discreti" può comprendere qualsiasi cosa, dal banale all'impossibile, quindi è difficile estrarre schemi generali.

Altri suggerimenti

La simulazione al computer di solito esegue rapidamente più scenari e li confronta.

Ad esempio, le simulazioni finanziarie in genere vengono eseguite con una simulazione monte-carlo con molte migliaia di viene eseguito.

  

Una simulazione può in genere coinvolgere   oltre 10.000 valutazioni del modello,   un compito che in passato era solo   pratico usando super computer.   - http://www.vertex42.com/ExcelArticles/mc/MonteCarloSimulation.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top