FastFlow for Mac
| Версия | 2.0.0 |
|---|---|
| Издател | Computer Science Department |
| Дата на излизане | 30.12.2012 г. |
| Датата е добавена | 30.12.2012 г. |
| 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 |
| Изисквания | Multicore and distributed platforms. Also working on Linux. |
| Общо изтегляния | 127 |
| Цена | Free |
Описание
FastFlow е C++ рамка за паралелно програмиране, насочена към опростяване на разработването на ефективни приложения за многоядрени платформи. Ключовата визия на FastFlow е, че лесната разработка и ефективността по време на изпълнение могат да бъдат постигнати чрез повишаване на нивото на абстракция на фазата на проектиране, като по този начин се предоставя на разработчиците подходящ набор от модели за паралелно програмиране, които могат да бъдат ефективно компилирани върху целевите платформи.
FastFlow е концептуално проектиран като стек от слоеве, които прогресивно абстрахират паралелизма на споделената памет на ниво ядра до дефинирането на полезни програмни конструкции, поддържащи структурирано паралелно програмиране върху кохерентна кеш споделена памет много- и многоядрени архитектури и клъстери от тях (вижте http://di.unito.it/fastflow).
Тези архитектури включват стандартни, хомогенни, многоядрени системи като Intel Core, AMD K10 и т.н. FastFlow първоначално поддържа паралелизъм на потока, тъй като прилага модели на паралелизъм като графики на потока от данни - така наречените мрежи за стрийминг.
Поддръжката по време на изпълнение на рамката FastFlow осигурява ефективно внедряване на FIFO опашки за един производител-един потребител (SPSC). Опашките FastFlow SPSC са без заключване, без изчакване и не използват взаимосвързани операции. Опашката SPSC се използва предимно като механизъм за синхронизиране на указатели на паметта по начин потребител-производител. Следващото ниво разширява опашките "един към един" до синхронизации "много към много" и потоци от данни, които се изпълняват с помощта само на SPSC опашки и арбитражни нишки, като по този начин осигуряват произволни поточни мрежи без заключване, които изискват малко или никакви бариери в паметта, и следователно малко обезсилвания на кеша.
Горният слой, т.е. програмирането на високо ниво, осигурява програмна рамка, базирана на паралелни модели. По-специално, FastFlow предоставя модели FARM, FARM-WITH-FEEDBACK (т.е. D&C), PIPELINE, MAP и REDUCE и поддържа тяхното произволно влагане и състав. Наборът от шаблони FastFlow може да бъде допълнително разширен чрез изграждане на нови C++ шаблони.