Konzeptionelle Software ist ein Werkzeug zur schnellen Erzeugung von Programmen, die die Leistung zu messen und / oder testen Sie die Richtigkeit der Netze und Netzwerkprotokollschichten zu erleichtern.
Konzeptionelle dreht sich um eine einfache, domänenspezifische Progammierung-Sprache; ein paar Zeilen Konzeptionelle Code kann Programme, die deutlich mehr Aufwand, um in einer herkömmlichen Programmiersprache schreiben, nehmen würde.
Eines der Ziele ist es, konzeptionelle Netzwerk Benchmarking von einer Kunst zu einer Wissenschaft zu erheben. Zu diesem Zweck Konzeptionelle Programme log nicht nur Messdaten, sondern auch eine Fülle von Informationen über die Versuchsanordnung, so dass es leicht für eine andere Person, um Ihre Leistungstests zu reproduzieren.
Exemple
numreps ist "Anzahl der Wiederholungen" und kommt von "--reps" oder "r" mit Standard-100.
Für numreps Wiederholungen plus 2 Aufwärm Wiederholungen {
Aufgabe 0 setzt ihren Zähler dann
Aufgabe 0 sendet eine 1 Megabyte Nachricht zu Aufgabe 1 dann
Aufgabe 1 sendet eine 1 Megabyte Nachricht dann 0 beauftragen
Aufgabe 0 Protokolle elapsed_usecs / 2 als "One-Way-Latenzzeit (us)" und
der Median (total_bytes / elapsed_usecs) * 1E6 / 1M als "Bandwidth (MB / s)"
}
Die Daten werden in einem einfach zu Parse kommagetrennte Werte (CSV) mit der ersten Zeile der Spaltenüberschriften direkt aus dem Programm genommen gespeichert. Die zweite Reihe von Headern angibt, wie die Daten in jeder Spalte waren aggregiert.
Was wichtig ist jedoch, alle anderen Informationen in der Protokolldatei. Konzeptionelle Protokolldateien zur Verwendung als Laborjournal funktionieren, darunter nicht nur die Ergebnisse eines Experiments, sondern auch eine genaue Beschreibung des Aufbaus, die zu diesen Ergebnissen geführt. Wieviele Prozessoren sind in meinem System? Wie schnell sind sie? Welche Compiler und Compiler-Optionen wurden verwendet, um kompilieren einfach? Welche Befehlszeilenparameter wurden an das Programm übergeben? Es ist alles in der Protokolldatei.
Die Protokolldateien enthält auch das komplette Programm-Quellcode so gibt es keine Unklarheit darüber, was gemessen wurde. Sie können auf konzeptioneller Protokolldatei ein Jahr in die Zukunft blicken und noch genau wissen, was die Messungen Vertre viel nützlicher als ein Leistungstest, der spuckt nur 397,2 und erfordert, dass Sie daran erinnern, was das betrifft.
- Die Sprache unterstützt jetzt Liste Leseverständnis und verschlagwortet Nachricht empfängt
- Die dot_ast Backend enthält eine neue --compress Möglichkeit, ein Programm AST mit & quot zu ziehen; uninteressant & quot; Knoten elided.
- Zwei neue Leistungsmaßstäbe in der Distribution enthalten.
- Die mittlere absolute Abweichung wurde mit dem Satz von Statistiken, die gesammelt werden können, aufgenommen.
- Zeitgesteuerte Schleifen sind präziser.
- Verschiedene Fehler wurden behoben.
Was ist neu in der Version 1.3:
- Eine neue paraver Backend generiert logische Zeitspuren für die Paraver Visualizer.
- Eine neue libsea_ast Backend generiert eine Beschreibung eines Programms AST für interaktive 3-D-Rendering mit dem Walross-Visualizer.
- Der RECEIVE-Anweisung kann nun Bereiche entweder Source-to-Target oder Ziel-zu-Quelle, nach Bedarf zu verbreiten.
- Sets von Aufgaben kann eine Kennung für die weitere Verwendung lassen gebunden werden.
- Programme können Koordinaten, Nachbar-Sets und Entfernungen auf 1-D / 2-D / 3-D-Mesh, Torus, und nun teilweise Torus-Topologien zu berechnen.
- Viele-zu-eins und viele-zu-viele-Multicasts werden nun von der C + MPI-Backend unterstützt.
Was ist neu in der Version 1.1:
- Version 1.1 der Konzept ist weitgehend ein Bug-Fix Release - - viele
- winzige, kleine Bugfixes, die Auswirkungen vor allem den konzeptionellen Aufbau
- Prozess. Allerdings ist die Begriffssprache bieten eine nützliche neue
- Feature: Die IN-Konstrukt akzeptiert jetzt Zahlengruppen ebenso wie die
- für jedes Konstrukt. Beispielsweise kann Konzeptionelle Programme enthalten jetzt
- Abschlusses wie folgt aus:
- AUFGABEN t, so dass T IN {2, 5, 8, ..., num_tasks-1} SEND A
- 32-KB-NACHRICHT AN AUFGABEN R mit R in {t-1, t-2}.
- Der bisherige Bereich Syntax für IS IN (zB & quot; T ist in [3, 10] Zoll) ist jetzt
- veraltet wie die neue, setzen Syntax bietet eine echte Obermenge der
- Funktionalität Bereich Syntax (zB & quot; T wird in {3, ..., 10} & quot;).
- Programme mit konzeptionellen v1.1 gebaut wurden erfolgreich in allen laufen
- 147.456 Kerne (36.864 Teilnehmer) der Morgenröte, die IBM Bluegene / P-System
- am Lawrence Livermore National Laboratory installiert.
- Die konzeptionelle Autopackage ist nun als Hybrid-32/64-Bit-Paket. errichtet
- Ausführen coNCePTuaL_1.1.package entweder auf einem 32- oder 64-Bit-x86-System,
- und es sollte automatisch die richtigen Bibliotheken installiert werden, dass für
- Plattform.
- Siehe das Änderungsprotokoll für die vollständigen Details von allem, das ist
- seit der Version 1.0 geändert.
Was ist neu in der Version 1.0:
- konzeptuell nicht länger erfordert das Erlernen einer neuen Programmiersprache zu verwenden; Kommunikationsmuster können nun in einer grafischen Benutzeroberfläche erstellt und konvertiert und von der konzeptionellen Code.
- Eine neue Eclipse-Plug-in unterstützt Schreiben, Laufen, und die Analyse der Netzwerk-Performance-Tests von einem einzigen, integrierten Entwicklungsumgebung.
Kommentare nicht gefunden