FastFlow for Mac
| Versie | 2.0.0 |
|---|---|
| Uitgever | Computer Science Department |
| Datum van publicatie | 30 dec 2012 |
| Datum toegevoegd | 30 dec 2012 |
| OS-vereisten | Mac OS X 10.4 PPC, Mac OS X 10.5 PPC, Mac OS X 10.5, Mac OS X 10.8, Macintosh, Mac OS X 10.4, Mac OS X 10.6, Mac OS X 10.4 Intel, Mac OS X 10.7, Mac OS X 10.5 Intel |
| Voorwaarden | Multicore and distributed platforms. Also working on Linux. |
| Totaal aantal downloads | 127 |
| Prijs | Free |
Omschrijving
FastFlow is een C++ parallel programmeerraamwerk gericht op het vereenvoudigen van de ontwikkeling van efficiënte applicaties voor multi-core platforms. De belangrijkste visie van FastFlow is dat ontwikkelgemak en runtime-efficiëntie beide kunnen worden bereikt door het abstractieniveau van de ontwerpfase te verhogen, waardoor ontwikkelaars een geschikte set parallelle programmeerpatronen krijgen die efficiënt kunnen worden gecompileerd op de doelplatforms.
FastFlow is conceptueel ontworpen als een stapel lagen die geleidelijk het parallellisme van gedeeld geheugen op het niveau van kernen abstraheren tot de definitie van bruikbare programmeerconstructies die gestructureerd parallel programmeren ondersteunen op cache-coherente gedeelde geheugen multi- en veel-core architecturen en clusters daarvan (zie http://di.unito.it/fastflow).
Deze architecturen omvatten standaard, homogene, multi-core systemen zoals Intel core, AMD K10, enz. FastFlow ondersteunt native stream-parallellisme omdat het parallellisme-patronen implementeert als datastroomgrafieken - zogenaamde streaming-netwerken.
De runtime-ondersteuning van het FastFlow-framework zorgt voor een efficiënte implementatie van Single-Producer-Single-Consumer (SPSC) FIFO-wachtrijen. FastFlow SPSC-wachtrijen zijn vergrendelingsvrij, wachtvrij en gebruiken geen gekoppelde bewerkingen. De SPSC-wachtrij wordt voornamelijk gebruikt als synchronisatiemechanisme voor geheugenaanwijzers op een consument-producerende manier. Het volgende niveau breidt één-op-één wachtrijen uit tot veel-op-veel synchronisaties en gegevensstromen, die worden geïmplementeerd met alleen SPSC-wachtrijen en arbiter-threads, waardoor vergrendelingsvrije willekeurige streamingnetwerken worden geboden die weinig of geen geheugenbarrières vereisen, en dus weinig cache-invalidaties.
De bovenste laag, d.w.z. programmeren op hoog niveau, biedt een programmeerraamwerk op basis van parallelle patronen. FastFlow biedt met name FARM-, FARM-WITH-FEEDBACK- (d.w.z. D&C), PIPELINE-, MAP- en REDUCE-patronen en ondersteunt hun willekeurige nesting en samenstelling. De FastFlow-patroonset kan verder worden uitgebreid door nieuwe C++-sjablonen te bouwen.