Trad4 er en fullt samtidig, thread safe programmeringsspråk som skalerer lineært på flere kjerner. Prosjektet er i utgangspunktet ment for distribusjon i finansnæringen for å modellere sanntid risiko.
Trad4 består av et bibliotek og en pre-prosessor. Du spesifiserer dine objekter ved hjelp av en enkel syntaks og kjøre pre-prosessor. Trad4 produserer en håndfull av C-filer for hvert objekt, inkludert en spire fil - den beregne metoden. Dette blir kalt hver gang objektet må brann, og du må oppgi logikken for. Trad4 trekker all den informasjonen som objektet må beregne seg inn i omfanget av denne funksjonen.
Disse kildefilene blir så samlet og sammen med libtrad4.so er knyttet til en kjørbar. Dette starter deretter mot en database.
Endring blir så matet inn i systemet, og at endringen trad4 styrer opp gjennom graf og holder treet oppdatert i sanntid.
Trad4 er en ny måte å arrangere programmer i minnet og en ny stil av flow-av-kontroll.
Hvorfor bruke trad4?
Det er veldig enkelt å bruke. Å bygge en trad4 program for å modellere problem du bare trenger en god forståelse av problemet og kunnskap om en liten undergruppe av C programmeringsspråk.
Det er veldig fort. Som du dekomponere problemet i separate objekter, gir dette flere tråder å gjennomføre ulike deler av problemet ditt samtidig, så en trad4 søknad skalerer lineært på flere kjerner. Trad4 selv har svært lite overhead - det er svært få instruksjoner mellom et objekt som trenger å bli kjørt, og det er beregne funksjonen blir kalt.
Det er veldig effektivt. Som du bryte problemet ut i separate objekter, kan du ordne grafen på en slik måte at hver enkelt beregningen blir gjort bare en gang i programmet. Andre objekter som er avhengige av resultatet av denne beregningen vil lese resultatet fra dette objektet.
Det er veldig trygt. Mens trad4 gir full samtidighet, er det helt lock-free. Dette betyr at du aldri trenger å bekymre deg for obskure race conditions eller vranglåser.
Trad4 er utgitt under LGPL. Dette er den samme lisensen gcc & glibc bruk, og det tillater deg å lenke trad4 til et proprietært system og slipper at proprietære systemet under noen lisens du velger.
Hva er nytt denne utgivelsen:.
- Støtte for 3. parts biblioteker har blitt lagt
- Arv av grensesnittet kan nå for arvet typen spesialisering.
- Abstract, betong, og (eventuelt) arve grafer blir nå generert for deg i DOT-format.
- Aktuelt i denne utgaven er et par samtidige digital signalbehandling apps. Additive_synth og dens inverse fourier_transform
Hva er nytt i versjon 3.0 Beta 02:
- evne til å passere i kompilatoren flagg (-O3 , -g) har blitt lagt (legg til CXXFLAGS etter behov).
- En kompilator advarsel forårsaket av visse typer konstruksjoner har blitt fikset.
- En single-threaded mode hvor master tråden ikke har blitt lagt alt arbeidet (eksport NUM_THREADS = 0).
- navnerom t4 er lagt for å hindre trad4 typenavn sammenstøt med eksterne biblioteker.
- Skriptet benchmarker.sh er lagt (se analyse-delen på hoved hjemmeside for mer informasjon).
- Trad4 utarbeider nå på 64-biters plattformer.
Hva er nytt i versjon 3.0 Beta 01:
- For denne utgivelsen forkompilatoren har blitt omskrevet å støtte nestet og frittstående strukturer. Det er også mye bedre fra en arkitektonisk perspektiv.
- To programmer er inkludert i denne distribusjonen. Den første er jpm_cds v1.1, som har hatt de precomp_v2 løsninger faste, men er ellers uendret. Den andre er test_app, et program utviklet for å utøve forkompilatoren, og demonstrerer hvordan de nestede strukturer fungerer.
- Noe arbeid gjenstår før den 3,0 utgivelsen planlagt til slutten av juni. Dette inkluderer:
- Fix kompilatoren advarsel på visse strukturer
- Beef opp validering
- Objekttilstander
- Forbedre DEBUG på nestede strukturer (kanskje - er dette vanskelig)
- Single-threaded mode
- Evne til å passere i kompilatoren flagg (-O3, -g etc)
- Oppgrader alle søknader til v3
- The Manual vil få en omfattende oppdatering
- Nettstedet vil bli redesignet
Hva er nytt i versjon 2.0.4:
- Disse endringene i trad4 er sentrert rundt porting av ISDA CDS standardmodellen til trad4, hvor resultatet (jpm_cds) distribueres med denne utgivelsen.
- Support har blitt lagt for typedefs og tegn.
- Støtte for structs har blitt utvidet.
- Flere feil at jpm_cds port eksponert har blitt fikset.
- Validering og rapportering på både forkompilering og kjøretid har blitt forbedret.
Hva er nytt i versjon 2.0:
- Arrays av innfødte structs er lagt til pub-delen.
- Native enums og konstanter har blitt lagt til.
- Nye programmer er nå enklere å lage med manuset create_new_app.sh.
- Objekter kan nå abonnere på mer enn ett objekt av hver type, og dette har ført til under syntaks til å endre seg.
- NUM_THREADS er nå eksporteres fra kommandolinjen.
- Det finnes også ulike endringer knyttet til feilrettinger, kode opprydding og validering.
Hva er nytt i versjon 2.0 Beta 02:
- Denne distribusjonen inneholder to store databaser - en for hver applikasjon. Disse bør brukes for stress-testing og ytelse analyse. Du kan untar denne filen over den eksisterende databasekatalogen. black_scholes_1M.db inneholder rundt 1M black_scholes stedene. bond_risk_850k.db inneholder rundt 850K bond_risk stedene.
Kommentarer ikke funnet