Question

Question:

  • En quoi la simulation par ordinateur nécessite-t-elle généralement beaucoup de ressources?

Par exemple, Simul8 : un package de simulation d'événement discret - pourquoi s'agit-il d'un calcul intensive, quels facteurs (calculs) y contribuent?

Était-ce utile?

La solution

La simulation d'événements discrets est un terme extrêmement large. vous pouvez simuler n'importe quoi, d'un stand de limonade à une multinationale en matière de transactions et de logistique, en passant par des systèmes logiciels complexes, de nouvelles architectures informatiques qui n'existent pas encore (et sont beaucoup plus complexes et avancées que la machine sur laquelle la simulation est exécutée).

Je vais utiliser un exemple de mon domaine (architecture informatique), mais la complexité de son coût en termes de calcul devrait assez bien généraliser. Plusieurs fois, vous essayez de simuler un système distribué comprenant de nombreux agents quelque peu indépendants, dotés de leur propre logique de contrôle plus simple, qui implémentent une dynamique très complexe. Dans le cas des systèmes informatiques, l'ensemble de travail combiné du simulateur est au moins aussi grand que l'état architectural, microarchitectural et mémoire de tous les composants constituants combinés. Si chaque composant est même modérément complexe, cela signifie que votre localité temporelle et spatiale au fur et à mesure que vous terminez chaque étape de la simulation est considérablement réduite. L'utilisation médiocre du cache, liée à la nécessité d'exécuter l'ensemble du jeu de travail complet, peut affecter les performances d'un à deux ordres de grandeur. Ce schéma est inévitable, car exécuter chaque composant indépendamment pour plusieurs pas de temps et ne faire que fusionner les résultats périodiquement est problématique, et plus encore, plus votre système est complexe et couplé.

De plus, vous souhaitez souvent conserver toutes sortes de statistiques qui introduisent une surcharge de temps et d’espace supplémentaire au-dessus de la simulation du composant.

En bref, votre borne inférieure est la somme de la complexité de toutes les composantes de votre simulation. En pratique, il y a beaucoup d'inefficacité introduite si vous avez de nombreux composants, si vos composants sont plus complexes ou même sensiblement différents que la machine hôte sur laquelle la simulation est exécutée, et si vous en avez beaucoup de l'instrumentation.

Une dernière chose: la simulation d’événements discrets implique souvent de placer des éléments dans des files d’attente et de rechercher la file d’attente dans laquelle placer une requête en fonction du suivi d’un groupe de pointeurs. Ces opérations sont difficiles à mettre en parallèle, ce qui complique davantage les choses. Cependant, comme je l’ai mentionné précédemment, le terme "simulation d’événements discrets" peut englober n'importe quoi, du plus simple au plus impossible, il est donc difficile d'extraire des schémas généraux.

Autres conseils

La simulation informatique exécute généralement plusieurs scénarios rapidement et les compare.

Par exemple, les simulations financières utilisent généralement une simulation de monte-carlo avec plusieurs milliers de fonctionne.

  

Une simulation peut généralement impliquer   plus de 10 000 évaluations du modèle,   une tâche qui dans le passé était seulement   pratique en utilisant des super ordinateurs.   - http://www.vertex42.com/ExcelArticles/mc/MonteCarloSimulation.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top