konseptuelle programvare er et verktøy utviklet for å legge til rette for raskt genererer programmer som måler ytelsen og / eller teste riktigheten av nettverk og nettverksprotokoller lag.
konseptuelle sentre rundt en enkel, domene-spesifikke progamming-språk; noen få linjer av konseptuell koden kan produsere programmer som ville ta betydelig mer innsats for å skrive i en vanlig programmeringsspråk.
En av konseptuelle mål er å heve nettverk benchmarking fra en kunst til en vitenskap. For dette formål, konseptuelle programmer logger ikke bare måledata, men også et vell av informasjon om den eksperimentelle oppsett, noe som gjør det lett for andre å reprodusere dine ytelsestester.
Exemple
numreps er "Antall repetisjoner" og kommer fra "--reps" eller "-r" med standard 100.
For numreps repetisjoner pluss to WarmUp repetisjoner {
oppgave 0 tilbakestiller sine tellere deretter
oppgave 0 sender en 1 megabyte melding til oppgave 1 og deretter
oppgave 1 sender en 1 megabyte melding til oppgave 0 deretter
oppgave 0 logger elapsed_usecs / 2 som "Enveis latency (oss)" og
medianen av (total_bytes / elapsed_usecs) * 1E6 / 1M som "Båndbredde (MB / s)"
}
Dataene lagres i en lett-å-parse kommaseparert (CSV) -format med den første raden av kolonneoverskriftene tatt rett fra programmet. Den andre raden av overskrifter indikerer hvordan dataene i hver kolonne ble samlet.
Det som er viktig, er imidlertid all annen informasjon i loggfilen. konseptuelle loggfiler er ment å fungere som et laboratorium notatbok, herunder ikke bare resultatet av et eksperiment, men også en presis beskrivelse av oppsett som førte til disse resultatene. Hvor mange prosessorer er i mitt system? Hvor rask er de? Hva kompilatoren og kompilatoropsjoner ble brukt til å kompilere enkelt? Hva kommandolinjeparametere ble sendt til programmet? Det handler i loggfilen.
Loggfilene viser også hele programmet kildekoden så det er ingen tvetydighet om hva som ble målt. Du kan se på en konseptuell loggfil et år i fremtiden, og fortsatt vet nøyaktig hva målingene representasjon mye mer nyttig enn en ytelsestest som spytter ut bare 397,2 og krever at du husker hva som refererer til.
- Språket støtter nå liste oppfattelser og tagget meldingen mottar
- Den dot_ast backend inkluderer en ny --compress mulighet til å tegne en programmets AST med & quot; uinteressant & quot; noder elided.
- To nye ytelsestester inngår i fordelingen.
- Median absolutte avvik har blitt lagt til settet av statistikk som kan samles.
- Tidsbestemt løkker er mer presise.
- Ulike bugs har blitt fikset.
Hva er nytt i versjon 1.3:
- En ny paraver bakenden genererer logisk-time spor for Paraver visualiserer.
- En ny libsea_ast bakenden genererer en beskrivelse av et program AST for interaktiv 3D-rendering med Walrus visualiserer.
- MOTTA uttalelsen kan nå forplante scopes enten kilde-til-mål eller mål-til-kilde, som er nødvendig.
- Sett av oppgaver kan la-bundet til en identifikator for praktisk gjenbruk.
- Programmer kan beregne koordinater, nabo sett, og avstander på 1-D / 2-D / 3-D mesh, torus, og nå delvis torus topologi.
- Mange-til-en og mange-til-mange multicasts støttes nå av C + MPI bakenden.
Hva er nytt i versjon 1.1:
- Versjon 1.1 av konseptuelle er i stor grad en bug-fix-utgivelse - - masse
- liten, små feilrettinger som påvirker først og fremst den konseptuelle bygge
- prosess. Imidlertid ikke den konseptuelle språk gir en nyttig ny
- egenskap: Den ER I konstruere aksepterer nå sett med tall akkurat som
- FOR HVER konstruere. For eksempel kan konseptuelle programmer inkluderer nå
- utsagn som følgende:
- Oppgaver t slik at t er på formatet {2, 5, 8, ..., num_tasks-1} SEND A
- 32-kilobyte MELDING TIL OPPGAVER r SLIK AT r ER I {t-1, t-2}.
- Den gamle serien syntaks for IS IN (f.eks & quot; t er i [3, 10] & quot;) er nå
- foreldet som den nye, satt syntaks gir en skikkelig supersett av
- utvalg syntaks funksjonalitet (for eksempel & quot; t ER I {3, ..., 10} & quot;).
- Programmer bygget med konseptuell v1.1 har kjørt med suksess over alt
- 147456 kjerner (36 864 noder) av Dawn, IBM Bluegene / P-system
- installert ved Lawrence Livermore National Laboratory.
- Den konseptuelle autopackage er nå bygget som en hybrid 32/64-bit pakke.
- Execute coNCePTuaL_1.1.package på enten 32- eller 64-bits x86-system,
- og det bør automatisk installere riktige bibliotekene for at
- plattform.
- Se endringsloggen for fullstendig informasjon om alt som er
- endret siden versjon 1.0.
Hva er nytt i versjon 1.0:
- konseptuelle krever ikke lenger lære et nytt programmeringsspråk for å bruke; kommunikasjonsmønstre kan nå bli trukket i et grafisk brukergrensesnitt og konvertert til og fra konseptkode.
- En ny Eclipse plug-in støtter skriving, løping, og analysere nettverk ytelsestester fra en enkelt, integrert utviklingsmiljø.
Kommentarer ikke funnet