FastFlow for Mac
| Ausführung | 2.0.0 |
|---|---|
| Herausgeber | Computer Science Department |
| Veröffentlichungsdatum | 30.12.2012 |
| Datum hinzugefügt | 30.12.2012 |
| Os Anforderungen | 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 |
| Bedarf | Multicore and distributed platforms. Also working on Linux. |
| Downloads insgesamt | 127 |
| Preis | Free |
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.