|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2006
Città: a casa mia
Messaggi: 610
|
[C++] Parallelizzare un simulatore
ho completato la realizzazione di un simulatore di una rete (una banyana estesa per chi se ne intende) per ricavarne la probabilità di blocco.
Il funzionamento è esclusivamente seriale, cioè vengono eseguiti diversi run della simulazione, uno dopo l'altro, per migliorare l'intervallo di confidenza del risultato. Sono però convinto che sia possibile eseguire in parallelo più simulazioni (almeno n per core) e restituire il risultato (che sono solo 2 numeri: connessioni totali arrivate e connessioni perse in un intervallo di tempo) ad un processo "padre" che ne calcola la statistica. il codice attuale è: Codice:
double clock=0.0; //start transient
event* ev;
while (clock<Trslen){
ev=cal->get();
ev->body();
clock=ev->time;
delete(ev);
}
clear_stats();
clear_counters(); //end transient
int current_run_number=1;
while(current_run_number<=NRUNmin){ //start simulation cicle
while (clock<(current_run_number*Runlen+Trslen)){
ev=cal->get();
ev->body();
clock=ev->time;
delete(ev);
}
update_stats();
print_trace(current_run_number); //end simulation cicle
clear_counters();
current_run_number++;
}
com'è possibile parallelizzarne l'esecuzione in windows? Purtroppo non so molto su questo tipo di approccio. grazie
__________________
"Se facessimo tutto ciò che siamo capaci di fare, rimarremmo letteralmente sbalorditi." Thomas A. Edison |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2006
Città: a casa mia
Messaggi: 610
|
up, ho trovato le librerie boost. E' un inizio?
__________________
"Se facessimo tutto ciò che siamo capaci di fare, rimarremmo letteralmente sbalorditi." Thomas A. Edison |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:03.



















