FastFlow for Mac
| Εκδοχή | 2.0.0 |
|---|---|
| Εκδότης | Computer Science Department |
| Ημερομηνία κυκλοφορίας | 30 Δεκ 2012 |
| Ημερομηνία προστέθηκε | 30 Δεκ 2012 |
| Απαιτήσεις Os | 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 έχει σχεδιαστεί εννοιολογικά ως μια στοίβα επιπέδων που αφαιρούν προοδευτικά τον παραλληλισμό κοινής μνήμης στο επίπεδο των πυρήνων μέχρι τον ορισμό χρήσιμων δομών προγραμματισμού που υποστηρίζουν δομημένο παράλληλο προγραμματισμό σε αρχιτεκτονικές πολλαπλών και πολλών πυρήνων κοινής μνήμης με συνεπή μνήμη cache και συμπλέγματα αυτών (βλ. http://di.unito.it/fastflow ).
Αυτές οι αρχιτεκτονικές περιλαμβάνουν εμπορευματικά, ομοιογενή, πολυπύρηνα συστήματα όπως Intel core, AMD K10, κ.λπ.
Η υποστήριξη χρόνου εκτέλεσης του πλαισίου FastFlow παρέχει μια αποτελεσματική υλοποίηση των ουρών FIFO Single-Producer-Single-Consumer (SPSC). Οι ουρές FastFlow SPSC είναι χωρίς κλείδωμα, χωρίς αναμονή και δεν χρησιμοποιούν αλληλοκλειδωμένες λειτουργίες. Η ουρά SPSC χρησιμοποιείται κυρίως ως μηχανισμός συγχρονισμού για δείκτες μνήμης με τρόπο καταναλωτή-παραγωγού. Η επόμενη βαθμίδα επεκτείνει τις ουρές ένα προς ένα σε πολλούς-προς-πολλούς συγχρονισμούς και ροές δεδομένων, οι οποίες υλοποιούνται χρησιμοποιώντας μόνο ουρές SPSC και νήματα διαιτητή, παρέχοντας έτσι αυθαίρετα δίκτυα ροής χωρίς κλείδωμα που απαιτούν λίγα ή καθόλου εμπόδια μνήμης και επομένως λίγες ακυρώσεις κρυφής μνήμης.
Το ανώτερο επίπεδο, δηλαδή ο προγραμματισμός υψηλού επιπέδου, παρέχει ένα πλαίσιο προγραμματισμού που βασίζεται σε παράλληλα μοτίβα. Συγκεκριμένα, το FastFlow παρέχει μοτίβα FARM, FARM-WITH-FEEDBACK (δηλαδή D&C), PIPELINE, MAP και REDUCE και υποστηρίζει την αυθαίρετη ένθεση και σύνθεσή τους. Το σύνολο προτύπων FastFlow μπορεί να επεκταθεί περαιτέρω δημιουργώντας νέα πρότυπα C++.