Перейти до змісту
FF

FastFlow for Mac

Видавництво: Computer Science Department
Перевірено на віруси Mac Free
Завантажити v2.0.0 127 завантаження
Версія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++.

Подібні програми

Альтернативи