software concettuale è uno strumento progettato per facilitare la rapida generazione di programmi che misurano le prestazioni e / o testare la correttezza delle reti e dei livelli di protocollo di rete.
centri concettuale intorno ad un specifico dominio programmazione-linguaggio semplice; poche righe di codice concettuale in grado di produrre programmi che richiederebbero molto più sforzo di scrivere in un linguaggio di programmazione tradizionale.
Uno degli obiettivi di concettuale è di aumentare il benchmarking rete da un'arte a una scienza. A tal fine, i programmi concettuale log non solo i dati di misura, ma anche una ricchezza di informazioni sul setup sperimentale, rendendo facile per qualcun altro per riprodurre i test di performance.
Esempio
numreps è "Numero di ripetizioni" e proviene da "--reps" o "r", con 100 di default.
Per numreps ripetizioni più 2 ripetizioni di riscaldamento e {
compito 0 azzera i suoi contatori poi
task 0 invia un messaggio 1 megabyte al compito 1 allora
compito 1 invia un messaggio 1 megabyte al compito 0 allora
compito 0 logs elapsed_usecs / 2 come "latenza unidirezionale (us)" e
la mediana di (total_bytes / elapsed_usecs) * 1E6 / 1M come "Bandwidth (MB / s)"
}
I dati vengono memorizzati in un formato facile da parse Comma-Separated Value (CSV) con la prima riga di intestazioni di colonna presi direttamente dal programma. La seconda fila di intestazioni indica come sono stati aggregati i dati di ogni colonna.
Che cosa è importante, tuttavia, è tutte le altre informazioni nel file di registro. file di log concettuali sono destinati a funzionare come un quaderno di laboratorio, tra cui non solo i risultati di un esperimento, ma anche una precisa descrizione del setup che ha portato a questi risultati. Quanti processori sono nel mio sistema? Quanto sono veloci? Quali compilatore e le opzioni del compilatore sono stati utilizzati per compilare semplice? Quali parametri da riga di comando sono stati passati al programma? E 'tutto nel file di registro.
I file di registro elenca anche il codice sorgente del programma completo quindi non c'è ambiguità su ciò che è stato misurato. È possibile guardare un file di log concettuale di un anno nel futuro e ancora sapere esattamente che cosa il lotto misurazioni rappre più utile di una prova di efficienza che sputa fuori solo 397,2 e richiede di ricordare ciò che si riferisce a.
- Il linguaggio supporta ora list comprehension e messaggio taggato riceve
- Il backend dot_ast include una nuova opzione --compress disegnare AST di un programma con & quot; interessante & quot; nodi eliso.
- Due nuovi benchmark delle prestazioni sono inclusi nella distribuzione.
- La deviazione assoluta media è stato aggiunto alla serie di statistiche che possono essere raccolti.
- loop temporizzati sono più precisi.
- Diversi bug sono stati corretti.
Cosa c'è di nuovo nella versione 1.3:
- Un nuovo paraver back end genera tracce logico-time per il Paraver visualizzatore.
- Un nuovo back-end libsea_ast genera una descrizione di AST di un programma interattivo di rendering 3-D con il visualizzatore Tricheco.
- L'istruzione RECEIVE ora può propagarsi ambiti sia source-to-target o target-to-sorgente, se necessario.
- Imposta di attività può essere let-legato a un identificatore per un comodo riutilizzo.
- I programmi possono calcolare le coordinate, set di vicini, e distanze su 1-D della maglia / 2-D / 3-D, toro, toro e topologie ora parziali.
- molti-a-uno e molti-a-molti multicast sono ora supportati dal C + MPI back end.
Cosa c'è di nuovo nella versione 1.1:
- La versione 1.1 del concettuale è in gran parte una release bug-fix - - un sacco di
- piccolo, piccole correzioni di bug che interessa principalmente la costruzione concettuale
- processo. Tuttavia, il linguaggio concettuale non fornisce un utile nuovo
- caratteristica: La IS IN costrutto ora accetta serie di numeri, proprio come il
- per ogni costrutto. Ad esempio, i programmi concettuale può ora includere
- affermazioni come la seguente:
- Attività t tale che t è {2, 5, 8, ..., num_tasks-1} SEND A
- 32 kilobyte MESSAGGIO DI COMPITI R tale che R è in {t-1, t-2}.
- La sintassi precedente intervallo per IS IN (ad esempio, & quot; T è in [3, 10] & quot;) è ora
- deprecato come la nuova sintassi, impostare fornisce una corretta superset della
- funzionalità gamma di sintassi (ad esempio, & quot; t è {3, ..., 10} & quot;).
- Programmi costruiti con v1.1 concettuali hanno eseguito con successo in tutti
- 147.456 nuclei (36.864 nodi) di Alba, il sistema IBM BlueGene / P
- installato presso il Lawrence Livermore National Laboratory.
- Il autopackage concettuale è ormai costruito come un ibrido 32 pacchetto / 64-bit.
- Esegui coNCePTuaL_1.1.package su un sistema x86 a 32 o 64 bit,
- e dovrebbe installare automaticamente le librerie corrette per che
- piattaforma.
- Vedere il registro delle modifiche per i dettagli completi di tutto ciò che è
- cambiato dalla versione 1.0.
Cosa c'è di nuovo nella versione 1.0:
- concettuale non richiede più imparare un nuovo linguaggio di programmazione da usare; modelli di comunicazione possono ora trarre in un'interfaccia utente grafica e convertiti e dal codice concettuali.
- Un nuovo plug-in Eclipse supporta la scrittura, esecuzione e test di performance di rete analizzare da un unico ambiente di sviluppo integrato.
I commenti non trovato