±¹³»µµ¼
Àü°øµµ¼/´ëÇб³Àç
°øÇаè¿
ÄÄÇ»ÅÍ°øÇÐ
Á¤°¡ |
30,000¿ø |
---|
27,000¿ø (10%ÇÒÀÎ)
1,500P (5%Àû¸³)
ÇÒÀÎÇýÅÃ | |
---|---|
Àû¸³ÇýÅà |
|
|
|
Ãß°¡ÇýÅÃ |
|
À̺¥Æ®/±âȹÀü
¿¬°üµµ¼
»óÇ°±Ç
ÀÌ»óÇ°ÀÇ ºÐ·ù
Ã¥¼Ò°³
[ÀÔ¹®ÀÚ¸¦ À§ÇÑ º´·Ä ÇÁ·Î±×·¡¹Ö]Àº MPI, Pthreads, ±×¸®°í OpenMP¸¦ ÀÌ¿ëÇÑ º´·Ä ÇÁ·Î±×·¡¹Ö °¡À̵åºÏÀÌ´Ù. Ã¥Àº Æ©Å丮¾óÀ» »ç¿ëÇÏ¿© ÀÛÀº ÇÁ·Î±×·¡¹Ö ¿¹Á¦·Î ½ÃÀÛÇؼ Á» ´õ ±Ô¸ð°¡ Å« ¿¹Á¦µéÀ» ±¸ÃàÇÏ°í, ºÐ»ê°ú °øÀ¯ ¸Þ¸ð¸® ÇÁ·Î±×·¥À» ¼³°èÇÏ°í, µð¹ö±ëÇϸç, Æò°¡ÇÏ´Â µ¥ ÃÊÁ¡À» ¸ÂÃß¾ú´Ù. ¾Æ¿ï·¯ MPI, Pthreads, ±×¸®°í OpenMP ÇÁ·Î±×·¡¹Ö ¸ðµ¨À» »ç¿ëÇÏ¿© º´·Ä ÇÁ·Î±×·¥¿¡ ´ëÇÑ °³¹ßÀ» °Á¶ÇÑ´Ù.
ÃâÆÇ»ç ¼Æò
MPI, Pthreads, ±×¸®°í OpenMP¸¦ ÀÌ¿ëÇÑ º´·Ä ÇÁ·Î±×·¡¹Ö ¿Ïº® °¡À̵å!
È¿À²Àû º´·Ä ÇÁ·Î±×·¡¹Ö¿¡ °üÇÑ ¿Ïº®ÇÑ Æ©Å丮¾ó!
»÷ÇÁ¶õ½Ã½ºÄÚ ´ëÇÐÀ» ºñ·ÔÇÑ ¼¼°è À¯¸í ´ëÇÐ ±³Àç·Î ¼±Á¤!
º´·Ä ÇÁ·Î±×·¡¹ÖÀº ´õ ÀÌ»ó Àü¹®°¡µé¸¸À» À§ÇÑ ±â¼úÀÌ ¾Æ´Ï´Ù. ¿©·¯ºÐµéÀÌ Å¬·¯½ºÅͳª ¸ÖƼÄÚ¾î ÇÁ·Î¼¼¼ÀÇ °·ÂÇÑ ±â´ÉÀ» ÃæºÐÈ÷ »ç¿ëÇÏ°í ½Í´Ù¸é, ºÐ»ê ¸Þ¸ð¸® º´·Ä ÇÁ·Î±×·¡¹Ö°ú °øÀ¯ ¸Þ¸ð¸® º´·Ä ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ ¹è¿ö¾ß ÇÑ´Ù. ¡¶ÀÔ¹®ÀÚ¸¦ À§ÇÑ º´·Ä ÇÁ·Î±×·¡¹Ö¡·Àº ¿©·¯ºÐµéÀÌ MPI, Pthreads, OpenMP¸¦ »ç¿ëÇÏ¿© È¿À²ÀûÀÎ º´·Ä ÇÁ·Î±×·¥À» °³¹ßÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÏ°í ÀÖ´Ù. ÇлýÀÌµç ½Ç¹«¸¦ ÇÏ´Â Àü¹®°¡ÀÌµç »ó°ü¾øÀÌ ÇÇÅÍ ÆÄüÄÚÀÇ ÀÌ »õ·Î¿î Ã¥Àº ¿©·¯ºÐµé¿¡°Ô ºÐ»ê°ú °øÀ¯ ¸Þ¸ð¸® ÇÁ·Î±×·¥ÀÇ ¼º´ÉÀ» ¾î¶»°Ô ¼³°èÇÏ°í, µð¹ö±ëÇϸç, Æò°¡ÇÏ´ÂÁö ±× ¹æ¹ýÀ» ¾Ë·Á ÁÙ °ÍÀÌ´Ù.
¡á Æ©Å丮¾óÀ» »ç¿ëÇÏ¿© ÀÛÀº ÇÁ·Î±×·¡¹Ö ¿¹Á¦·Î ½ÃÀÛÇؼ Á» ´õ ±Ô¸ð°¡ Å« ¿¹Á¦µéÀ» ±¸ÃàÇÑ´Ù.
¡á ºÐ»ê°ú °øÀ¯ ¸Þ¸ð¸® ÇÁ·Î±×·¥À» ¼³°èÇÏ°í, µð¹ö±ëÇϸç, Æò°¡ÇÏ´Â µ¥ ÃÊÁ¡À» ¸ÂÃá´Ù.
¡á MPI, Pthreads, ±×¸®°í OpenMP ÇÁ·Î±×·¡¹Ö ¸ðµ¨À» »ç¿ëÇÏ¿© º´·Ä ÇÁ·Î±×·¥¿¡ ´ëÇÑ °³¹ßÀ» °Á¶ÇÑ´Ù.
ÀÌ Ã¥ÀÇ ±¸¼º
1ÀåÀº º´·Ä ÄÄÇ»ÆÃÀÌ ÄÄÇ»ÅÍ ºÐ¾ß¿¡¼ Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â ÀÌÀ¯¿¡ ´ëÇØ »ó´ëÀûÀ¸·Î ´ú ±â¼úÀûÀ¸·Î ¼³¸íÇÏ°í ÀÖ´Ù. ¶Ç, º´·Ä ½Ã½ºÅÛ°ú º´·Ä ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ °£´ÜÇÏ°Ô ¼Ò°³ÇÏ°í ÀÖ´Ù. 2ÀåÀº ÄÄÇ»ÅÍ Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇÑ ±â¼úÀû ¹è°æ Áö½ÄÀ» Á¦°øÇÑ´Ù. 3Àå, 4Àå, ±×¸®°í 5ÀåÀº MPI, Pthreads, ±×¸®°í OpenMP¸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¡¹ÖÀ» ¼Ò°³ÇÏ°í ÀÖÀ¸¸ç, 6Àå¿¡¼´Â µÎ °³ÀÇ Å« ÇÁ·Î±×·¥À» °³¹ßÇÑ´Ù. Çϳª´Â º´·Ä n-body ¼Ö·ç¼ÇÀÌ°í, ´Ù¸¥ Çϳª´Â º´·Ä Æ®¸® °Ë»öÀÌ´Ù. ÀÌ µÎ ÇÁ·Î±×·¥Àº ¼¼ °³ÀÇ API¸¦ ¸ðµÎ »ç¿ëÇؼ °³¹ßÇÑ´Ù. 7ÀåÀº ´Ù¾çÇÑ Ãø¸éÀÇ º´·Ä ÄÄÇ»Æÿ¡ ´ëÇØ Ãß°¡ÀûÀÎ Á¤º¸¸¦ °£·«ÇÏ°Ô ´Ù·ç°í ÀÖ´Ù. ÀÌ Ã¥Àº C ¾ð¾î¸¦ »ç¿ëÇÏ¿© ÇÁ·Î±×·¥À» °³¹ßÇϴµ¥, ±× ÀÌÀ¯´Â ÀÌ ¼¼ °¡Áö API°¡ ¸ðµÎ C ¾ð¾î ÀÎÅÍÆäÀ̽º¸¦ °®°í ÀÖÀ¸¸ç, C ¾ð¾î´Â »ç¿ëÇϱ⿡ »ó´çÈ÷ °£´ÜÇÑ ¾ð¾îÀÌ°í ¹è¿ì±âµµ »ó´ëÀûÀ¸·Î ½¬¿î ¾ð¾îÀ̱⠶§¹®ÀÌ´Ù. C ¾ð¾îÀÇ Á¦¾î ±¸Á¶¿¡ ´ëÇØ Àͼ÷ÇÑ C++À̳ª ÀÚ¹Ù °³¹ßÀڵ鵵 ¾î·Á¿ò ¾øÀÌ ÀÐÀ» ¼ö ÀÖ´Ù.
¸ñÂ÷
CHAPTER 1 ¿Ö º´·Ä ÄÄÇ»ÆÃÀΰ¡?
1.1 ¼º´É Áõ°¡ÀÇ Çʿ伺 2
1.2 º´·Ä ½Ã½ºÅÛÀ» ±¸ÃàÇØ¾ß ÇÏ´Â ÀÌÀ¯ 3
1.3 º´·ÄÈ ÇÁ·Î±×·¡¹ÖÀÌ ÇÊ¿äÇÑ ÀÌÀ¯ 4
1.4 º´·ÄÈ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â ¹æ¹ý 8
1.5 ¹è¿ï ³»¿ë 11
1.6 º´Çà, º´·Ä, ºÐ»ê 13
1.7 Ã¥ÀÇ ±¸¼º 14
1.8 ´çºÎÀÇ ¸» 14
1.9 ÀÌ Ã¥ÀÇ Ç¥±â ¹æ¹ý 15
1.10 ¿ä¾à 16
1.11 ¿¬½À¹®Á¦ 17
CHAPTER 2 º´·Ä Çϵå¿þ¾î¿Í º´·Ä ¼ÒÇÁÆ®¿þ¾î
2.1 ¾à°£ÀÇ ¹è°æ Áö½Ä 22
2.1.1 Æù ³ëÀ̸¸ ¾ÆÅ°ÅØó 22
2.1.2 ÇÁ·Î¼¼½º, ¸ÖƼŽºÅ·, ±×¸®°í ½º·¹µå 24
2.2 Æù ³ëÀ̸¸ ¸ðµ¨ÀÇ ¼öÁ¤ 26
2.2.1 ij½ÃÀÇ ±âº» °³³ä 26
2.2.2 ij½Ã ¸ÅÇÎ 29
2.2.3 ij½Ã¿Í ÇÁ·Î±×·¥: ¿¹Á¦ 30
2.2.4 °¡»ó ¸Þ¸ð¸® 32
2.2.5 ¸í·É¾î ·¹º§ º´·ÄÈ 35
2.2.6 Çϵå¿þ¾î ¸ÖƼ½º·¹µù 39
2.3 º´·Ä Çϵå¿þ¾î 40
2.3.1 SIMD ½Ã½ºÅÛ 40
2.3.2 MIMD ½Ã½ºÅÛ 44
2.3.3 ÀÎÅÍÄ¿³Ø¼Ç ³×Æ®¿öÅ© 48
2.3.4 ij½Ã ÀÏ°ü¼º 57
2.3.5 °øÀ¯ ¸Þ¸ð¸®¿Í ºÐ»ê ¸Þ¸ð¸® 61
2.4 º´·Ä ¼ÒÇÁÆ®¿þ¾î 62
2.4.1 °æ°í 63
2.4.2 ÇÁ·Î¼¼½º/½º·¹µåÀÇ Á¶Á¤ 63
2.4.3 °øÀ¯ ¸Þ¸ð¸® 65
2.4.4 ºÐ»ê ¸Þ¸ð¸® 71
2.4.5 ÇÏÀ̺긮µå ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö 75
2.5 ÀԷ°ú Ãâ·Â 76
2.6 ¼º´É 78
2.6.1 ½ºÇǵå¾÷°ú È¿À²¼º 78
2.6.2 ¾Ï´ÞÀÇ ¹ýÄ¢ 81
2.6.3 È®À强 83
2.6.4 ŸÀÌ¹Ö 84
2.7 º´·Ä ÇÁ·Î±×·¥ µðÀÚÀÎ 88
2.7.1 ¿¹Á¦ 89
2.8 º´·Ä ÇÁ·Î±×·¥ÀÇ ÀÛ¼º°ú ½ÇÇà 94
2.9 °¡Á¤ 94
2.10 ¿ä¾à 96
2.10.1 ½Ã¸®¾ó ½Ã½ºÅÛ 96
2.10.2 º´·Ä Çϵå¿þ¾î 98
2.10.3 º´·Ä ¼ÒÇÁÆ®¿þ¾î 100
2.10.4 ÀԷ°ú Ãâ·Â 102
2.10.5 ¼º´É 102
2.10.6 º´·Ä ÇÁ·Î±×·¥ ¼³°è 103
2.10.7 °¡Á¤ 104
2.11 ¿¬½À¹®Á¦ 104
CHAPTER 3 MPI¸¦ ÀÌ¿ëÇÑ ºÐ»ê ¸Þ¸ð¸® ÇÁ·Î±×·¡¹Ö
3.1 ½ÃÀÛÇϱâ 112
3.1.1 ÄÄÆÄÀÏ°ú ½ÇÇà 113
3.1.2 MPI ÇÁ·Î±×·¥ 115
3.1.3 MPI_Init°ú MPI_Finalize 116
3.1.4 Ä¿¹Â´ÏÄÉÀÌÅÍ, MPI_Comm_size¿Í MPI_Comm_rank 117
3.1.5 SPMD ÇÁ·Î±×·¥ 117
3.1.6 Åë½Å 118
3.1.7 MPI_Send 118
3.1.8 MPI_Recv 121
3.1.9 ¸Þ½ÃÁö ¸ÅĪ 121
3.1.10 status_p Àμö 123
3.1.11 MPI_Send¿Í MPI_RecvÀÇ µ¿ÀÛ ÀÇ¹Ì 124
3.1.12 ¾à°£ÀÇ ½É°¢ÇÑ ¹®Á¦ 126
3.2 MPI¸¦ »ç¿ëÇÑ »ç´Ù¸®²Ã ±ÔÄ¢ 126
3.2.1 »ç´Ù¸®²Ã ±ÔÄ¢ 126
3.2.2 »ç´Ù¸®²Ã ±ÔÄ¢ÀÇ º´·ÄÈ 128
3.3 I/OÀÇ Ã³¸® 131
3.3.1 Ãâ·Â 132
3.3.2 ÀÔ·Â 133
3.4 Ä÷ºÆ¼ºê Åë½Å 135
3.4.1 Æ®¸® ±¸Á¶ Åë½Å 135
3.4.2 MPI_Reduce 137
3.4.3 Ä÷ºÆ¼ºê Åë½Å ´ë ÀÏ´ëÀÏ Åë½Å 139
3.4.4 MPI_Allreduce 141
3.4.5 ºê·Îµåij½ºÆ® 141
3.4.6 µ¥ÀÌÅÍ ºÐ»ê 144
3.4.7 ½ºÄ³ÅÍ 146
3.4.8 °Ô´õ 148
3.4.9 Allgather 150
3.5 MPI ÆÄ»ý µ¥ÀÌÅÍ Å¸ÀÔ 153
3.6 ÇÁ·Î±×·¥ÀÇ ¼º´É Æò°¡ 157
3.6.1 ¼öÇà ½Ã°£ 159
3.6.2 °á°ú 162
3.6.3 ¼Óµµ Çâ»ó°ú È¿À²¼º 165
3.6.4 È®À强 166
3.7 º´·Ä Á¤·Ä ¾Ë°í¸®Áò 167
3.7.1 °£´ÜÇÑ ½Ã¸®¾ó Á¤·Ä ¾Ë°í¸®Áò 168
3.7.2 º´·Ä Ȧ¼ö-¦¼ö º¯È¯ Á¤·Ä 170
3.7.3 MPI ÇÁ·Î±×·¥¿¡¼ ¼¼ÀÌÇÁƼ 173
3.7.4 º´·Ä Ȧ¼ö-¦¼ö Á¤·ÄÀÇ ¸¶Áö¸· ¼³¸í 177
3.8 ¿ä¾à 179
3.9 ¿¬½À¹®Á¦ 185
3.10 ÇÁ·Î±×·¡¹Ö ¹®Á¦ 194
CHAPTER 4 Pthreads¸¦ ÀÌ¿ëÇÑ °øÀ¯ ¸Þ¸ð¸® ÇÁ·Î±×·¡¹Ö
4.1 ÇÁ·Î¼¼½º, ½º·¹µå, ±×¸®°í pthreads 200
4.2 HELLO, WORLD 202
4.2.1 ½ÇÇà 202
4.2.2 Áغñ 204
4.2.3 ½º·¹µåÀÇ ½ÃÀÛ 206
4.2.4 ½º·¹µåÀÇ ½ÇÇà 208
4.2.5 ½º·¹µåÀÇ ÁßÁö 209
4.2.6 ¿¡·¯ üŷ 210
4.2.7 ½º·¹µåÀÇ ½ÃÀÛ¿¡ ´ëÇÑ ´Ù¸¥ Á¢±Ù 210
4.3 ¸ÅÆ®¸¯½º-º¤ÅÍ °ö¼À 211
4.4 Å©¸®Æ¼Äà ¼½¼Ç 214
4.5 ºñÁö-¿þÀÌÆà 218
4.6 ¹ÂÅؽº 222
4.7 ÇÁ·Îµà¼-ÄÁ½´¸Ó µ¿±âÈ¿Í ¼¼¸¶Æ÷¾î 227
4.8 ¹è¸®¾î¿Í Á¶°Ç º¯¼ö 232
4.8.1 ºñÁö-¿þÀÌÆðú ¹ÂÅؽº 233
4.8.2 ¼¼¸¶Æ÷¾î 234
4.8.3 Á¶°Ç º¯¼ö 236
4.8.4 Pthreads ¹è¸®¾î 239
4.9 Àбâ-¾²±â Àá±Ý 239
4.9.1 ¸µÅ©µå ¸®½ºÆ® ÇÔ¼ö 239
4.9.2 ¸ÖƼ½º·¹µå ¸µÅ©µå ¸®½ºÆ® 242
4.9.3 Pthreads Àбâ-¾²±â Àá±Ý 246
4.9.4 ¿©·¯ °¡Áö ±¸Çö¿¡ ´ëÇÑ ¼º´É 247
4.9.5 Àбâ-¾²±â Àá±ÝÀÇ ±¸Çö 249
4.10 ij½Ã, ij½Ã ÀÏ°ü¼º, ±×¸®°í °ÅÁþ °øÀ¯ 250
4.11 ½º·¹µå ¼¼ÀÌÇÁƼ 257
4.11.1 ¿Ã¹Ù¸£Áö ¾ÊÀº ÇÁ·Î±×·¥ÀÌ ¿Ã¹Ù¸¥ Ãâ·ÂÀ» ³¾ ¼ö ÀÖ´Ù 260
4.12 ¿ä¾à 261
4.13 ¿¬½À¹®Á¦ 264
4.14 ÇÁ·Î±×·¥ ¹®Á¦ 272
CHAPTER 5 OpenMP¸¦ »ç¿ëÇÑ °øÀ¯ ¸Þ¸ð¸® ÇÁ·Î±×·¡¹Ö
5.1 ½ÃÀÛ 277
5.1.1 OpenMP ÇÁ·Î±×·¥ÀÇ ÄÄÆÄÀÏ°ú ½ÇÇà ¹æ¹ý 278
5.1.2 ÇÁ·Î±×·¥ 279
5.1.3 ¿À·ù üũ 283
5.2 »ç´Ù¸®²Ã ±ÔÄ¢ 284
5.2.1 ù ¹ø° openMP ¹öÀü 285
5.3 º¯¼öÀÇ ¹üÀ§ 290
5.4 °¨¼Ò Ŭ¶ó¿ìÁî 291
5.5 parallel for µð·ºÆ¼ºê 295
5.5.1 ÁÖÀÇ »çÇ× 297
5.5.2 µ¥ÀÌÅÍ ÀÇÁ¸¼º 298
5.5.3 ·çÇÁ¿¡ ÀÇÇÑ ÀÇÁ¸¼º ã±â 300
5.5.4 ÀÇ °è»ê 301
5.5.5 º¯¼ö ¹üÀ§ 304
5.6 OpenMP¿¡¼ ·çÇÁÀÇ ´Ù¸¥ ¿¹Á¦: Á¤·Ä 305
5.6.1 ¹öºí Á¤·Ä 305
5.6.2 Ȧ¼ö-¦¼ö º¯È¯ Á¤·Ä 307
5.7 ·çÇÁ ½ºÄÉÁÙ 310
5.7.1 schedule Ŭ¶ó¿ìÁî 312
5.7.2 static ½ºÄÉÁ٠ŸÀÔ 313
5.7.3 dynamic°ú guided ½ºÄÉÁ٠ŸÀÔ 314
5.7.4 runtime ½ºÄÉÁ٠ŸÀÔ 315
5.7.5 ¾î¶² ½ºÄÉÁÙÀ» »ç¿ëÇØ¾ß ÇÒ±î? 316
5.8 ÇÁ·Îµà¼¿Í ÄÁ½´¸Ó 317
5.8.1 ť 317
5.8.2 ¸Þ½ÃÁö ÆÐ½Ì 318
5.8.3 ¸Þ½ÃÁö Àü¼Û 319
5.8.4 ¸Þ½ÃÁö ¼ö½Å 319
5.8.5 Á¾·á °ËÃâ 320
5.8.6 ½ÃÀÛ 321
5.8.7 atomic µð·ºÆ¼ºê 322
5.8.8 Å©¸®Æ¼Äà ¼½¼Ç°ú Àá±Ý 323
5.8.9 ¸Þ½ÃÁö ÆÐ½Ì ÇÁ·Î±×·¥¿¡¼ Àá±ÝÀÇ »ç¿ë 326
5.8.10 critical µð·ºÆ¼ºê, atomic µð·ºÆ¼ºê, ȤÀº Àá±Ý? 327
5.8.11 ¸î °¡ÁöÀÇ ¹®Á¦Á¡ 328
5.9 ij½Ã, ij½Ã ÀÏ°ü¼º, °ÅÁþ °øÀ¯ 330
5.10 ½º·¹µå ¼¼ÀÌÇÁƼ 337
5.10.1 ¿Ã¹Ù¸£Áö ¾ÊÀº ÇÁ·Î±×·¥ÀÌ Á¤»óÀûÀÎ °á°ú¸¦ ¸¸µé¾î ³¾ ¼öµµ ÀÖ´Ù 340
5.11 Á¤¸® 341
5.12 ¿¬½À¹®Á¦ 346
5.13 ÇÁ·Î±×·¡¹Ö ¹®Á¦ 352
CHAPTER 6 º´·Ä ÇÁ·Î±×·¥ °³¹ß
6.1 µÎ °³ÀÇ n-body ¼Ö·ç¼Ç 357
6.1.1 ¹®Á¦ 358
6.1.2 µÎ °³ÀÇ ½Ã¸®¾ó ÇÁ·Î±×·¥ 359
6.1.3 ¼Ö·ç¼ÇÀÇ º´·ÄÈ 365
6.1.4 I/O 369
6.1.5 OpenMP¸¦ »ç¿ëÇÑ ±âº» ¼Ö·ç¼ÇÀÇ º´·ÄÈ 370
6.1.6 OpenMP¸¦ »ç¿ëÇÑ ¸®µà½º ¼Ö·ç¼ÇÀÇ º´·ÄÈ 373
6.1.7 OpenMP ÄÚµåÀÇ Æò°¡ 378
6.1.8 Pthreads¸¦ »ç¿ëÇÑ ¼Ö·ç¼ÇÀÇ º´·ÄÈ 380
6.1.9 MPI¸¦ »ç¿ëÇÑ ±âº» ¼Ö·ç¼ÇÀÇ º´·ÄÈ 381
6.1.10 MPI¸¦ »ç¿ëÇÑ ¸®µà½º ¼Ö·ç¼ÇÀÇ º´·ÄÈ 384
6.1.11 MPI ¼Ö·ç¼ÇÀÇ ¼º´É 391
6.2 Æ®¸® °Ë»ö 393
6.2.1 Àç±ÍÀû ±íÀÌ-¿ì¼± °Ë»ö 396
6.2.2 ºñÀç±ÍÀû ±íÀÌ-¿ì¼± °Ë»ö 397
6.2.3 ½Ã¸®¾ó ±¸ÇöÀ» À§ÇÑ ÀÚ·á ±¸Á¶ 400
6.2.4 ½Ã¸®¾ó ±¸ÇöÀÇ ¼º´É 402
6.2.5 Æ®¸® °Ë»öÀÇ º´·ÄÈ 402
6.2.6 pthreads¸¦ »ç¿ëÇÑ Æ®¸® °Ë»öÀÇ Á¤Àû º´·ÄÈ 405
6.2.7 pthreads¸¦ »ç¿ëÇÑ Æ®¸® °Ë»öÀÇ µ¿Àû º´·ÄÈ 408
6.2.8 Pthreads Æ®¸®-°Ë»ö ÇÁ·Î±×·¥ÀÇ Æò°¡ 413
6.2.9 OpenMP¸¦ »ç¿ëÇÑ Æ®¸®-°Ë»ö ÇÁ·Î±×·¥ÀÇ º´·ÄÈ 414
6.2.10 OpenMP ±¸ÇöÀÇ ¼º´É 418
6.2.11 MPI¿Í Á¤Àû ÆÄƼ¼Å´×À» »ç¿ëÇÑ Æ®¸® °Ë»öÀÇ ±¸Çö 419
6.2.12 MPI¿Í µ¿Àû ÆÄƼ¼Å´×À» »ç¿ëÇÑ Æ®¸® °Ë»öÀÇ ±¸Çö 429
6.3 Á¶¾ð 440
6.4 ¾î¶² API°¡ ÃÖ¼±Àΰ¡? 440
6.5 ¿ä¾à 441
6.5.1 Pthreads¿Í OpenMP 443
6.5.2 MPI 444
6.6 ¿¬½À¹®Á¦ 448
6.7 ÇÁ·Î±×·¡¹Ö ¿¬½À 461
CHAPTER 7 ±× ´ÙÀ½¿¡ ÇØ¾ß ÇÒ ÀÏ
Âü°í¹®Çå 469
ã¾Æº¸±â 473
º»¹®Áß¿¡¼
´ëºÎºÐ »ç¿ëÇÏ°í ÀÖ´Â °øÀ¯ ¸Þ¸ð¸® ½Ã½ºÅÛÀº Çϳª ȤÀº µÎ °³ÀÇ ¸ÖƼÄÚ¾î(multicore) ÇÁ·Î¼¼¼¸¦ »ç¿ëÇÑ´Ù. 1Àå¿¡¼ ¼³¸íÇÑ °Íó·³ ¸ÖƼÄÚ¾î ÇÁ·Î¼¼¼´Â ¿©·¯ °³ÀÇ CPU ȤÀº ¿©·¯ °³ÀÇ Äھ ÇϳªÀÇ Ä¨¿¡¼ »ç¿ëÇÑ´Ù. ÀϹÝÀûÀ¸·Î °¢ ÄÚ¾î´Â ÇÁ¶óÀ̺ø ·¹º§ 1 ij½Ã¸¦ °®°í ÀÖÀ¸¸ç ´Ù¸¥ ij½Ã´Â ÄÚ¾îµé °£¿¡ °øÀ¯ÇÒ ¼öµµ ÀÖÁö¸¸ °øÀ¯ÇÒ ¼ö ¾ø±âµµ ÇÑ´Ù. _46p
°ú°Å¿¡´Â ¸ðµç º´·Ä ÇÁ·Î±×·¥ °³¹ßÀº vi³ª Emacs¿Í °°Àº ÅؽºÆ® ¿¡µðÅ͸¦ »ç¿ëÇؼ °³¹ßµÆ´Ù. ±× ´ç½Ã ÇÁ·Î±×·¥Àº Ä¿¸Çµå ¶óÀÎÀ̳ª ¿¡µðÅÍ ³»ºÎ¿¡¼ ÄÄÆÄÀÏÇÏ°í ½ÇÇàÇß´Ù. µð¹ö°Å ¿ª½Ã Ä¿¸Çµå ¶óÀο¡¼ »ç¿ëÇß´Ù. ÇöÀç´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®³ª ÀÌŬ¸³½º(Eclipse) ÇÁ·ÎÁ§Æ® ȤÀº ´Ù¸¥ ȸ»ç³ª »çÀÌÆ®¿¡¼ Á¦°øÇÏ´Â ÅëÇÕ °³¹ß ȯ°æ(IDE, Integrated Development Environment)¸¦ »ç¿ëÇÑ´Ù. [16, 38]À» º¸ÀÚ. _94p
¸ÅÆ®¸¯½º-º¤ÅÍ °ö¼À ÇÁ·Î±×·¥ÀÇ ¼º´É¿¡ ´ëÇØ »ìÆ캸µµ·Ï ÇÏÀÚ. ´ëºÎºÐÀÇ ÆÄÆ®¿¡¼ ÇÁ·Î±×·¥ÀÇ ½ÇÇà ¼Óµµ°¡ ÃÖ´ëÇÑ ºü¸£°Ô ½ÇÇàÇÏ´Â °ÍÀ» ±â´ëÇϱ⠶§¹®¿¡ °°Àº ¹®Á¦¸¦ ÇØ°áÇÏ´Â ½Ã¸®¾ó ÇÁ·Î±×·¥º¸´Ù´Â º´·Ä·Î ÇÁ·Î±×·¥À» ÀÛ¼ºÇß´Ù. ÀÌ·¯ÇÑ ¿¹»óÀÌ ¸Â´Ù°í ¾î¶»°Ô °ËÁõÇÒ ¼ö ÀÖÀ»±î? ÀÌ¿¡ ´ëÇؼ´Â ¼½¼Ç 2.6¿¡¼ ³íÀÇÇß¾ú´Ù. µû¶ó¼ ¼½¼Ç 2.6¿¡¼ ¹è¿î ³»¿ë¿¡ ´ëÇØ ´Ù½Ã ±â¾ïÀ» µÇ»ì·Á º¸ÀÚ. _157p
Pthreads¿¡¼ ¹è¸®¾î¸¦ »ý¼ºÇÏ´Â ´õ ÁÁÀº ¹æ¹ýÀº Á¶°Ç º¯¼ö(condition variable)¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. Á¶°Ç º¯¼ö´Â ½º·¹µå°¡ ƯÁ¤ À̺¥Æ®³ª Á¶°Ç(condition)ÀÌ ¹ß»ýÇÒ ¶§±îÁö ½ÇÇàÀ» ¼½ºÆæµå(suspend)ÇÏ´Â µ¥ÀÌÅÍ °´Ã¼ÀÌ´Ù. À̺¥Æ®³ª Á¶°ÇÀÌ ¹ß»ýÇÒ ¶§ ´Ù¸¥ ½º·¹µå´Â ±× ½º·¹µå¿¡°Ô ¡°¿þÀÌÅ©¾÷(wake up)¡± ½Ã±×³ÎÀ» º¸³½´Ù. Á¶°Ç º¯¼ö´Â Ç×»ó ¹ÂÅؽº¿Í °ü·ÃÀÌ ÀÖ´Ù. _236p
Å¥(queue)´Â »õ·Î¿î Ç׸ñÀÌ Å¥ÀÇ ¡°µÚ¡±¿¡ »ðÀԵǰí Å¥ÀÇ ¡°¾Õ¡±¿¡¼´Â »èÁ¦µÇ´Â ÇüŸ¦ ¸®½ºÆ® ±¸Á¶ÀÇ ÀÚ·á ±¸Á¶¶ó´Â °ÍÀ» ±â¾ïÇÏÀÚ. Å¥´Â ½´ÆÛ¸¶ÄÏ¿¡¼ ¹°°ÇÀ» »ç±â À§ÇØ ÁÙÀ» ¼ ÀÖ´Â °í°´µéÀÇ ¸ð½À°ú ºñ½ÁÇÏ´Ù. ¸®½ºÆ®ÀÇ Ç׸ñÀº °í°´ÀÌ´Ù. »õ·Î¿î °í°´Àº ÁÙÀÇ ¡°µÚ¡±¿¡ °¡¼ ¼°í ´ÙÀ½ °í°´ÀÌ °è»êÀ» ÇÏ°í ³ª¸é ±× ´ÙÀ½ °í°´ÀÌ ÁÙÀÇ ¡°¾Õ¡±¿¡ ¼°Ô µÈ´Ù. _317p
ÀúÀÚ¼Ò°³
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
ÁÖ°£·©Å·
´õº¸±â»óÇ°Á¤º¸Á¦°ø°í½Ã
À̺¥Æ® ±âȹÀü
Àü°øµµ¼/´ëÇб³Àç ºÐ¾ß¿¡¼ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥
ÆǸÅÀÚÁ¤º¸
»óÈ£ |
(ÁÖ)±³º¸¹®°í |
---|---|
´ëÇ¥ÀÚ¸í |
¾Èº´Çö |
»ç¾÷ÀÚµî·Ï¹øÈ£ |
102-81-11670 |
¿¬¶ôó |
1544-1900 |
ÀüÀÚ¿ìÆíÁÖ¼Ò |
callcenter@kyobobook.co.kr |
Åë½ÅÆǸž÷½Å°í¹øÈ£ |
01-0653 |
¿µ¾÷¼ÒÀçÁö |
¼¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù) |
±³È¯/ȯºÒ
¹ÝÇ°/±³È¯ ¹æ¹ý |
¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼ ½Åû °¡´É |
---|---|
¹ÝÇ°/±³È¯°¡´É ±â°£ |
º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É |
¹ÝÇ°/±³È¯ ºñ¿ë |
º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã |
¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯ |
·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì |
»óÇ° Ç°Àý |
°ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½ |
¼ÒºñÀÚ ÇÇÇغ¸»ó |
·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© ó¸®µÊ ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀǼҺñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ |
(ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º´Â ȸ¿ø´ÔµéÀÇ ¾ÈÀü°Å·¡¸¦ À§ÇØ ±¸¸Å±Ý¾×, °áÁ¦¼ö´Ü¿¡ »ó°ü¾øÀÌ (ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º¸¦ ÅëÇÑ ¸ðµç °Å·¡¿¡ ´ëÇÏ¿©
(ÁÖ)KGÀ̴Ͻýº°¡ Á¦°øÇÏ´Â ±¸¸Å¾ÈÀü¼ºñ½º¸¦ Àû¿ëÇÏ°í ÀÖ½À´Ï´Ù.
¹è¼Û¾È³»
±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.
¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.