FastFlow for Mac
| Verzia | 2.0.0 |
|---|---|
| Vydavateľ | Computer Science Department |
| Dátum vydania | 30. 12. 2012 |
| Dátum pridania | 30. 12. 2012 |
| Požiadavky OS | 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 |
| Požiadavky | Multicore and distributed platforms. Also working on Linux. |
| Celkový počet stiahnutí | 127 |
| cena | Free |
Popis
FastFlow je paralelný programovací rámec C++ zameraný na zjednodušenie vývoja efektívnych aplikácií pre viacjadrové platformy. Kľúčovou víziou FastFlow je, že jednoduchosť vývoja a efektívnosť behu je možné dosiahnuť zvýšením úrovne abstrakcie vo fáze návrhu, čím sa vývojárom poskytne vhodná sada vzorov paralelného programovania, ktoré možno efektívne skompilovať na cieľové platformy.
FastFlow je koncepčne navrhnutý ako zásobník vrstiev, ktoré postupne abstrahujú paralelizmus zdieľanej pamäte na úrovni jadier až po definíciu užitočných programovacích konštrukcií podporujúcich štruktúrované paralelné programovanie na viacjadrových a mnohojadrových architektúrach zdieľanej pamäte s vyrovnávacou pamäťou a ich klastroch. (pozri http://di.unito.it/fastflow).
Tieto architektúry zahŕňajú komoditné, homogénne, viacjadrové systémy, ako napríklad jadro Intel, AMD K10 atď. FastFlow natívne podporuje paralelný prúd, pretože implementuje vzory paralelizmu ako grafy toku údajov – takzvané streamingové siete.
Run-time podpora rámca FastFlow poskytuje efektívnu implementáciu FIFO frontov pre jedného výrobcu a jedného spotrebiteľa (SPSC). Fronty FastFlow SPSC sú bez uzamknutia, bez čakania a nepoužívajú vzájomne prepojené operácie. SPSC front sa primárne používa ako synchronizačný mechanizmus pre pamäťové ukazovatele spôsobom spotrebiteľa-výrobcu. Ďalšia úroveň rozširuje fronty typu one-to-one na synchronizácie a dátové toky typu many-to-many, ktoré sú implementované iba pomocou SPSC frontov a arbitrážnych vlákien, čím sa poskytujú ľubovoľné streamingové siete bez zámkov, ktoré vyžadujú len málo alebo žiadne pamäťové bariéry a teda málo zneplatnenia vyrovnávacej pamäte.
Horná vrstva, teda programovanie na vysokej úrovni, poskytuje programovací rámec založený na paralelných vzoroch. FastFlow poskytuje najmä vzory FARM, FARM-WITH-FEEDBACK (t.j. D&C), PIPELINE, MAP a REDUCE a podporuje ich ľubovoľné vkladanie a zloženie. Sadu vzorov FastFlow možno ďalej rozšíriť vytváraním nových šablón C++.