Difference between revisions of "Team Darth Vector"

From CDOT Wiki
Jump to: navigation, search
Line 16: Line 16:
 
'''List of TBB containers:'''  
 
'''List of TBB containers:'''  
  
concurrent_queue: Multiple threads may simultaneously push and pop elements from the
+
''concurrent_queue'': Multiple threads may simultaneously push and pop elements from the
 
queue.  
 
queue.  
  
concurrent_vector, concurrent_hash_map
+
''concurrent_vector'':
 +
 
 +
''concurrent_hash_map'': hash table that permits concurrent accesses.
  
 
'''quotes''': ''Intel Threaded Building Blocks book.''  
 
'''quotes''': ''Intel Threaded Building Blocks book.''  

Revision as of 12:58, 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

Threads


STL Background


Containers Comparison

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.