konseptuele sagteware is 'n instrument is ontwerp vinnig genereer programme wat meet die prestasie en / of die toets van die korrektheid van netwerke en netwerk protokol lae te fasiliteer.
konseptuele sentrums rondom 'n eenvoudige, domein-spesifieke progamming-taal; 'n paar lyne van konseptuele kode kan produseer programme wat sou aansienlik meer moeite in 'n konvensionele programmeertaal te skryf nie.
Een van konseptuele se doelwitte is netwerk benchmarking te samel van 'n kuns om 'n wetenskap. Aan die einde, konseptuele programme teken nie net meting data, maar ook 'n rykdom van inligting oor die eksperimentele opstelling, maak dit maklik vir iemand anders jou prestasie toetse om voort te plant.
Exemple
numreps is "aantal herhalings" en kom uit "--reps" of "r" met verstek 100.
Vir numreps herhalings plus 2 warmup herhalings {
taak 0 bring jy die tellers dan
taak 0 stuur 'n 1 megabyte boodskap aan Taak 1 dan
Taak 1 stuur 'n 1 megabyte boodskap aan die taak 0 dan
taak 0 logs elapsed_usecs / 2 as "one-way latency (ons)" en
die mediaan van (total_bytes / elapsed_usecs) * 1E6 / 1M as "Bandwydte (MB / s)"
}
Die data word gestoor in 'n maklik-om-te parse komma geskei waardes (CSV) formaat met die eerste ry van kolomopskrifte geneem regs van die program. Die tweede ry kop dui aan hoe die data in elke kolom is saamgevoeg.
Wat belangrik is, is egter al die ander inligting in die log-lêer. konseptuele log lêers is bedoel as 'n laboratorium notaboek te funksioneer, insluitend nie net die resultate van 'n eksperiment, maar ook 'n presiese beskrywing van die opstel wat gelei het tot die resultate. Hoeveel verwerkers is in my sisteem? Hoe vinnig is hulle? Wat samesteller en samesteller opsies gebruik eenvoudige saam te stel? Wat command-line parameters oorgedra aan die program? Dit is alles in die log-lêer.
Die log lêers bevat 'n lys ook die volledige program bronkode sodat daar geen onduidelikheid oor wat was gemeet. Jy kan kyk na 'n konseptuele log lêer 'n jaar in die toekoms en weet nog steeds presies wat die metings verteenwoordigers baie meer nuttig is as 'n prestasie toets wat spoeg net 397,2 en vereis dat jy om te onthou wat dit verwys na.
- Die taal ondersteun nou lys begripstoetse en tagged boodskap ontvang
- Die dot_ast backend sluit 'n nuwe --compress opsie om 'n program se AST te trek met & quot; oninteressant & quot; nodes elided.
- Twee nuwe prestasiemaatstawwe is ingesluit in die verspreiding.
- Die mediaan absolute afwyking is bygevoeg tot die stel van die statistieke wat versamel kan word.
- Snel lusse is meer akkuraat.
- Verskeie foute is vasgestel.
Wat is nuut in die weergawe 1.3:
- 'n nuwe paraver agterkant genereer logiese-time spore vir die Paraver Visualizer.
- 'n nuwe libsea_ast agterkant genereer 'n beskrywing van 'n program se AST vir interaktiewe 3-D lewering met die Walrus Visualizer.
- Die ONTVANG verklaring kan nou propageer bestek óf bron-tot-teiken of teiken-tot-bron, as dit nodig is.
- Stelle take kan word laat-gebonde aan 'n identifiseerder vir 'n maklike hergebruik.
- Programme kan bereken koördinate, buurman stelle, en afstande op 1-D / 2-D / 3-D mesh, torus, en nou gedeeltelike torus topologieë.
- Baie-tot-een-en baie-tot-baie multicasts word nou ondersteun deur die C + MPI agterkant.
Wat is nuut in die weergawe 1.1:
- Weergawe 1.1 van konseptuele is grootliks 'n fout-fix release - - baie van die
- klein ou foutherstellings wat 'n impak hoofsaaklik die konseptuele bou
- die proses. Dit beteken egter die konseptuele taal bied een nuttige nuwe
- funksie: Die IS IN konstruk aanvaar nou stelle nommers net soos die
- VIR ELKE konstruk. Byvoorbeeld, konseptuele programme kan nou sluit
- stellings soos die volgende:
- TAKE t sodat t in {2, 5, 8, ..., num_tasks-1} STUUR A
- 32-kilogreep BOODSKAP na take r sodanig dat r IS IN {t-1, t-2}.
- Die vorige reeks sintaksis vir in (bv & quot; t in [3, 10] & quot;) is nou
- afgekeur as die nuwe, stel sintaksis bied 'n behoorlike superset van die
- reeks sintaksis se funksionaliteit (bv & quot; t in {3, ..., 10} & quot;).
- Programme gebou met konseptuele v1.1 suksesvol hardloop oor al
- 147456 cores (36864 nodes) van Dawn, die IBM BlueGene / P stelsel
- geïnstalleer by Lawrence Livermore National Laboratory.
- Die konseptuele autopackage is nou gebou as 'n hibriede 32/64-bit pakket.
- Voer coNCePTuaL_1.1.package op óf 'n 32- of 64-bit x86 stelsel,
- en dit moet outomaties die korrekte biblioteke installeer vir daardie
- platform.
- Sien die verandering log vir die volledige besonderhede van alles wat
- verander sedert weergawe 1.0.
Wat is nuut in weergawe 1.0:
- konseptuele nie meer vereis om 'n nuwe programmeertaal te gebruik; kommunikasie patrone kan nou in 'n grafiese gebruikerskoppelvlak getrek word en omgeskakel na en van konseptuele kode.
- 'n nuwe Eclipse plug-in ondersteun skryf, hardloop, en ontleding netwerk prestasie toetse van 'n enkele, geïntegreerde ontwikkeling omgewing.
Kommentaar nie gevind