Intel Threading Building Blocks
Η Intel Threading Building Blocks (γνωστή και ως TBB) είναι βιβλιοθήκη προτύπων (templates) της C++ που έχει αναπτυχθεί από την Intel και βοηθά στη συγγραφή λογισμικού που εκμεταλλεύεται τους πολυπύρηνους επεξεργαστές. Η βιβλιοθήκη αποτελείται από δομές δεδομένων και αλγορίθμους που επιτρέπουν στον προγραμματιστή να αποφύγει την πολυπλοκότητα που μπορεί να έχει η χρήση νημάτων όπως τα νήματα POSIX, τα νήματα των Windows ή τα Boost Threads, όπου πρέπει να δημιουργεί, να συγχρονίζει και να καταστρέφει νήματα με ρητό τρόπο. Αντίθετα, στην περίπτωση της TBB, η βιβλιοθήκη δίνει έναν αφαιρετικό τρόπο όσον αφορά την πρόσβαση σε πολλαπλούς επεξεργαστές, επιτρέποντας στις λειτουργίες του προγράμματος να θεωρούνται "εργασίες" ("tasks"), οι οποίες και μπορούν να κατανεμηθούν δυναμικά στους πυρήνες από τη μηχανή χρόνου εκτέλεσης της βιβλιοθήκης, ενώ χρησιμοποιείται αποδοτικά η κρυφή μνήμη του επεξεργαστή. Ένα πρόγραμμα που χρησιμοποιεί την TBB δημιουργεί, συγχρονίζει και καταστρέφει γράφους αλληλεξαρτώμενων εργασιών σύμφωνα με κάποιους "αλγόριθμους", οι οποίοι είναι παραδείγματα προγραμματισμού υψηλού (αλγοριθμικοί σκελετοί, Algorithmic Skeletons). Οι εργασίες εκτελούνται τότε ακολουθώντας τις εξαρτήσεις μεταξύ των κόμβων του γράφου. Η προσέγγιση αυτή τοποθετεί την TBB σε μια οικογένεια εργαλείων που προσπαθούν να λύσουν το πρόβλημα του παράλληλου προγραμματισμού διαχωρίζοντας τον ίδιο τον προγραμματισμό από τις λεπτομέρειες χαμηλού επιπέδου του εκάστοτε υπολογιστή.
Q188860
βιβλιοθήκη
Concept
None
προτύπων
UNK
Q2407
C++
MEDIA
Q248
Intel
ORG
None
πολυπύρηνους
UNK
Q5300
επεξεργαστές
Concept
Q175263
δομές δεδομένων
Concept
Q8366
αλγορίθμους
Concept
Q213092
νημάτων
Concept
None
νήματα POSIX
UNK
Q1406
Windows
Concept
None
Boost Threads
UNK
Q165596
κρυφή μνήμη
Concept
Q141488
γράφους
Concept
Q188267
παραδείγματα
Concept
Q1384104
Intel Threading Building Blocks
MEDIA
instance of
programming language
developer
manufacturer