[강좌] 병목현ìƒì˜ ì´í•´ - 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 ìžë£Œì‹¤ì—서 ë°›ì„ ìˆ˜ 있는 것들ì´ë‹¤.


ì¼€ì´ë²¤ì¹˜ ë§Žì´ ë³¸ 뉴스