Difference between revisions of "Team Darth Vector"

From CDOT Wiki
Jump to: navigation, search
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