Zum Inhalt springen
FF

FastFlow for Mac

Herausgeber: Computer Science Department
Virengeprüft Mac Free
Ausführung2.0.0
Herausgeber Computer Science Department
Veröffentlichungsdatum30.12.2012
Datum hinzugefügt30.12.2012
Os AnforderungenMac 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
BedarfMulticore and distributed platforms. Also working on Linux.
Downloads insgesamt127
PreisFree

Beschreibung

FastFlow ist ein paralleles C++-Programmier-Framework, das darauf abzielt, die Entwicklung effizienter Anwendungen für Multi-Core-Plattformen zu vereinfachen. Die Hauptvision von FastFlow besteht darin, dass eine einfache Entwicklung und Laufzeiteffizienz erreicht werden können, indem das Abstraktionsniveau der Designphase erhöht wird, wodurch Entwicklern ein geeigneter Satz paralleler Programmiermuster zur Verfügung gestellt wird, die effizient auf den Zielplattformen kompiliert werden können.

FastFlow ist konzeptionell als Stapel von Schichten konzipiert, die die Shared-Memory-Parallelität auf der Ebene der Kerne schrittweise abstrahieren, bis hin zur Definition nützlicher Programmierkonstrukte, die eine strukturierte parallele Programmierung auf Cache-kohärenten Shared-Memory-Multi- und Many-Core-Architekturen und deren Clustern unterstützen (siehe http://di.unito.it/fastflow ).

Zu diesen Architekturen gehören handelsübliche, homogene Mehrkernsysteme wie Intel Core, AMD K10 usw. FastFlow unterstützt von Haus aus Stream-Parallelität, da es Parallelitätsmuster als Datenflussgraphen implementiert – sogenannte Streaming-Netzwerke.

Die Laufzeitunterstützung des FastFlow-Frameworks bietet eine effiziente Implementierung von Single-Producer-Single-Consumer (SPSC)-FIFO-Warteschlangen. FastFlow SPSC-Warteschlangen sind sperrungs- und wartefrei und verwenden keine gesperrten Operationen. Die SPSC-Warteschlange wird hauptsächlich als Synchronisationsmechanismus für Speicherzeiger in einer Consumer-Producer-Weise verwendet. Die nächsthöhere Ebene erweitert Eins-zu-Eins-Warteschlangen auf Viele-zu-Viele-Synchronisationen und Datenflüsse, die nur unter Verwendung von SPSC-Warteschlangen und Arbiter-Threads implementiert werden, wodurch lockfreie beliebige Streaming-Netzwerke bereitgestellt werden, die wenige oder keine Speicherbarrieren erfordern, und daher wenige Cache-Invalidierungen.

Die obere Schicht, d. h. die High-Level-Programmierung, stellt einen Programmierrahmen bereit, der auf parallelen Mustern basiert. Insbesondere bietet FastFlow FARM-, FARM-WITH-FEEDBACK- (d. h. D&C)-, PIPELINE-, MAP- und REDUCE-Muster und unterstützt deren beliebige Verschachtelung und Zusammensetzung. Der FastFlow-Mustersatz kann durch Erstellen neuer C++-Vorlagen weiter erweitert werden.

Ähnliche Programme

Alternativen