32
™Creator 2011 병병 병병병병병 병병병병 CodeNavy By

병렬 프로그래밍 패러다임

Embed Size (px)

Citation preview

  • 1.

2.
..
3.

2005
2006
[HamStone],
2009B , Dragonica
2011
4.
???
OpenMP
PPL
TBB

5. ?
6.
,



- By
!
7. API,
.

1. ()
2.
3.Lock ()
Crash
< !>

OR

8. !

!


( / / / DB )

Lock !


9. !!

OpenMP
PPL
TBB
10. OpenMP(Open Multi-Processing)
11. OpenMP?
OpenMulti-Processing

< C / C++ / Fortran >
OS< Windows / Linux / Unix >

,
VS 2008 / 2010 , ( OK) VS 2003 / 2005 Inter Compiler
http://OpenMP.org
OpenMP !
12. !
(?)
#pragma OK
()
!
Hello World
forHello World
3 OK!
13.

< ! >
?????

OK!
14. ?
15. PPL(Parallel Patterns Library)
16. PPL?
Parallel Patterns Library
Visual Studio .NET 2010
!
/ / !
Auto /
17.
(OpenMP )
STL
( )/
OverView


parallel_for
parallel_for_each
parallel_invoke


Queue/Vector



18.
parallel_for :
for
parallel_for_each :
STL for_each
parallel_invoke :

( )
19. !
< parallel_for >

Concurrency

20. !
< parallel_invoke >

2~10
Main()
21.
!!
MS Ctrl+C
22. OpenMP PPL

concurrent_vector :
std::vector
insert / erase / pop_back
bool
qoncurrent_queue :
std::deque
iterator Thread-Not Safe!
back
size unsafe_size
concurrent_hash_map :
std::hash_map

STL ..
23. OpenMP PPL

invoke .



Thread-Safe / Unsafe 2
(, Thread-Unsafe )
,
10
24. OpenMP PPL
!



&
Main() !
25. TBB(Threading Building Block)
26. TBB?
Thread Building Block
Open Source!! (GPL)
!
Thread-SafeHash_Map
OS
(Windows/ Solalis / MacOS / Linux)
()
STLiterator /
27. OverView
ppl /
TBB Thread-Safe Container
Push & Pop
( )
Iterator


( )