FastFlow for Mac
| Версія | 2.0.0 |
|---|---|
| Видавництво | Computer Science Department |
| Дата випуску | 30 груд. 2012 р. |
| Дату додано | 30 груд. 2012 р. |
| Вимоги ОС | 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++.