FastFlow jest C ++ równoległe ramy programowania na celu uproszczenie rozwoju efektywnych aplikacji dla platform wielordzeniowych. Klucz vision of FastFlow jest łatwość rozwoju i skuteczności wykonawcze może zarówno być osiągnięte przez podniesienie poziomu abstrakcji fazie projektowania, zapewniając deweloperom odpowiedni zestaw równoległych wzorach programowych, które mogą być skutecznie zebranych na platformach docelowych.
FastFlow jest koncepcyjnie zaprojektowany jako stosu warstw, które stopniowo abstrakcyjne wspólne równoległość pamięci na poziomie rdzeni się do definicji przydatnych konstrukcji programistycznych wspierających zorganizowanego programowania równoległego na spójność pamięci podręcznej pamięci współużytkowanej multi- i Many podstawowe architektury i gromady nich (patrz http://di.unito.it/fastflow).
Architektury te obejmują towarów, jednorodne, systemy wielordzeniowe, takich jak Intel Core AMD K10 itp FastFlow natywnie obsługuje strumień równoległości ponieważ realizuje wzorce równoległości jak wykresy przepływu danych - tzw sieci transmisji strumieniowej.
wsparcie czasu wykonywania ram FastFlow zapewnia skuteczną realizację Single-Producent-Single-Konsumenta (kolejek FIFO) SPSC. Kolejki FastFlow SPSC są blokady wolna, czekać będzie wolny, i nie stosować operacje zablokowane. Kolejka SPSC służy przede wszystkim jako mechanizmu synchronizacji dla wskaźników pamięci w sposób konsument-producent. Następna warstwa rozciąga się jeden do jednego kolejki do wielu-do-wielu synchronizacje i przepływy danych, które są realizowane przy użyciu tylko kolejki SPSC i wątki arbitra, zapewniając w ten sposób dowolne sieci strumieniowe lock-darmo, które wymaga niewiele lub nie ma barier pamięci i więc kilka unieważnień cache.
górna warstwa, czyli programowania wysokiego poziomu, stanowi ramy programowania w oparciu o równoległych wzorów. W szczególności, FastFlow zapewnia FARM, FARM-with-zwrotne (czyli D & C), rurociąg, MAP i zmniejszyć wzorów i wspiera ich arbitralne zagnieżdżanie i składu. Zestaw FastFlow wzór może być rozszerzona poprzez budowę nowych szablonów C ++
Co nowego w tym wydaniu:.
Automatyczne rdzeń zaczepiania. Nowe wzory (mapa, zmniejszyć). Zwiększona wydajność. Wsparcie dla klastrów SMP. Wiele usprawnień i poprawek
Wymagania .
wielordzeniowych i rozproszone platformy. Działa także na platformie Linux.
Komentarze nie znaleziono