1. 개요
Bottleneck effect병(甁)은 일반적으로 목 부분이 좁아 물이나 액체를 따를 때 갑자기 쏟아지는 것을 방지하게 되어 있다. 따라서 아무리 병의 크기가 커도 목 부분이 작으면 흘러나오는 액체의 양에 제한이 걸리게 된다. 그래서 어떠한 특정 요소의 한계 때문에 전체가 제한받는 상황을 병(bottle)의 목(neck)에 비유해서 병목현상(bottleneck effect)이라 부른 것이다.
제조 공정 중에 특정 공정의 시간이 오래 걸리거나 수율이 좋지 않아 나머지 공정은 원활하게 이루어져도 완성품이 제대로 안 나온다든가 아니면 특정 원료의 수급에 차질이 생겨서 전체 생산에 영향을 준다든가 하는 것들이 모두 병목 현상의 예.
다른 의미로 "애로 공정"이라고 한다.
1.1. 글자 그대로의 병목 현상
흔히 알던 것과는 달리 베르누이의 법칙과는 관련이 없으며 오히려 베르누이 법칙을 이용한 벤츄리 관에서 일어나는 현상과는 반대현상이다. 정확하게는 어느정도 관련이 있기는 하나 베르누이 정리는 어떤 관의 유체의 앞뒤 압력과 속도 변화를 서술하는 방정식이지 넓고 좁은 서로 두 관의 유량을 비교하는 방정식이 아니다. 당연히 넓은 관이 전부하가 적고 유량이 크다.참고로 유체는 병목 현상이 일어난다고 해도 압력이 충분하다면 유체의 속도가 빨라지기 때문에 어느정도 해소가 된다. 예를 들면 수압 절단기는 병목 현상을 이용해 물을 고압, 고속으로 쏘아낸다.
2. 도로 교통
Bottleneck |
차로의 경우, 큰 차로가 특정 부분부터 대폭 줄어들어 발생하는 교통 체증 현상을 의미할 때 병목 현상이란 말을 쓴다. 이런 현상이 발생하게 된다면 많은 차량들을 분산시켜주던 차로가 그 기능을 상실하게 되고, 심하면 분산되어있던 모든 차량이 다시금 단 한 차로에 몰리게 된다.
이 경우는 일반적인 의미의 병목현상보다 상황이 오히려 더 나쁜데, 자동차는 멈추고 다시 출발하는 데에 약간의 딜레이가 있기 때문이다. 차로의 좁아지는 구간에서 이 딜레이가 누적되기 때문에 처음부터 끝까지 계속 좁은 차로보다 오히려 중간중간 넓어졌다 좁아졌다 하는 차로가 자동차 운행에 더 안 좋다.
대한민국의 대부분의 고속도로는 수도권 혹은 부산·울산권으로 갈수록 차로의 개수가 늘어나도록 건설되어 있다. 주말이나 명절 등에는 이들 지역의 구석진 곳을 방문하곤 하는데 이쪽에는 차로 수가 적은 반면 차량 수는 그다지 줄어들지 않아서 종종 발생하기도 한다.
두 도로가 만나서 합쳐지면서 차로수가 줄어드는 곳에도 발생한다.
도로-차가 아니라 플랫폼-인간이긴 하지만 도시철도에서도 병목 현상이 발생한다. 환승구간이 짧은데 유동인구가 많은 경우 플랫폼과 환승구간에 과부하가 걸릴 수 있다. 환승 구간이 지나치게 긴 막장환승은 유동성을 분산시키기 때문에 역으로 도움이 되는 경우가 있다. 이걸 설계에 그대로 반영한 게 군자역이다. 서울 지하철 5호선과 서울 지하철 7호선이 정확하게 십자로 교차함에도 환승통로를 정중앙이 아닌 5호선 승강장 끝으로 빼버린 것은 조금이라도 통로의 수용량을 늘리기 위한 것이다.
[clearfix]
2.1. 한국의 사례
- 요금소 (서울요금소, 동서울요금소, 서서울요금소, 구리남양주요금소, 양주요금소, 김포요금소, 청계요금소, 성남요금소, 동광주요금소, 서부산요금소 등 고속도로 본선상에 있는 요금소)
- 휴게소
- 대도시를 지나는 고속도로의 인터체인지[1]
- 중부고속도로 호법JC → 일죽IC[2]
- 경부고속도로 → 경부간선도로[3]
- 강남순환로 사당IC, 양재IC
- 강변북로와 올림픽대로
- 동부간선도로[4]
- 동해고속도로 부산 시점 - 해운대IC[5]
- 수도권제1순환고속도로
- 서해안고속도로 → 서부간선도로[6]
- 제2경인고속도로 일직JC 및 석수IC
- 북부간선도로[7]
- 경인고속도로 → 국회대로[8]
- 제2경인고속도로 남동IC, 광명IC 구간[9][10]
- 제2경인고속도로 여수대로IC: 진출 차량은 지하차도 상부에서 신호대기를 받다보니 퇴근 시간대에 대기줄이 길어지는 현상이 발생한다.
- 제3경인고속화도로 → 서해안고속도로 목감IC: 평면 교차로가 있어 신호대기로 인해 출퇴근 시간대에 차량이 밀린다.
- 남해고속도로 칠원JC ~ 창원JC[11]
- 이 중 창원1터널은 고속도로 사고 전국 1위 터널이라는 타이틀을 가진 이른바 죽음의 터널로 불리는 곳이다. 자세한 것은 해당 문서 참조.
- 호남고속도로 문흥JC → 동광주IC[12]
- 경부고속도로 북천안IC: 출근시간대에는 서울방향이 정체되고, 반대로 퇴근시간에는 부산방향이 정체된다. 4차선에서 5차선으로 끼어들기를 하는 차량들 때문에 진출로 앞에 스마트국민제보로 신고할수 있다는 팻말도 있다.
- 논산천안고속도로 천안JC ~ 정안IC( ~ 공주JC)[13]
- 이 중 차령터널은 상습정체구간이자 사고다발구간이므로 각별한 주의가 필요하다.
- 평택시흥고속도로 군자JC → 남안산IC[14]
- 중부내륙고속도로 낙동JC ~ 김천JC[15]
- 너릿재터널
- 창원터널[16]
- 광주원주고속도로 초월IC → 동곤지암IC[17]
- 동일로변의 상촌 IC[18]
- 자유로[19]
- 43번 국도 죽전역 구간
- 내부순환로
- 서부산낙동강교 → 동서고가로[20]
- 만덕터널[21]
- 번영로(부산)[22] [23]
- 황령터널[24]
- 신천대로[25]
- 중부내륙고속도로지선 서대구요금소 ~ 금호JC[26]
- 중부내륙고속도로 칠원JC 부산방향 진출부[27]
- 산성터널 회동동 방향 장전동 출구
- 윤산터널 화명동 방향 부곡동 출구[28]
- 38번 국도 퍼시스사거리 ~ 내리사거리[29]
2.2. 철도의 경우
- 경부고속선 SR분기~오송역 구간
참고로 이 구간의 하루에 한정된 선로 용량이 190회로 지정 돼있으나 실제로 열차가 지나가는 횟수는 하루 176회라고 한다. 심지어 주말에는 열차가 추가 증편이 이루어 지기에 하루 열차가 다니는 횟수는 180회가 넘어간다. 이 문제를 해결하기 위해 평택-오송 고속철도가 공사 중이고, 2028년 착공 예정이다. - 경부선 서울역~금천구청역 구간
원래는 경부고속선을 설계할 당시부터 서울역과 광명역을 지하로 연결하는 고속열차 전용선을 설치할 계획이었으나, 예산 문제로 전용선이 무산되어 이 구간에서 일반열차와 선로를 공용하면서 선로가 포화되고 있다. 또한 광명역의 접근성 문제로 인해 영등포역에서 출발해 금천구청역을 거쳐 시흥연결선을 통해 광명역까지 가는 광명셔틀이 운행하고 있는데, 안그래도 부족한 선로 용량을 깎아먹고 있다. 이 문제를 해결하기 위해 수서평택고속선이 개통되었고, 수색-광명 고속철도가 추진되고 있다. 또한 영등포와 광명을 잇는 신안산선 1차 구간(여의도~한양대(에리카) 및 원시) 및 경강선 월곶~판교 구간이 개통될 경우 광명셔틀 문제도 해결될 예정이다.[30] - 경의선 서울역~수색역 구간
일반열차가 입출고할 때 해당 구간을 거쳐 수색역에서 수색객차출발선을 통해 수색차량사업소까지 가고, KTX 또한 입출고시 해당 구간을 거쳐 한국항공대역에서 고양기지선을 통해 수도권철도차량정비단(행신역 KTX 승강장)까지 가며, 평화생명관광열차가 경의선 전 구간을 운행하면서 가용 선로 용량이 적었다.[31] 거기에다 수도권 전철 경의·중앙선 직결 이후 해당 노선이 용산선을 경유함으로서 문산역과 서울역을 잇는 경의1선 계통은 서울역행 열차 문제로 시달리고 있다. 이 문제는 서울역행 열차의 급행화로 일부 해결되었으며, 차후 수색-광명 고속철도 및 고양시와 서울특별시를 잇는 수도권 광역급행철도 A노선이 개통되면 해결될 예정이다. - 중앙선 용산역~망우역 구간
해당 도표에 따르면, 청량리 ~ 상봉 구간은 정기 열차가 하루 최대 160회 운행하며, 하루 선로 용량인 163회와 거의 차이나지 않는다. 거기에다 도표에서 회송, 임시, 화물열차를 제외한 것을 고려하면 여유 용량이 없는 거나 마찬가지다. |
* 수인선 한대앞역~월곶역 구간
수도권 전철 수인·분당선 직결 이후 급부상하고 있는 병목 구간으로 평면교차가 잦아져 지연이 꽤 생기고 있다. 신길온천역에서 한국철도공사 351000호대 전동차가 안산 방면 건넘선 구간으로 회차할 때, 월곶역에서 한국철도공사 341000호대 전동차가 소래포구 방면 건넘선 구간으로 회차할 때 평면교차가 발생한다.(서울교통공사 4000호대 VVVF 전동차와 한국철도공사 341000호대 전동차 일부 시간대 편성은 시흥기지선을 통해 시흥차량사업소로 회송하러 들어온다)[32] 또한 한대앞역 중앙 방면 승강장에서 4호선 열차와 수인·분당선 열차가 동시에 도착했을 때 4호선 열차를 먼저 보내면서 지연이 발생한다.
* 수도권 전철 1호선 구로역~청량리역 구간
특히 구로역은 1호선 급행을 2019년 12월 31일에 수도권 전철 1호선 선로에 넣은 이후부터 심해졌다. 경부선과 경인선이 합류하는 구간이라 선행열차를 먼저 보내기 위해 대기시간이 길어지고, 출퇴근 시간에는 열차가 밀리는 경우도 많다. 특히 다음역인 신도림역에서 인산인해를 이뤄서 열차가 오랜시간 정차하는 것도 이 병목현상을 부채질한다. 이 문제는 구로~서울 구간은 수색-광명 고속철도가, 신도림~청량리 구간은 GTX-B가 개통되면 해결될 예정이다.
* 경의선 대곡역~일산역
여기도 서해선이 일산으로 연장한 이후 은근히 지연이 생기고 있다.
* 케이오 전철 케이오선[33], 케이오 이노카시라선
* 도에이 신주쿠선
3. 사람에 의해 일어나는 병목 현상
[34]
사람이 많은 행사장이나 극장, 클럽 같은 장소에서 겪을 수 있다.
출입구를 장소보다 더 크게 짓는 일은 당연히 없으니, 행사가 끝나면 사람들이 장소보다 좁은 출입구로 몰리면서 병목 현상이 일어난다. 만약 화재등으로 인해 사람들이 급하게 빠져나가는 중이라면 병목 현상이 더 빠르게 일어난다. 이 와중에 사람들끼리 서로 엉키면서 압사하는 사례도 자주 일어난다.
때문에 건물을 지을 땐 가능한한 사람들이 빠져나가기 쉽게 건물을 지어야 한다. 대표적으로 문은 사람이 빠져나가기 쉽게 건물 안에서 건물 밖으로 열리는 구조로 해야한다. 특히나 비상구의 경우 비상 상황에서 작은 손잡이를 일일이 찾아 열기도 힘드니 열기 쉽도록 기다란 형태의 문 잠금장치인 패닉바#를 설치하는 것이 좋다. 또한 비상구 등지에서 사람이 넘어졌다간 뒤에 몰려오는 사람에 의해 압사 사고가 일어날 확률이 높으니 비상구는 깨끗히 관리해야 한다.
병목 현상으로 피해가 커진 사고로는 이태원 압사 사고와 스테이션 나이트클럽 화재 사고, 키스 나이트클럽 화재, 이로쿼이 극장 화재 사고, 빅토리아홀 참사, 이탈리안홀 참사 등이 있다.
4. 컴퓨터 분야의 병목 현상
컴퓨터 분야의 병목 현상은 다른 분야의 병목 현상과 근본적으로 동일하고 학계에서는 시스템의 성능이 지연되고 프로세스 전체적인 효율성이 감소되는 것으로 정의하고 있다.구체적으로는 어떤 시스템 내 데이터의 집중적인 사용으로 인해, 전체 시스템에 절대적 영향을 미치는 부분의 사용 빈도가 늘어나 그 부분의 성능이 저하되어 전체 시스템이 마비되는 것이다. 쉽게 말하자면 부품들의 등급이 안 맞아서 제성능을 못 낸다고 보면 된다.
고성능으로 갖추면 병목이 없어진다고 표현하는 사람들이 많은데, 이론적으로나 현실적으로나 현존 가장 최고 성능의 제품들로 구성해도 병목 현상을 아예 없애는 것은 불가능하다. 병목 현상을 최소화 할 수 있을 뿐이다.
사용자들에게 답답함과 짜증을 유발하는 랙이 병목으로 인해 나타나는 대표적인 유형 중 하나이다.
4.1. 거시적인 병목 현상
컴퓨터를 구성하는 시스템 전체적인 차원의 병목 현상을 가리킨다.4.1.1. CPU ↔ 시스템 버스 ↔ 메인 메모리
CPU는 실행하면서 필요한 데이터를 메인 메모리(DRAM)에 요청하면 메인 메모리는 CPU가 요청한 데이터를 CPU에 전달한다. 이 과정에서 CPU의 데이터 접근이 시스템 버스를 거쳐서 메인 메모리로 이동하게 되고 메인 메모리가 데이터를 CPU로 보내면 시스템 버스를 거쳐서 CPU로 전달된다. 만약에 CPU와 메인 메모리의 처리 속도가 서로 다를 경우 메인 메모리가 CPU에 데이터를 바로 제공하지 못해 지연 시간이 발생한다. 또한 CPU와 메인 메모리 간의 물리적인 거리가 지연 속도에 큰 영향을 준다. 따라서 CPU와 메인 메모리간의 거리를 가능하면 짧게 하도록 메인보드가 설계되어야 한다.이런 지연 시간을 최소화시키기 위해 CPU에는 캐시 메모리가 존재하며[35] 레지스터부터 느리지만 DRAM보다 훨씬 빠른 SRAM로 구성되어 있으므로 빠르게 접근할 수 있어 CPU↔SRAM↔DRAM으로 처리하면서 CPU↔DRAM간 병목 현상을 완화할 수 있다.
4.1.2. CPU ↔ 시스템 버스 ↔ 확장 인터페이스 ↔ 그래픽 카드
일반적으로 그래픽 카드는 엄청난 양의 데이터를 전송해야만, 그 성능을 제대로 낼 수 있다. 메인보드가 한세대 이전 인터페이스를 사용하게 될 경우, 이 부분에서 병목 현상이 발생하여, 그래픽 카드의 성능을 최대로 활용하지 못할 가능성이 있다. 다행히도 현존하는 제일 좋은 카드라도 최신 인터페이스의 대역폭을 모두 요구하는 상황은 드물기 때문에 게임하는 거라면 두 세대 쯤 떨어지거나 배속이 낮아도 병목 현상이 잘 안일어난다. 물론 극단적으로 언밸런스한 조합일수록 병목 현상이 심해질 수 있다.[36][37] 예를 들어 CPU가 i3-10100f 정도인데 그래픽 카드가 지포스 RTX 4070 Ti이라던지, 아니면 반대로 CPU는 i9-13900K인데 그래픽 카드가 GT 1030이라던지 한다면 부품 간의 처리 능력 차이로 인해 발생할 수 있다.차라리 작업 관리자를 실행하여 본인이 주로 하는 작업 또는 게임을 켜두고 해당 프로세스가 사용하는 자원과 전체적으로 사용되는 자원을 함께 관찰하는 것이 더 본인 PC를 파악하는 데에 도움이 된다. 예를 들어 게임의 경우는 해상도, 프레임 레이트, 텍스쳐, 게임 엔진 또는 구조 등 여러 개의 변수가 복합적으로 작용하기 때문에 병목 현상이 걸리는 것도 천차만별이다. HDD나 SSD가 첨가되는 경우에는 쓰기/읽기 속도, 클라이언트의 용량, 배드 섹터나 물리적/논리적 오류 여부 등등 변수가 기하급수적으로 늘어나니 더 말할 것도 없다.
특히나, 게임의 경우 그래픽 관련 옵션을 높일수록 업데이트, 렌더링 말고도 애니메이션, 이펙트, 물리 엔진 등까지 처리 하는데에 자원을 더 많이 소모하기 때문에 GPU에게 지시해줄 CPU의 코어 수가 부족 하다면 그만큼 그래픽 카드의 연산 지시받는 비중이 크게 떨어지게 되는 병목 현상이 발생한다. 코어 수가 늘어 날 수록 게임 프레임 레이트가 향상 되는 것은 그만큼 CPU 자원이 늘어 GPU 연산 지시에 영향이 덜 가기 때문이다. 단, 이는 FHD 환경 기준으로, UHD(4K)환경으로 갈 수록 오히려 프레임이 떨어져 CPU에서 처리해야하는 비중이 적어지기 때문에 병목 현상이 훨씬 적어지고 그와 반대로 그래픽카드의 비중이 크게 높아진다.
물론 위와 반대로 병목의 존재 역시 과장되었다거나, 신경 쓸 수준이 되지 않는다며 이런 주장을 하는 이들을 비판, 혹은 무시하는 유저들 역시 존재한다. 다만, 둘은 병목 현상이라는 것을 바라보는 시각 자체가 조금 다르다. 일례로, 인텔의 데스크탑 플래그십인 i9-10980XE는 게임프레임에서 i9-9900K를 앞설 수 없다. 허나 이는 게임별 최적화 등으로 인해 비슷하거나, 앞서는 벤치마크가 있을 수도 있다. 반대로 i9-9900K는 2-way를 초과하는 멀티 GPU 환경에서 i9-10980XE를 앞설 수 없다. 이것은 태생적인 한계이기에 극히 일부의 예외[38]를 제외하면 절대로 이 간극을 극복할 수 없다. 전자는 아키텍처의 한계로 인한 코어-캐시 간에 높은 레이턴시(라고 보통 추측하는)와 낮은 클럭, 게임의 최적화 문제이며, 후자는 체급의 한계로 인한 낮은 대역폭에서 오는 PCIe 레인의 '병목' 문제이다. 참고로 PCIe는 현세대 기준으로 PCIe 이전에는 AGP, AGP 이전에는 레거시 PCI였으며, 그 이전에는 ISA였다.
게임의 CPU와 GPU간의 병목 타령을 비판하는 이들이 말하는 병목이란 이렇게 물리적으로 실존하는 문제를 말하는 것이지 게임마다 달라지고, 최적화의 수준에 따라서도 달라지는 GPU 사용률과 게임 프레임 레이트를 말하는게 아니다. 당장 AMD와 인텔의 같은 세대 프로세서끼리도 엄청난 차이가 있는 게임이 있는 반면 서로 엎치락 뒤치락하거나 순위가 뒤바뀌는 게임 역시 존재한다. 게임 프레임 레이트와 GPU 사용률이 뒤쳐지는 것을 하드웨어단의 병목 현상을 원인으로 지명하기엔 게임은 국소적이고 한정적인 매체이며, 그것마저 게임마다 다르다. 또한, 그것이 정말로 존재한다기엔 이번엔 최적화가 잘 된(?) 게임 벤치마크 샘플들의 존재가 이것을 정면으로 부정하고 있다. 이것이 맹목적인 병목타령을 비판하는 이들의 논조이다. 요즘에는 일부 커뮤니티를 제외하면 게임 프레임 스샷을 띄워놓고 병목에 관한 질문을 했을 경우, 원하던 대답 대신 어그로 또는 병목충이라며 욕이나 먹거나 그냥 무시당하기에 병목타령이 많이 줄어든 편이다.
허나, 이들이 존재하지 않는다거나 그 존재가 과장되었다며 부정하는 것은 최소 현세대 메인스트림[39] 프로세서를 지칭하는 것이고, 이들도 마찬가지로 펜티엄 G4560에 TITAN RTX를 사용하는 것과 같이 어처구니없는 견적이라거나,[40] 샌디브리지를 비롯한 구형 CPU같은 경우에는 PCIe 2.0 이전 세대 기반이라 병목이 있다거나 앞으로 병목이 있을것이라며 농담반 진담반으로 그 존재를 인정하기도 한다.[41]
아울러 현세대 메인스트림 프로세서라도 실제로 병목이 존재할 수 있다. 라인업에 따라 CPU 차원에서 지원하는 PCIe 레인 개수가 16레인, 8레인, 4레인 등으로 차등화되어 있는데, 이는 TITAN RTX, 혹은 그 이후에 출시될 초고사양의 최신 그래픽카드에서 낮은 대역폭으로 인해 엄청난 수준의 성능 하락을 보여줄 수 있다. 해당시스템에 초고사양 외장그래픽카드를 탑재한 시스템을 구상 중이라면 참고하자. 현재도 PCIe 2.0 16레인이나 PCIe 3.0 8레인의 대역폭을 모두 활용하는 그래픽카드는 드물다.
단, 어디까지나 그래픽 메모리 용량 부족으로 PCIe 기반 시스템 버스를 왔다갔다 할 일이 없을 고사양 그래픽 카드에나 그렇다는 것이지, 저사양 GPU + 적은 VRAM 용량인 그래픽카드로 최신 고사양 게임을 돌릴 경우 PCIe 대역폭의 영향력이 커질 수 있다. 특히 게임이 그래픽카드의 VRAM보다 더 많은 VRAM 용량을 요구할 경우 부족한 용량을 시스템 메모리까지 이용하게 되어 결과적으로 그래픽카드에서 시스템 메모리까지 왔다갔다 하는 일이 빈번해질 수밖에 없는데, 이때 PCIe 대역폭이 느릴 수록 성능 하락이 더욱 커진다.[42]
결국 GeForce 30과 RX 6000 세대에 이르러 CPU의 성능 향상 속도에 비해 GPU의 성능 향상이 훨씬 웃돌면서 조명 받게 된 기술이 Resizable-BAR 기술이다. 해당 기능은 CPU가 pci-e를 통해 한번에 접속할수 있었던 제한적인 V램의 영역인 256MB를 그래픽 카드의 모든 V램 영역에 접근할수 있도록 대역폭을 조절해 전체 액세스 권한을 가지게 하는 기술이다. 게임 최적화마다 차이가 있지만, 병목현상이 두드러지는 FHD 해상도에서 확실히 로드율이 개선되는 효과를 보여줘서 꽤나 의미있는 병목현상 완화 기술로 각광받고 있다.
4.1.3. CPU ↔ 시스템 버스 ↔ 칩셋 ↔ I/O 인터페이스 ↔ 스토리지
2020년 현 세대 컴퓨터에서 실질적으로 쓰이는 저장 매체 중 가장 느린 것은 SATA 인터페이스의 HDD이다. 그리고, 모든 데이터는 이 하드디스크에 저장되어 있다. 그렇기 때문에 SATA HDD 대신 PCIe를 이용하는 NVMe SSD[43]를 장착하는 것만으로도 파일 이동/복사하는 과정에서 병목 현상이 크게 감소하여, 체감 속도가 크게 빨라지는 것을 느낄 수 있게 된다. 반대로 이동식 디스크 드라이브인 USB 기반의 USB 메모리, Secure Digital 메모리 카드로 파일을 복사/이동하면 SATA HDD보다도 대체로 느려진다.컴퓨터의 메인 메모리가 충분하지 않을 경우, 메모리의 일부를 HDD에 저장하는 스와핑 기능이 동작하게 된다. 하지만, 메모리에 비해서 HDD 는 엄청 느린 속도를 가지고 있기 때문에, 빈번한 스와핑은 병목 현상을 일으키고, 이는 컴퓨터의 성능에 아주 지대한 영향을 끼친다. 이를 방지하기 위해서 충분한 메인 메모리를 장착하는 것이 필요하다. 반대로 램이 남아돌면 램디스크를 만들고 캐시파일 생성을 이쪽으로 돌려서 병목현상을 더 줄이는 것도 이론상 가능하다. 하지만 전문가면 모를까 일반 사용자가 램디스크를 만들 일은 없다. 그래서 옵테인 메모리 라는게 존재한다. 실제로 퀘이사존에서 옵테인 메모리를 가상메모리로 돌려서 짭짤하게 이득을 얻은 벤치마크도 존재할 정도.
SSD가 프리징이 발생하는 하나의 원인이기도 하다. 입출력 데이터가 어느 순간 과다하게 발생 시, SSD 내의 메모리 컨트롤러가 이를 제대로 처리하지 못하고, 컨트롤러가 일시적으로 뻗어 버리면서 발생한다.
4.2. 미시적인 병목 현상
컴퓨터 시스템 전체가 아닌 특정 컴포넌트 내부의 병목 현상을 가리킨다. 더 나아가 컴포넌트 내부에서도 이를 구성하는 각각 하드웨어의 내부에서도 병목 현상이 역시 존재한다.4.2.1. CPU 내부
CPU는 다양한 기능들이 탑재된 종합 프로세서이기도 하다. 그렇기 때문에 기능별로 데이터를 다루는데 있어서 성능 차이가 발생하여 병목이 발생하게 되는데, 이것이 곧 마이크로아키텍처의 특성이 되며, 클럭과 대략적인 IPC가 결정된다. 대략적이라고 하는 것은 같은 마이크로아키텍처라도 프로그램마다 IPC가 달라질 수 있기 때문.이외에도 MCM 구조를 취한 CPU[44]에서 코어 간 통신에 병목이 있을 수 있다.
4.2.2. 그래픽 카드 내부
그래픽 카드는 그래픽 데이터 혹은 특정 데이터만 취급하는 CPU + 메인 메모리 + 메인보드 조합이라고 봐도 과언이 아닌 복잡한 컴포넌트이다. 그렇기 때문에 그래픽 카드 내부에서도 병목이 발생할 수밖에 없으며, 크게 GPU 외부적인 병목과 GPU 내부적인 병목으로 구분한다.4.3. 통합 메모리
원래 NVIDIA가 제시한 아이디어로 CPU와 GPU 둘다 동일한 메모리를 사용하여서 병목현상을 크게 줄이는 기술이 있었다. 다만 기술적 문제와 한계가 있어서 아직까지 통합 메모리를 채용한 회사는 없었다. 그런데 2020년에 Apple이 독자적인 칩을 발표하면서 통합 메모리를 공식적으로 사용하게 되었다.Apple Silicon칩중 M 시리즈는 기존 PC와는 달리, CPU와 GPU 둘다 SoC안에 통합되어 있는 구조이면서도 메모리가 SoC칩 그자체에 박혀있는 특이한 구조를 가지고 있다. 덕분에 CPU와 GPU간에 데이터를 전송할 필요가 없어졌고 메모리도 칩내에 탑재되어서 엄청난 속도를 구현할 수 있게 되었다. 즉, 병목 현상을 완전히 해결한 케이스다. 이마저도 사용된 메모리는 고작 LPDDR5임에도 불구하고 외장 그래픽카드와 비슷한 대역폭을 자랑한다. 실제로 대역폭만 해도 기존 그래픽카드들과 차이가 없으며 통합 메모리 + 내장된 메모리까지 고려한다면 실질적인 성능에도 큰 영향을 주고 있다.[45] 특히 그래픽카드는 압도적인 VRAM을 확보할 수 있게 되는데 통합 메모리 램이 64gb면 VRAM이 할당할 수 있는 용량은 이론적으로 64gb씩이나 된다.[46] 하지만 통합 메모리가 좋다고는 해도 체급을 넘을 수는 없다.
단, 단점이라면 메모리를 칩에 그대로 박아야 하기 때문에 램 업그레이드가 원천적으로 막힌다는 점, CPU와 GPU의 메모리 용량이 부족해진다는 점[47], CPU와 GPU 둘다 통합 및 내장되어야 한다는 점으로 인해 기존 PC 컴퓨터들은 구현조차 못하는 구조다. 사실상 SoC 기반이 아니면 힘들다.
통합 메모리는 간단하게 모든 부품들이 직접 연결되어 있는 구조라 할 수 있다.
5. 생물학 용어
질병, 자연재해, 기근 등의 이유로 개체수가 급격하게 감소한 이후 유전적 다양성이 감소하는 현상을 말한다. 개체군 병목현상(Population bottleneck) 또는 유전자 병목현상(Genetic bottleneck)이라고도 한다. 개체군의 크기가 작을수록 유전적 부동(Genetic drift)에 의한 대립유전자 빈도 감소에 취약해진다.[48] 인류의 경우 유전자 병목현상을 겪어 현생 인류 전체의 유전적 다양성이 침팬지 한 무리의 다양성만 못하다고 한다.유사한 현상으로 창시자 효과가 있는데 이쪽은 소수 개체군의 이주와 지리적 격리에 의해 발생하는 병목현상의 사례이다.
[1] 주변 인구가 많은 이런 곳들은 인터체인지 간격이 굉장히 촘촘해서 항상 헬게이트가 열린다. 대표적으로 수도권제1순환고속도로 중동 구간.[2] 제2중부고속도로 개통으로 호법JC까지는 2001년 편도 4차로(왕복 8차로)로 확장했지만, 호법JC를 넘어서 일죽IC로 가는 구간에서 편도 4차로가 편도 2차로로 급격히 축소당하는 고속도로 최악의 병목구간이며 낙타고개가 기다리고 있어 오르막 내리막이 반복된다.[3] 경부고속도로 서울 구간이 시작되는 시점부터 2002년 고속도로 구간에서 해제된 경부간선도로로 넘어갈 때 8~10차로에서 4차로로 좁아지는 바람에 병목현상이 수시로 발생한다.[4] 확장을 했는데 진출입로를 줄여버리는 잘못된 도로확장 설계로 오히려 정체가 더 심해졌다.[5] 왕복 6차로에서 4차로로 줄어든다.[6] 일직JC까지 왕복 10차로인데 왕복 4차로로 줄어든다. 지하화 공사를 해봤자 지하도로 입구의 병목현상이 심하고 지하도로가 무엇보다 소형차 전용이라 지상이든 지하든 변함없이 막힌다.[7] 신내IC까지 왕복 6차로였다가 묵동IC까지 왕복 5차로로 줄어들고 그 이후 고가도로 구간은 왕복 4차로로 줄어든다.[8] 상습정체로 인해 지하화 공사를 했지만 지하도로 입구의 병목현상이 오히려 더 심해졌다.[9] 기형적인 진출로 구조와 차로 대비 엄청난 통행량으로 제2경인선 정체의 쌍벽을 이룬다.[10] 거기에다 사고라도 나면 정말로 답이 없는 구간이다. 더 답답한 것은 대체 노선이라고 할 만한 것도 사실상 전무하다는 것이다. 경인선이나 서울 지하철 7호선의 경우에는 인천 도시철도 1호선을 이용해서 부평 쪽으로 돌아가야 하며, 그나마 선형이 유사한 경강선 월곶~성남 구간은 2026년에야 개통한다. 그 외에 인천 도시철도 2호선 연장이나 제2경인선 계획도 있지만, 이 두 노선은 아직 착공도 하지 못했다.[11] 8차로였던 도로가 산인JC ~ 창원JC까지 남해고속도로, 남해고속도로제1지선 이렇게 4차로 도로로 나눠짐 + 칠원JC에서 중부내륙고속도로 차량 합류 2중 콤보.[12] 광주광역시의 도심으로 향하는데 차선이 줄어든다! 동광주TG → 문흥JC까지 편도 4차로(반대방면 편도 3차로)며, 여기서 차선 하나가 줄어들어 왕복 6차로가 이어지다가 동광주IC 차선 합류 직전에 왕복 4차로가 된다. 덕분에 수요를 이기지 못해 터진 동광주IC는 평일 퇴근길과 주말 상습 정체 구간이다. 특히나 이 구간은 2014년 고속도로 교통량 서비스 수준 측정 조사에서 F등급을 받았던 오래 전부터 고속도로의 기능을 상실한 진짜 답 없는 구간이라...[13] 서해안고속도로를 피해 서천공주고속도로로 들어오는 차량이 많아지면서 실질적인 병목현상이 생겨버렸다. 이 때문에 천안JC ~ 정안IC는 평일 주말 할 것 없이 상습정체구간이며 주말에 심하면 공주JC까지 꽉 막힌다. 게다가 대체 도로인 1번 국도, 23번 국도마저 덩달아 같이 밀린다.[14] 최소 왕복 8차로는 필요한 상황에 남안산IC까지는 왕복 6차로인데 왕복 4차로로 줄어든다. 화물 교통량도 많은지라 출근길 이후에도 밀리는건 기본이다.[15] 이 구간에 있는 상주터널은 사고 2위 터널이라는 불명예를 얻었다. 2017년 6월 상주영천고속도로 개통 후에는 정체가 덜해졌다.[16] 장유의 경제인구 대부분이 창원에 직장을 갖고 있고 부산과의 왕래수요까지 몰려 출퇴근 시간만 되면 대규모 전쟁이 벌어진다. 이미 10년 전부터 창원터널 바로 옆에 불모산터널이 개통되어 있으나 유료도로라 불모산터널은 텅텅 비고 창원터널 정체는 변함이 없다.[17] 여긴 웃긴게 명절이나 휴가철이 아니면 동곤지암 가기도 전에 풀린다.[18] 3번국도 우회도로와 접속, 후에 동부간선도로와 접속예정. 그나마 지금은 왕복 6차선에서 8~10차선급으로 확장했는데, 그래도 의정부. 포천. 양주에서 내려오는 수많은 차와 서울~경기북부 왕래차량 덕분에 여전히 헬게이트.[19] 특히 장항IC.[20] 서부산낙동강교가 2014년 왕복 4차로에서 8차로로 확장된 것에 비해 동서지옥은 왕복 4차로로 남아 있다. 본래 헬게이트로 유명했던 사상IC는 서부산낙동강교 확장으로 병목현상까지 겹치면서 설상가상으로 헬게이트가 플러스 알파가 되었다.[21] 1터널, 2터널 모두 해당. 특히 2터널의 경우 왕복 8차선에서 4차선으로 줄어든다.[22] 석대램프 인근까지 왕복 8차로인데 왕복 4차로로 줄어든다.[23] 단, 단순히 8차로가 4차로로 줄어드는게 아니라 편도 4차로 중 2차로는 수영강변대로로 분기한다.[24] 왕복 6차로에서 4차로로 줄어든다.[25] 특히 성서IC.[26] 경부선 차량 몰림+하위차로 병목현상+뒤엉킴+잦은 접촉사고라는 4중 콤보로 말이 더 필요없었다. 그나마 금호분기점 경부선 부산방향 진출부를 2차로로 확장하고 서대구요금소 이후 하위차로를 경부선 전용차로로 만들어 중앙선과 경부선 이용 차량을 원천적으로 분리해서 지금은 병목현상에서 벗어났다.[27] 그 악랄한 남해고속도로 칠원JC ~ 창원JC 때문.[28] 터널을 빠져나오자마자 교차로다. 출구가 한개 차선만 있다 보니 후방으로 정체가 상당하며 1008번 버스노선도 심각한 정체로 인해 노선변경 한 달만에 다시 번영로로 경유하게 되었다.[29] 왕복 6차선으로 확장되고 있지만 그만큼 수요가 늘고 있고 우회하기 좋은 도로가 딱히 없다.[30] 원래는 3기 지하철 계획을 통해 서울 지하철 10호선이 서울과 광명역을 이을 예정이었으나 1997년 외환 위기로 백지화되고, 서울~광명 구간을 계승한 수도권 전철 신안산선이 최초 계획이 고시된 1998년으로부터 20년 이상이나 착공도 하지 못하다가 2019년에야 삽을 떴으며, 2026년에야 개통할 예정이다.[31] 현재 DMZ-train은 아프리카돼지열병 확산 및 코로나바이러스감염증-19 유행으로 인해 운행이 중단되었다.[32] 참고로 오이도역에서 회차하지 않고 두 정거장 더 가서 회차하는 이유는 수도권 전철 4호선 오이도행 열차와 수도권 전철 수인·분당선 오이도행 열차가 서로 오이도역에서 회차할 경우 선로 경합이 일어나 운용상 문제가 발생할 수 있기 때문이다.(일부 열차의 경우 오이도역에서 회차하기도 한다)[33] 특히 메이다이마에역이 이 문제로 유명하다.[34] 사진 출처 #.[35] CPU 안에는 캐시 메모리가 여러 레벨의 메모리로 나뉘어져 있는데 기본적으로 L1, L2, L3 캐시가 있다. 레벨이 짧을수록 속도가 빠르지만 용량이 적고 높을수록 용량이 커지지만 속도가 느리다는 특징을 가지고 있다. L1 캐시는 다른 캐시 메모리 중에서 가장 빠른 메모리로 명령어 캐시와 데이터 캐시로 나뉘어진다. L3 캐시는 L1,L2 캐시보다 느리지만 캐시 메모리 중에서 가장 많은 용량을 보유하고 있다. 참고로 L1 및 L2 캐시는 CPU 코어마다 존재하지만 L3 캐시는 하나만 존재하고 모든 CPU 코어가 사용한다.[36] 저전력 CPU나 펜티엄같은 듀얼코어 이하의 코어를 가지고 이으면 일어날수도 있다.[37] AMD CPU는 인텔 CPU에 비해 전체적으로 CPU 점유율이 낮은 경우가 있어 병목 현상이 일어날 때도 있으니 참고해두자.[38] 몇 장을 꽂던 병목이 의미없을 정도의 저사양 GPU라 PCIe 레인이 쪼개져도 상관이 없거나. 이런 경우는 일부러 골드핑거를 잘라버린채 출시하기도 한다.[39] 인텔이라면 최소 스카이레이크 i7, AMD라면 최소 서밋릿지 라이젠 5.[40] 영상을 보면 TITAN RTX는 띵가띵가 놀고 있는 반면에 펜티엄 G4560은 불이 나게 돌아간다. 그렇게 놀아도 쳐바른다. 애초에 둘 다 전세계 인구 중 저렇게 사용하는 인간이 하나라도 있을까 싶을 수준으로 비현실적인 사양이기에 그냥 재미로 보자.[41] 이들이 곧잘 도달하는 결론은 그냥 당신들이 지금 구매하려는 것(9세대 i5, 3세대 라이젠5 3500X, 혹은 3600)에는 병목따위 없으니 그냥 좀 사고, 샌디브릿지를 비롯한 구형 CPU 유저들이 이 떡밥에 끼어들어 어그로를 끌면 샌디브릿지는 좀 갖다버려라 정도.[42] PCIe 대역폭이 빠르면 시스템 메모리를 거치는 상황일 때나 PCIe 대역폭이 느린 것보다 성능 하락이 그나마 덜 하다는 것이지, 그래픽 메모리 용량이 충분해서 시스템 메모리까지 거칠 일이 없는 상황과는 비교가 안 될만큼 성능 하락이 있다는 점은 변함이 없다.[43] NVMe는 CPU ↔ 시스템 버스 ↔ 스토리지 구조로 과정이 단순화되어 병목 현상을 크게 완화시켰다.[44] AMD RYZEN Threadripper가 대표적이다.[45] 칩이 내장되었기 때문에 굳이 데이터를 전송할 필요가 없어졌기 때문이다.[46] 서버용 그래픽카드인 A100가 최대 80gb인걸 생각해보면 엄청난 용량이다. 3090조차 최대 24gb에 불과하다. 물론 CPU도 따로 사용해야 하므로 모두 사용할순 없다.[47] 하지만 해당 단점은 워크스테이션급이 아니면 무의미하다. 설령 워크스테이션급이라도 그냥 메모리를 늘리면 된다.[48] 가령 크기가 1000인 개체군에서 10명만 가진 대립유전자와 크기가 100인 개체군에서 1명만 가진 대립유전자가 있다고 가정하면 양쪽 모두 동일한 빈도를 가지고 있지만 후대에 전달될 가능성은 전자가 훨씬 높다. 후자에서는 단 한 명뿐인 보유자가 후손을 남기지 못하거나 후손이 돌연변이를 일으킬 경우 전달되지 못하기 때문이다. 반면 전자에서는 한명에게 문제가 생겨도 나머지 아홉명이 전달해 줄 것이다.