Corso di Sistemi 4

Frequently asked questions

1) si possono fare grafici con gnuplot senza dovere immettere i comandi a mano?

2) come si crea un nuovo user-profile per Modline?

3) Dove sono esempi di modelli Qnet già pronti da poter studiare?

4) Dove trovo i semi del minimal standard?

5) Dove trovo informazioni su ns-2?

1) si possono fare grafici con gnuplot senza dovere immettere i comandi a mano?

Ovviamente si, ed è la scelta che vi consiglio. La cosa funziona così: supponiamo che siano stati generati alcuni file relativi alle osservazioni o stime di un parametro del sistema, al variare di un fattore (es. la stima del throughput al variare del numero utenti ). Abbiamo quindi un file che raccoglie i dati del throughput del sistema A (nome del file: Thr_sist_A) con questo contenuto:

2 0.543 0.537 0.560
4 0.789 0.775 0.812
10 1.23 1.15 1.40
....
200 22.34 20.65 24.18

Ogni riga del file contiene 4 valori separati da almeno un blank: il primo valore (facoltativo) è il valore del fattore numero di utenti (2,4,10...200) ovvero il valore in ascissa del grafico per il quale vale la stima che segue, poi c'è il valore centrale della stima del throughput (obbligatorio), e quindi i due estremi (facoltativi) dell'intervallo di confidenza per la stima. In sintesi, il minimo richiesto è un file di dati con un dato su ogni riga: in tal caso tutti i valori sono mostrati nel grafico con l'ascissa incrementata di una unità. Nel caso venga specificato il valore del fattore (2,4,10,...200) i valori della stima saranno invece inseriti alla distanza corretta, secondo l'ascissa (cioè per x=2, x=4, x=10...).

A questo punto potremmo avere diversi file di questo tipo (es. Thr_sist_A e Thr_sist_B), e intendiamo mostrare il confronto tra i sistemi A e B nello stesso grafico (ovviamente, per quanto visto prima, entrambi i grafici devono avere o non avere entrambi l'etichetta relativa al valore del fattore a cui la stima fa riferimento, altrimenti le curve che ottengo non sono messe in alcuna relazione utile al confronto).

Per ottenere il grafico posso quindi creare un file di testo con estensione (.gp): ad esempio "grafico_throughput.gp" simile a questo:


1 set terminal postscript eps
2 set size 1,1
3 set output "grafico_throughput.ps"
4 set title "Confronto del throughput sistemi A e B"
5 set xlabel "Numero di utenti nel sistema"
6 set ylabel "Throughput del sistema"
7 set xtics (2, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200)
8 set yrange [0.0:0.9]
9 set key 180,0.64
10 plot [2:200] \
11 "Thr_sist_A" title "sistema A" with lines 1, \
12 "Thr_sist_A" notitle with errorbars, \
13 "Thr_sist_B" title "Sistema B" with lines 2, \
14 "Thr_sist_B" notitle with errorbars

15 show key
16 show xlabel
17 show ylabel
18 show output


La numerazione delle righe è stata inserita per i riferimenti che seguono (e va omessa).
Va considerato che molte delle righe presenti sono opzionali (vedere help di gnuplot per i dettagli).

In generale ogni riga corrisponde a un comando che è possibile invocare dalla shell dell'applicazione gnuplot.

Riga 1: specifica il tipo di grafico creato (postscript)
2: specifica la dimensione (standard 1,1) della figura: alterando uno degli indici si ottiene la modifica delle proporzioni Orizz. e Verticale
3: specifica il nome del file di output creato (il grafico)
4: specifica l'etichetta Titolo del grafico
5: specifica l'etichetta dell'ascissa
6: specifica l'etichetta dell'ordinata
7: specifica esplicitamente i valori dell'ascissa per i quali si vuole un'etichetta valore
8: specifica il range dell'ordinata che si vuole mostrare nel grafico
9: specifica la posizione della legenda del grafico (x,y)
10: questa è l'invocazione del comando che crea il grafico. [2,200] rappresenta il range di valori di ascissa (delle osservazioni) da graficare. Notare che si fa riferimento al valore specificato in colonna 1 del file, oppure all'indice ordinale dell'osservazione. [,] causa la graficazione di tutti i dati disponibili. Notate che il carattere \ (backslash) determina un "a capo" senza interruzione della linea. Il comando splot permette di creare grafici 3D z=f(x,y), ma per questo potete vedere l'help.
11: questo è il primo parametro del comando plot: Tra "" occorre inserire il path/nome del file di dati da graficare. Può seguire (sulla stessa linea) il parametro title "testo del titolo della linea nella legenda del grafico" (oppure notitle) e quindi il parametro with lines 1, oppure with errorbars.
Nel caso specificato si usa with lines, il che implica un grafico per linee (le alternative sono molte, vedi help). Il valore 1 indica il tipo di linea usata per differenziare le curve (1,2,3,4,5....)
12: questo parametro ripete il file precedente, in quanto questa linea indica l'inclusione nel grafico degli intervalli di confidenza (errorbars) per le osservazioni su colonna 3 e 4 del file Thr_sist_A.
13 e 14: vedi 11 e 12 per il file B. N.B. le linee 11 e 12 possono essere estese a molti altri file di dati....

Le linee finali servono a mostrare e includere nel file grafico i componenti inclusi nella definizione.

A questo punto, basta invocare gnuplot con argomento il file.gp e ottenete il grafico (salvo errori). That's all folks!

Torna su!

 

2) come si crea un nuovo user-profile per Modline?

Il manuale in linea e': file:///scsusr/software/simulog/modline/doc.dir/user.html

I dettagli vorrei darli a lezione (la prossima settimana), ma per i più impazienti....(comunque prudenza! e segnalate via e-mail eventuali problemi)

I passi da 1 a 5 sono da fare solamente la prima volta che si utilizza il simulatore.
N.B. consiglio di fare una copia della configurazione di ambiente originale, a scanso di sorprese nell'utilizzo di applicazioni predefinite (es. latex).

1) Collegarsi ad una macchina del cluster SUN (attraverso ssh)
2) cd /scsusr/software/simulog/modline
3) make user (tutte le scelte di default che il programma propone possono essere accettate senza problemi)
A questo punto e' stato creato il file .modlinerc.csh nella popria home.
Per rendere attiva la nuova configurazione occorre tornare nella propria home:
4) cd
ed eseguire:
5) source .cshrc

Per cominciare un progetto potete creare un oggetto "dir" tramite:

6) make dir NAME=name_you_want
poi entrate nella nuova cartella creata e lanciate il workbench grafico (sotto X):
7) xdtm (X desktop manager)

Torna su!

3) Dove sono esempi di modelli Qnet già pronti da poter studiare?

Li potete scaricare da

/scsusr/software/simulog/modline/packages.toolbox/qnet.tool/demo.dir/ in formato tar.gz.

Basta copiarli nella propria home e scompattare il tutto, poi procedere come abbiamo visto a lezione.

Leggete il README che si trova nella stessa cartella per avere informazioni su cosa rappresentano i modelli e quali sono le loro caratteristiche peculiari.

Torna su!
 

4) Dove trovo i semi del minimal standard?

Grazie a Paolo Geminiani, che ha copiato i dati in una tabella HTML.

X 100000 i

1
727633698
1061288424
276090261
721958466
1808217256
373135028
1521138112
706178559
1341315363
851767375
263032577
X 100000 (i+1)

46831694
933588178
1961692154
1066728069
1371272478
2095021727
717419739
298370230
110356601
709314158
606179079
753643799
X 100000 (i+2)

1841581359
804159733
1227283347
209208115
675466456
1769349045
881155353
1140279430
884434366
591449447
1500869201
202794285
X 100000 (i+3)

1193163244
1671059989
1171034773
554590007
1095462486
904914315
1489529863
1335826707
962338209
431918286
1434868289
715851524

Torna su!
 

5) Dove trovo le info su ns-2?

Tcl/Tk 8.x : http://dev.scriptics.com
OTcl, TclCL, ns-2, nam-1 : http://www.isi.edu/nsnam/ns/

Torna su!