![]() |
Bruno Fanini (Bryan) |
![]() |
|
Alessandro Leardi | aleleardi at hotmail.com | |
Michele Serra | free_styler at libero.it |
C.D.L. Informatica, Corso di Simulazione - Università di Bologna
Il simulatore di nostra creazione
MMG-Sim è stato sviluppato nel corso di alcuni mesi come progetto per il
corso
di Simulazione in Informatica. Emula un ambiente disribuito tramite una
simulazione (per il momento) centralizzata.
Si tratta di un’ implementazione di un gioco multiplayer vero e proprio, dotato di
un’ architettura distribuita di Servers di supporto tramite i quali diversi
clients interagiscono con un Virtual World segmentato in partizioni (ognuna
gestita da un Server). L’esecuzione prevede l’osservazione
dell’evoluzione dell’intera realtà simulata tramite settaggio di parametri di
input e conseguente generazione di files di output. Gli scopi principali del
simulatore sono la valutazione di Scalabilità e Workload, oltre alla
valutazione del comportamento di nuovi meccanismi da noi ideati e sperimentati,
come il Tile SubMap Control, Object Locking, CV-Map ed altri che sono spiegati
nella relazione del progetto.
Moduli in C :
I presenti sorgenti (5.400 righe di codice C in totale circa) al momento non sono disponibili
(o almeno non tutti).
Il file .zip da scaricare contiene l'eseguibile MMG.exe (deve essere lanciato
nella stessa cartella in cui sono presenti i files di Input *.txt).
All'interno in ogni caso sono presenti spiegazioni molto più dettagliate.
Il simulatore può sopportare
anche carichi molto pesanti di calcoli, con un alto numero di clients e servers
inizializzati, ma è bene prestare attenzione ai files di Log che raggiungono
- con alcuni parametri - dimensioni dell’’ ordine dei 50 Mbytes ed all’ingente quantità di memoria
dinamica che viene allocata dal simulatore.
Nel caso in cui la grafica
OpenGL dia problemi, disattivarla dal file di ingresso “inputGenSim.txt”.
Il simulatore MMG-Sim è stato testato su un 1.8 Ghz con 256 Mb di SDRAM
e scheda grafica nVidia GeForce4.
|
Schermata principale (F1) - Visualizzazione Workload di Servers e Clients : carico di lavoro dei buffers per message passing di servers correnti (centro), carico dei clients (destra) e stato corrente - idle o busy - dei vari moduli dei servers (alto). |
|
Schermata 2 (F2) - Visualizzazione partizione corrente Server-side. Buffers di recezione/invio messaggi (alto), modulo FrontEnd (basso), vista avatar corrente Client-side (alto destra). |
|
Schermata 3 (F3) - Visualizzazione partizione (server) corrente in dettaglio, con griglia, partizionamento in tiles e campo visivo avatars (Subscribed Areas). |
|
Schermata 4 (F4) - Visualizzazione Client-Side con canali di sottoscrizione e memoria visiva. |