Difference between revisions of "Team Darth Vector"
Line 44: | Line 44: | ||
'''Containers Comparison''' | '''Containers Comparison''' | ||
+ | |||
+ | pair,vector,list,slist, | ||
'''Algorithms''' | '''Algorithms''' | ||
Line 66: | Line 68: | ||
Threading Building Blocks containers are not templated with | Threading Building Blocks containers are not templated with | ||
an allocator argument. | an allocator argument. | ||
+ | |||
+ | '''Links''' | ||
+ | |||
+ | http://www.cs.northwestern.edu/~riesbeck/programming/c++/stl-summary.html | ||
+ | |||
+ | http://www.cplusplus.com/reference/stl/ | ||
+ | |||
+ | https://www.inf.ed.ac.uk/teaching/courses/ppls/TBBtutorial.pdf |
Revision as of 12:06, 23 November 2017
Members
Alistair Godwin
Giorgi Osadze
Leonel Jara
TBB Background
Containers Comparison
List of TBB containers:
concurrent_queue : Multiple threads may simultaneously push and pop elements from the queue.
concurrent_vector :
concurrent_hash_map : hash table that permits concurrent accesses.
quotes: Intel Threaded Building Blocks book. Highly concurrent containers are very important because Standard Template Library (STL) containers generally are not concurrency-friendly, and attempts to modify them concurrently can easily corrupt the containers.
Algorithms
parallel_for
parallel_scan
parallel_reduce
Threads
STL Background
Containers Comparison
pair,vector,list,slist,
Algorithms
TBB Threads
Efficiency Comparison Parallel for and concurrent_vector
Concept: Fine-grained locking
Multiple threads operate on the container by locking only those portions they really need to lock.
Concept: Lock-free algorithms
Bits of knowledge:
STL interfaces are inherently not thread-safe.
Threading Building Blocks containers are not templated with an allocator argument.
Links
http://www.cs.northwestern.edu/~riesbeck/programming/c++/stl-summary.html
http://www.cplusplus.com/reference/stl/
https://www.inf.ed.ac.uk/teaching/courses/ppls/TBBtutorial.pdf