[강좌] 병목현ìƒì˜ ì´í•´ - 1ë¶€
병목현ìƒì´ëž€ ì˜ì–´ë¡œ bottleneckì´ë¼ê³ 한다. 단어 그대로 í•´ì„하ìžë©´ 병(bottle)ì˜ ëª©(neck)ì´ê³ ë§ ê·¸ëŒ€ë¡œ ë³‘ì˜ ìž…êµ¬ ë¶€ë¶„ì„ ë§í•œë‹¤. 병목현ìƒì€ "ë¬¼ì€ ë„“ì€ ìž…êµ¬ë¥¼ 통해 나오는 것 보다 ìž‘ì€ ë³‘ëª©ì„ í†µí•´ì„œ 나오는 ê²½ìš°ì— ë” ì ì€ ì–‘ì´ ìœ ì¶œëœë‹¤"ë¼ëŠ” 현ìƒì„ 우리 주위ì—서 쉽게 ë³¼ 수 있는 여러 ê²½ìš°ì— ëŒ€í•´ ì 용한 것ì´ë‹¤. 병목현ìƒì´ 가장 ë§Žì´ ì–¸ê¸‰ë˜ëŠ” 분야는 ì•„ë§ˆë„ êµí†µ ë¶„ì•¼ì¼ ê²ƒì´ë‹¤. í•„ìžëŠ” ìš´ì „ì„ ë§Žì´ í•˜ëŠ” 편ì´ë¼ì„œ ìš´ì „ ì¤‘ì— êµí†µë°©ì†¡ì„ ë§Žì´ ë“£ëŠ” 편ì¸ë° ì–´ëŠ ë¶€ë¶„ì´ ë§‰ížŒë‹¤ëŠ” ì •ë³´ë¥¼ 들으며 우연히 ê·¸ 근처를 지나다 ë³´ë©´ ì‚¬ê³ ê°€ 나 있거나 ê°‘ìžê¸° 공사가 있어서 한 ì°¨ì„ ì„ ë§‰ê³ ìžˆëŠ” 경우가 대부분ì´ê³ ìƒìеì 으로 êµí†µ ì²´ì¦ì´ 있는 장소는 ê±°ì˜ ëŒ€ë¶€ë¶„ ë„“ì—ˆë˜ ê¸¸ì´ ì¢ì•„지는 ê²½ìš°ì— êµí†µ ì²´ì¦ì´ ë§Žì´ ìƒê¸°ê²Œ ë˜ëŠ” ê²ƒì„ ë³¼ 수 있다. ì´ëŸ¬í•œ 경우가 바로 병목현ìƒì˜ 대표ì ì¸ ì˜ˆì¼ ê²ƒì´ë‹¤.
ì´ëŸ¬í•œ 병목현ìƒì€ 비단 êµí†µ 분야ì—ë§Œ ì ìš©ë˜ëŠ” ê²ƒì€ ì•„ë‹ˆë‹¤. ì‹¤ì œë¡œ ê°ì¢… ìœ ì²´ì˜ íë¦„ì„ ì œì–´í•˜ëŠ” ìœ ì²´ ì—í•™ì´ ì ìš©ë˜ëŠ” 기계 공학 쪽ì´ë‚˜ ì¼ì •한 ì‹œê°„ì— ì œí’ˆì„ ìƒì‚°í•´ì•¼ 하는 ìƒì‚°ë¼ì¸, ê·¸ë¦¬ê³ ì•žìœ¼ë¡œ 알아볼 컴퓨터ì—까지 병목현ìƒì€ 우리 주ì˜ì— í넓게 존재한다. 병목현ìƒì´ 나타나게 ë˜ë©´ 병목현ìƒì´ 없는 ê²½ìš°ì— ë¹„í•´ ëª¨ë“ ê²ƒì´ ëŠë ¤ì§„다. 즉, 거리ì—서 병목현ìƒì´ 나타나면 ìžë™ì°¨ì˜ ì†ë„ê°€ ëŠë ¤ì§€ê³ ìƒì‚°ë¼ì¸ì—서 병목현ìƒì´ 나타나면 ì œí’ˆì˜ ìƒì‚°ì´ ëŠë ¤ì§€ë©° 컴퓨터ì—서 병목현ìƒì´ 나타나면 ì»´í“¨í„°ì˜ ì†ë„ê°€ ëŠë ¤ì§€ëŠ” 결과를 얻게 ëœë‹¤. ë”°ë¼ì„œ ì´ëŸ¬í•œ 병목현ìƒì„ ì—†ì• ëŠ” ê²ƒì´ ì†ë„는 높ì´ëŠ” 지름길ì´ë‹¤.
ê·¸ë ‡ë‹¤ë©´ 병목현ìƒì„ 어떻게 ì—†ì• ëŠ” ê²ƒì´ ì¢‹ì„까? ì´ëŠ” ë„ë¡œì˜ ê²½ìš°ë¥¼ 예를 들면 ì´í•´ê°€ ë¹ ë¥¼ 것ì´ë‹¤. 갑작스러운 공사로 ì¸í•´ 한 ê°œì˜ ì°¨ì„ ì´ ë§‰ížŒ 경우ë¼ë©´ 공사가 시작ë˜ëŠ” 시ì ì„ ê¸°ì¤€ìœ¼ë¡œ 병목현ìƒì´ ë°œìƒí•œë‹¤. 하지만 ì´ëŸ¬í•œ 병목현ìƒì´ í•ìƒ ë°œìƒí•˜ëŠ” ê²ƒì€ ì•„ë‹ˆë‹¤. ë§Œì•½ì— ê·¸ ë„로를 지나는 ì°¨ëŸ‰ì´ ì–‘ì´ ê·¸ë¦¬ ë§Žì§€ 않다면 병목현ìƒì€ ë°œìƒí•˜ì§€ 않는다. 그러나 ì°¨ëŸ‰ì˜ ì–‘ì´ ì¼ì •한 ìˆ˜ì¤€ì„ ë„˜ì–´ì„œê²Œ ë˜ë©´ 병목현ìƒì´ ìƒê¸°ê¸° ì‹œìž‘í•˜ëŠ”ë° ì´ëŸ¬í•œ 병목 형ìƒì„ 해결하는 ë°©ë²•ì€ ì°¨ëŸ‰ í†µí–‰ì´ ì ì€ ìƒˆë²½ ì‹œê°„ì„ ì´ìš©í•´ 공사를 진행하는 방법과 ë¶€ë“ì´ ì°¨ëŸ‰ í†µí–‰ì´ ë§Žì€ ì‹œê°„ì— ê³µì‚¬ë¥¼ 해야 한다면 êµí†µëŸ‰ì´ ì ì€ ë„로로 미리 ì°¨ëŸ‰ì„ ìš°íšŒì‹œí‚¤ëŠ” 방법, 반대편ì—서 오는 ì°¨ëŸ‰ì´ ì ì€ ê²½ìš°ëŠ” 임시 ì°¨ì„ ì„ ì„¤ì¹˜í•´ì„œ ì°¨ì„ ìˆ˜ë¥¼ 줄ì´ì§€ ì•Šê³ ì°¨ëŸ‰ë“¤ì„ í†µê³¼í•˜ê²Œ 하는 방법과 ê°™ì´ ì—¬ëŸ¬ 가지 í•´ê²°ì±…ì´ ìžˆì„ ìˆ˜ 있다. ë¬¼ë¡ ì´ëŸ¬í•œ ì¡°ì¹˜ë“¤ì€ ë¬´ì²™ì´ë‚˜ 간단해 ë³´ì´ì§€ë§Œ ì´ëŸ¬í•œ 병목현ìƒì´ 여러 부분ì—서 ë°œìƒí•˜ëŠ” ê²½ìš°ì— ì „ì²´ì ì¸ êµí†µëŸ‰ê³¼ ì°¨ëŸ‰ì˜ íë¦„ì„ ë³´ì•˜ì„ ê²½ìš° ëª¨ë“ ì°¨ë“¤ì˜ íë¦„ì„ ì›í™œí•˜ê²Œ 하는 ê²ƒì´ ê·¸ë¦¬ 쉬운 ë¬¸ì œë§Œì€ ì•„ë‹ˆë‹¤. 그래서 ê°ì¢… 수학ì 모ë¸ì´ë‚˜ ë…¼ë¬¸ë“¤ì´ ì•„ì§ë„ 발표ë˜ê³ ìžˆê³ ì´ë¥¼ 해결하기 위해 ë…¸ë ¥í•˜ëŠ” 여러 연구 단체나 공무ì›ë“¤ë„ 존재하는 것ì´ë‹¤.
ì´ëŸ¬í•œ 병목현ìƒì€ ìš°ë¦¬ë“¤ì´ ì‚¬ìš©í•˜ëŠ” 컴퓨터ì—ì„œë„ ë§Žì€ ë¶€ë¶„ì— ê±¸ì³ ì¡´ìž¬í•œë‹¤. 병목현ìƒì´ ìƒê¸°ê²Œ ë˜ë©´ ì»´í“¨í„°ì˜ ì†ë„ê°€ ìƒë‹¹ížˆ ëŠë ¤ì§€ê²Œ ë˜ë¯€ë¡œ 병목현ìƒì„ 해결하는 ê²ƒì´ ì»´í“¨í„°ì˜ ì†ë„를 높ì´ëŠ” 지름길ì´ë‹¤. ì´ì œ 컴퓨터ì—서 ë°œìƒí•˜ëŠ” 병목현ìƒì— 대해 구체ì 으로 알아보기로 하ìž. ì•„ëž˜ì˜ ê¸€ì€ í•„ìžê°€ howpcì— ì—°ìž¬í–ˆë˜ ê¸°ì‚¬ì—서 ì¸ìš©í–ˆìŒì„ ë°ížŒë‹¤.
ë³‘ëª©ì˜ ì›ì¸ê³¼ 해결법
컴퓨터ì—서 병목현ìƒì´ ë°œìƒí•˜ëŠ” ì›ì¸ì€ 여러 가지가 있지만 가장 ê°„ë‹¨í•˜ê³ ì•Œê¸° 쉬운 방법으로 설명하ìžë©´ ì†ë„ê°€ ëŠë¦¬ê±°ë‚˜ ìš©ëŸ‰ì´ ì ì€ ì£¼ë³€ê¸°ê¸°ë¥¼ 사용하는 ê²½ìš°ì— ê°€ìž¥ ë§Žì´ ë°œìƒí•œë‹¤. 가장 간단한 예로 펜티엄 III 933MHzì— ë©”ëª¨ë¦¬ 512메가바ì´íЏ, 7200rpm 하드디스í¬ì— Geforce GTS ì¹©ì„ ì‚¬ìš©í•œ 그래픽 카드를 장착한 시스템ì—서 28.8kbpsì˜ êµ¬í˜• ëª¨ëŽ€ì„ ê°€ì§€ê³ ì¸í„°ë„·ì— ì ‘ì†í•´ ìžë£Œë¥¼ ë‹¤ìš´ë¡œë“œë°›ëŠ”ë‹¤ê³ ê°€ì •í•´ ë³´ìž. 다른 ëª¨ë“ ì‹œìŠ¤í…œì˜ ì†ë„는 ìµœê³ ì˜ ìƒíƒœìž„ì—ë„ ë¶ˆêµ¬í•˜ê³ ëª¨ëŽ€ì˜ ì†ë„ê°€ ëŠë¦¬ë‹¤ëŠ” ì´ìœ 하나만으로 ì¸í„°ë„· ì ‘ì†ì´ë‚˜ íŒŒì¼ ì—…ë¡œë“œ/다운로드를 하는 ê²½ìš°ì— ì—„ì²ë‚œ ì¸ë‚´ì‹¬(?)ì„ ê°€ì ¸ì•¼ ë˜ëŠ” ê²ƒì€ ë‹¹ì—°í•˜ë‹¤. ì´ëŸ¬í•œ ê²½ìš°ì— í•´ê²°ì±…ì€ ë¬´ì—‡ì¼ê¹Œ? 바로 ì´ˆê³ ì† í†µì‹ ë§ì„ 사용하는 것ì´ë‹¤. 구형 ëª¨ëŽ€ì„ ê³¼ê°ížˆ ì œê±°í•œ ë‹¤ìŒ ADSLì´ë‚˜ ì¼€ì´ë¸” ëª¨ëŽ€ì„ í†µí•œ ì´ˆê³ ì† í†µì‹ ë§ì„ 사용한다면 모뎀 ë•Œë¬¸ì— ë°œìƒí•˜ëŠ” 병목현ìƒì„ ì œê±°í• ìˆ˜ 있다.
하지만 ì‹¤ì œë¡œ 컴퓨터를 ì‚¬ìš©í•˜ëŠ”ë° ìžˆì–´ì„œ ì–´ë– í•œ ë¶€ë¶„ì´ ì‹¤ì œë¡œ 병목현ìƒì„ ì¼ìœ¼í‚¤ëŠ”ì§€ë¥¼ ìžì„¸ížˆ ë¶„ì„한다는 ê²ƒì€ ìƒë‹¹ížˆ 힘들다. 엄밀히 ë§í•´ì„œ ì´ëŸ¬í•œ ìž‘ì—…ë“¤ì€ ì»´í“¨í„° ë‚´ë¶€ì— ìžˆëŠ” ê°ì¢… íšŒë¡œë“¤ì„ ë¶„ì„해서 ì–´ë– í•œ ë°ì´í„° 버스가 ì–´ë–¤ ìƒíƒœë¡œ 있는지를 ì²´í¬í•´ì•¼ 하며 대기 ìƒíƒœê°€ 얼마나 ë˜ëŠ”ì§€ë¥¼ ë¶„ì„í•˜ê³ ëŒ€ê¸° ìƒíƒœê°€ 나오게 ë˜ëŠ” ì›ì¸ì„ ë¶„ì„해야 하는지를 ì²´í¬í•´ì•¼ 근본ì ì¸ ë¬¸ì œê°€ í•´ê²°ë˜ê¸° 때문ì´ë‹¤. 그러나 ì¼ë°˜ì 으로 컴퓨터를 사용하는 사용ìžë“¤ì´ ì´ëŸ¬í•œ ìž‘ì—…ì„ í•œë‹¤ëŠ” ê²ƒì€ ê±°ì˜ ë¶ˆê°€ëŠ¥í•˜ë‹¤. 하지만 ê±±ì •í• í•„ìš”ëŠ” 없다. 옛ë§ì—ë„ '나무를 ë³´ì§€ë§ê³ ìˆ²ì„ ë³´ë¼'란 ê²©ì–¸ì´ ìžˆë“¯ì´ ê·¼ë³¸ì ì¸ ë¶„ì„보다는 ì–´ë– í•œ 하드웨어나 소프트웨어가 ì–´ë– í•œ ì—í• ì„ í•˜ê³ ì´ê²ƒ ë•Œë¬¸ì— ì–´ëŠ ì •ë„ì˜ ë³‘ëª©í˜„ìƒì´ ë°œìƒí•˜ëŠ”ì§€ë¥¼ 찾아내서 ë¬¸ì œê°€ ë˜ëŠ” 하드웨어나 소프트웨어를 êµì²´í•´ì£¼ëŠ” 것으로 ë¬¸ì œë¥¼ í•´ê²°í• ìˆ˜ 있기 때문ì´ë‹¤.
ë¬¼ë¡ ê°ê°ì˜ 하드웨어나 소프트웨어를 좀 ë” íš¨ìœ¨ì 으로 ë‚비가 ì—†ë„ë¡ ì„¤ê³„í•˜ëŠ” ê²ƒì€ í•˜ë“œì›¨ì–´ë‚˜ 소프트웨어를 설계하는 설계ìžì—게 맡기면 ëœë‹¤.
ì•„ì´ëŸ¬ë‹ˆì»¬í•˜ê²Œë„ ì´ëŸ¬í•œ 논리로 ë³´ì•˜ì„ ê²½ìš° 병목현ìƒì´ 가장 ì 게 ì¼ì–´ë‚˜ëŠ” 조합으로 컴퓨터를 꾸미는 ê²ƒì€ ì‹œì¤‘ì—서 êµ¬í• ìˆ˜ 있는 가장 ì¢‹ì€ ë¶€í’ˆë“¤(ì´ëŸ¬í•œ ë¶€í’ˆë“¤ì€ ì¸í„°ë„·ì˜ ê°ì¢… ë²¤ì¹˜ë§ˆí¬ ì‚¬ì´íŠ¸ë¥¼ 통해 ì •ë³´ë¥¼ ì–»ì„ ìˆ˜ 있다)ì„ ëª¨ì•„ì„œ 컴퓨터를 조립하는 것ì´ë‹¤. 그러나 ì´ ë°©ë²•ì€ ê°€ê²©ì ì¸ ë¬¸ì œê°€ ê±¸ë ¤ì„œ ì¼ë°˜ 사용ìžë“¤ì´ 시ë„하기ì—는 ë¶€ë‹´ì´ ë„ˆë¬´ í¬ë‹¤. ë”°ë¼ì„œ ì¼ë°˜ 사용ìžë“¤ì´ ì‚¬ìš©í• ìˆ˜ 있는 가장 ì¢‹ì€ ë³‘ëª©í˜„ìƒì„ 해결하는 ë°©ë²•ì€ ë‹¤ìŒê³¼ 같다.
-ì–´ë–¤ ìš©ë„로 컴퓨터를 ì‚¬ìš©í• ê²ƒì¸ì§€ë¥¼ ê²°ì •í•œë‹¤.
컴퓨터를 ì–´ë– í•œ ìš©ë„로 ì‚¬ìš©í• ê²ƒì¸ì§€ë¥¼ ê²°ì •í•˜ëŠ” 것ì´ì•¼ë§ë¡œ 병목현ìƒì„ 해결하는 가장 기본ì ì¸ ì‹œìž‘ì´ë‹¤. ì¸í„°ë„·ì„
í…스트 형ì‹ì˜ e-mailë§Œ ì²´í¬í•˜ëŠ” ìš©ë„로 ì¼ì£¼ì¼ì— 5ë¶„ë§Œ 사용한다면 êµ³ì´ ì´ˆê³ ì† í†µì‹ ë§ì´ë‚˜ 네트워í¬ì˜ 병목현ìƒì„ 해결하기 위해 ìžê¸ˆì„
투ìží• 필요가 없다.
실험실ì—서 ì‹œë®¬ë ˆì´ì…˜ì„ 하는 경우ë¼ë©´ CPUì˜ ì†ë„와 메모리가 가장 중요한 요소가 ë˜ê³ ê²Œìž„ì„ ì£¼ë¡œ 하는 경우ë¼ë©´ 비디오 ì¹´ë“œì— íˆ¬ìžë¥¼
ë§Žì´ í•´ì•¼ 한다. ë™ì˜ìƒ íŽ¸ì§‘ì„ í•˜ëŠ” 경우ë¼ë©´ ë¹ ë¥¸ CPU와 메모리, ê·¸ë¦¬ê³ í•˜ë“œë””ìŠ¤í¬ê°€ í•„ìš”í• ê²ƒì´ë‹¤. ì´ì²˜ëŸ¼ ìžì‹ ì´ ì–´ë– í•œ ìž‘ì—…ì— ì»´í“¨í„°ë¥¼
사용하는지를 알아서 ìš©ë„ì— ë§žëŠ” í•´ê²°ì±…ì„ ìƒê°í•´ì•¼ 한다.
-가격대 성능비를 ìƒê°í•œë‹¤.
컴퓨터를 ì‚¬ìš©í• ìš©ë„ê°€ ì •í•´ì¡Œë‹¤ë©´ ìš©ë„ì— ì•Œë§žì€ ë¶„ì•¼ 중ì—서는 가급ì ì¢‹ì€ ë¶€í’ˆì„ ì‚¬ìš©í•˜ëŠ” ê²ƒì´ ë³‘ëª©í˜„ìƒì„ ì—†ì• ëŠ” 지름길ì´ë‹¤. ê·¸ë ‡ë‹¤ê³ ë¬´ìž‘ì • ìµœê³ ì˜ ì œí’ˆë§Œì„ ê³ ì§‘í• í•„ìš”ëŠ” 없다. 대표ì ì¸ ì˜ˆê°€ 바로 그래픽 카드ì¸ë° 그래픽 카드는 ê°™ì€ ì¹©ì…‹ì˜ ì œí’ˆì´ë¼ê³ 하ë”ë¼ë„ SDRê³¼ DDRì— ë”°ë¼ ê°€ê²© ì°¨ì´ê°€ ë‚˜ê³ ê°™ì€ DDRì—ì„œë„ ë©”ëª¨ë¦¬ í¬ê¸°ì— ë”°ë¼ ê°€ê²©ì°¨ê°€ ë§Žì´ ë‚œë‹¤. ì´ˆê³ í•´ìƒë„로 ê²Œìž„ì„ êµ³ì´ ë¹ ë¥´ê²Œ 하는 경우가 아니ë¼ë©´ ì 당한 í•´ìƒë„ì—서 ë¹ ë¥´ê²Œ ê²Œìž„ì„ ì¦ê¸¸ 수 있는 ìš©ëŸ‰ì„ ê°€ì§„ 비디오 카드를 구입하는 ê²ƒì´ 2ë°° ì´ìƒì˜ ëˆì„ 들ì´ê³ ë„ 5%ì˜ ë³‘ëª©í˜„ìƒë„ 해결하지 못하는 과오를 범하지 않는 지름길ì´ë‹¤.
-가장 ë³‘ëª©ì´ ì‹¬í•œ ë¶€ë¶„ì„ ì°¾ëŠ”ë‹¤.
ìžì‹ ì´ ë§Žì´ ì‚¬ìš©í•˜ëŠ” 분야ì—서 가장 ë³‘ëª©ì´ ì‹¬í•œ ë¶€ë¶„ì„ ì°¾ì•„ì•¼ 한다. 만약 효율ì 으로 ì“°ì´ì§€ 않는 장치가 있거나 다른 ìžì›ì„ ì‚¬ìš©í•˜ê³ ìžˆëŠ” 장치, 너무 ëŠë¦° 장치, ìž¥ì¹˜ë‚´ì˜ ë¶€í•˜ë¥¼ ì¡°ì ˆí• ëŠ¥ë ¥ì„ ê°€ì§€ê³ ìžˆì§€ ì•Šì€ ìž¥ì¹˜(로드 밸런싱(Load balancing)ì´ ì•ˆë˜ëŠ” 장치)ê°€ 있다면 병목현ìƒì„ ì¼ìœ¼í‚¤ë¯€ë¡œ ì´ëŸ¬í•œ ë¶€ë¶„ì„ ì°¾ì•„ ì„¤ì •ì„ ë°”ê¾¸ê±°ë‚˜ 새로운 하드웨어로 바꾸어 주는 ìž‘ì—…ì´ í•„ìš”í•˜ë‹¤. 때때로 병목현ìƒì€ 다른 ë³‘ëª©ì— ì˜í•´ì„œ ì›ì¸ì´ ë ìˆ˜ë„ ìžˆìœ¼ë¯€ë¡œ ìµœì´ˆì˜ ë³‘ëª©ì„ í•´ê²°í•˜ëŠ” ê²ƒì´ ë‹¤ë¥¸ ë³‘ëª©ì„ í•´ê²°í•˜ëŠ”ë° ê·¼ë³¸ì 으로 ë” ì¤‘ìš”í•˜ë‹¤.
ë‚´ 컴퓨터 ë³‘ëª©í˜„ìƒ ì§„ë‹¨í•˜ê¸°
병목현ìƒì„ ì¼ìœ¼í‚¬ 수 있는 여러 가지 사í•ì„ ì§ì ‘ 테스트해 ë³¼ 수 있는 ë°©ë²•ì„ ì‰¬ìš´ ì›ë¦¬ 설명과 함께 ìžì„¸ížˆ 알아보ìž. ì°¸ê³ ë¡œ 다ìŒì— 사용하는 ë²¤ì¹˜ë§ˆí¬ í”„ë¡œê·¸ëž¨ì€ ìœˆë„ìš° 2000ê³¼ 윈ë„ìš° Me, 98ì— ê¸°ë³¸ì 으로 í¬í•¨ëœ 프로그램ì´ê±°ë‚˜ Kbench ìžë£Œì‹¤ì—서 ë°›ì„ ìˆ˜ 있는 것들ì´ë‹¤.