요약

  • RFC 3116은 공통 클록 신호에 구동되는 송수신 타임스탬프의 상관을 요구했고, 타임스탬프 폭, 정확도 및 롤오버 범위의 공개를 요구했다. 그러한 계측 기록이 없는 지연 수치는 비교 가능한 증거가 아니었다.
  • 동일한 스위치라도 가상 회로가 하나, 열두 개 또는 다수인 경우, 안정 부하 또는 버스트 부하, 서로 다른 베어러 클래스에 따라 서로 다른 분포를 만들어냈다. 그래프는 통제된 시험을 서술했을 뿐, 운영 서비스에 대한 내재적 약속이 아니었다.

뺄셈은 계측 장치를 감추고 있었다

셀 전송 지연은 뺄셈처럼 들린다. 한 ATM 셀이 첫 번째 측정 지점을 떠나는 시각을 기록하고, 그 셀의 대응 도착이 두 번째 지점에서 관측되는 시각을 기록한 뒤 그 차이를 취하는 것이다. RFC 2761이 이 정의를 제공했다. 2001년 6월에 Informational 방법론으로 발표된 RFC 3116은 이 뺄셈을 방어 가능하게 만든 계측 장치를 제공했다.

송신기와 수신기는 서로 상관될 수 있는 시각 정보를 필요로 했다. RFC 3116은 양쪽 모두를 하나의 공통 클록 신호, 즉 최소 100MHz로 공급할 것을 권고했으며, 문서에서는 이를 10나노초 해상도로 표현했다. 선호되는 시험 셀은 유효한 IP 패킷 안에 담긴 O.191 셀이었다. 다른 시험 셀을 사용한다면 그 구성은 보이지 않는 상태로 남을 수 없었다.

이것은 단순히 소수 자릿수를 더 요구한 것이 아니었다. 두 카운터는 각각 정밀하면서도 서로 어긋날 수 있다. 한쪽이 최댓값에서 0으로 넘어가는 동안 다른 쪽 이벤트가 그 경계의 반대편에 기록될 수도 있다. 순진한 뺄셈은 그러면 나중 도착을 불가능한 음수 구간으로, 혹은 터무니없이 큰 지연으로 바꾼다. 그래서 RFC 3116은 타임스탬프 최댓값의 기록을 요구했고, 시험 셀 서술에 타임스탬프 길이, 롤오버 값, 나노초 단위의 정확도를 명시하도록 요구했다.

따라서 성능 주장은 셀이 스위치에 들어가기 전에 시작되었다. 클록 소스, 타임스탬프 포착 지점, 카운터 폭, 송신 셀을 수신 관측과 짝짓는 규칙에서 시작된 것이다. 시험 대상 스위치가 스톱워치를 소유하지는 않았다.

하나의 클록이 모든 불확실성을 지우지는 않았다

공통 주파수 기준은 중요한 한 부류의 불일치를 제거하지만, 전체 타이밍 체인을 마법처럼 증명하지는 않는다. 클록이 두 카운터를 공급하더라도, 그 포착 회로가 서로 다른 물리적 지점을 관측할 수 있다. 타임스탬프 삽입이 실제 출구 이벤트보다 앞설 수 있고, 수신 포착은 실제 진입 이벤트보다 뒤질 수 있다. 카운터 위상, 배선, 교정, 상관 논리는 여전히 계측 장치의 일부다.

당대의 IP Performance Metrics 작업은 이 경계를 더욱 명확히 했다. RFC 2679는 동기화, 정확도, 해상도, 스큐를 분리했다. 동기화 오차와 양쪽 클록의 해상도가 단방향 지연 관측의 불확실성에 들어가며, 호스트 시각과 회선 시각 사이의 간격이 또 하나의 오차를 더한다고 설명했다. RFC 2330은 더 넓은 측정 프레임워크를 제공했다. RFC 7679는 이후 RFC 2679를 대체했지만, 타임스탬프를 스스로를 인증하는 진실로 바꾸지는 않았다.

이 IPPM 문서들은 장치 시험에서 ATM 셀이 아니라 인터넷 패킷을 측정했다. 이를 RFC 3116과 하나로 묶어서는 안 된다. 여기서의 가치는 역사적 보강이다. 같은 시기에 두 IETF 측정 전통이 계측 장치가 지표 뒤로 사라지는 것을 거부하고 있었다.

RFC 3116 자신의 규칙은 더 좁고 구체적이었다. 셀을 서술하라. 롤오버를 해소할 만큼 충분한 카운터 정보를 보존하라. 시각 정확도를 명시하라. 송신 관측과 수신 관측을 상관하라. 그런 다음에야 구간을 계산하라.

트래픽도 결과의 일부였다

믿을 수 있는 클록이 있다고 해서 지연이 부하와 무관해지지는 않는다. ATM 스위치는 가상 접속에서 셀을 다중화하고, 베어러 클래스를 스케줄링하며, 버스트를 버퍼링했다. RFC 2761은 셀 지연 변동(Cell Delay Variation)을 지정된 트래픽 부하, 방향, 분포 및 적분 구간에서의 셀 전송 지연의 퍼짐으로 정의했다. 그 조건을 바꾸면 분포도 바뀐다.

그래서 RFC 3116은 CTD 절차를 하나의 VCC, 열두 개의 VCC, 시스템이 지원하는 최대 개수에 걸쳐 반복했다. 일정 부하, 버스트성 UBR, VBR, 혼합 부하를 구분했다. 패킷 크기, 패킷 속도, 베어러 클래스, VPI/VCI, PCR·SCR·MBS 트래픽 디스크립터가 결과와 함께 제시되도록 요구했다. 처리율 시험이 아닌 시험에서는 제공 속도가 회선 속도의 90퍼센트를 넘지 않아야 했다.

타이밍 실행을 수용하기 전에, 시험자는 패킷 수를 비교하여 연결성과 부하를 확인했다. 시스템이 기대한 개수를 전송하지 않으면 제공 속도를 낮췄다. 이 단계는 모든 내부 큐가 올바르게 동작함을 증명하지 않았다. 지연 실험이 “지연”이라는 표찰을 붙인 채 조용히 손실이나 과부하 실험으로 변하는 것을 막았을 뿐이다.

보고 형식도 같은 이유로 중요했다. 텍스트는 구성을 드러냈고, 그래프는 시간 거동을 드러냈으며, 히스토그램은 분포를 드러냈다. 평균 하나만으로는 긴 꼬리를 숨길 수 있고, 최댓값 하나만으로는 그것이 얼마나 드물게 발생했는지를 숨길 수 있었다. RFC 3393과 RFC 5481은 이후 패킷 지연 변동 정식화 사이의 구분을 더 예리하게 했다. 공유된 단위가 두 집계를 서로 바꿔 쓸 수 있게 하지는 않았다.

시험에는 전과 후가 있었다

RFC 3116은 측정을 둘러싼 시간적 경계도 통제했다. 시험은 먼저 PNNI 라우팅 업데이트를 보내고 라우팅이 안정되기를 기다릴 수 있다. 그런 다음 RFC 2225의 Classical IP over ATM 규칙에 따라 ATMARP 해석을 수행하고, 부하를 인가하고, 잔류 패킷을 기다리고, 다음 시험 전에 시스템이 재안정화되도록 허용했다.

이 단계들은 상태 준비를 안정 전달로 오인하는 것을 막았다. 주소 해석은 IP 목적지가 시험을 위해 ATM 주소로 매핑될 수 있음을 증명했다. 그것이 이후의 지연 분포를 증명하지는 않았다. 라우팅 대기는 일시적 상태의 한 원천을 줄였다. 모든 제어 평면 전이가 완료되었음을 인증하지는 않았다. 잔류 패킷 대기는 늦은 관측이 다음 시험으로 새어 들어가는 것을 막았다. 늦은 트래픽을 성공적인 결과로 바꾸지는 않았다.

기준 자극 구간은 최소 60초였다. 분산이 여전히 높으면 이 방법론은 최소 300초를 권고했다. 더 긴 실행은 진실에 대한 의례적 보장이 아니라, 작은 관측 창이 안정성을 과대평가할 수 있다는 인정이었다. 반복 가능성, 분산, 통계적 유의성은 여전히 판단을 요구했다.

RFC 1242와 RFC 2544는 이미 BMWG의 분업을 확립했다. 용어는 벤치마크가 무엇을 의미하는지 정의하고, 방법론이 그것이 어떻게 수집·보고되는지를 통제한다. RFC 3116은 그 규율을 이례적으로 계층이 많은 시스템에 적용했다. 물리적 SONET 동작, ATM 셀, AAL5 패킷, 시그널링, ILMI는 각각 그럴듯한 숫자를 내놓을 수 있었다. 시험은 그 숫자가 어떤 계층, 어떤 이벤트, 어떤 조건을 나타내는지 밝혀야 했다.

집계는 원인을 숨길 수 있었다

이 방법론은 하나의 장치를 넘어, 상호 연결된 여러 시스템을 단일 시험 대상 시스템으로 취급할 수 있었다. 이로써 이기종 계측 장치에 걸친 종단 간 실증적 특성화가 가능해졌다. 동시에 귀속 attribution을 약화시켰다.

RFC 3116은 집계 벤치마크가 장치 간 비대칭이나 다른 장비가 도입하는 지연을 감출 수 있다고 경고했다. 두 시스템은 지연을 서로 다르게 분배하면서 동일한 총계를 만들 수 있다. 또한 겉보기에 비교 가능한 구성이 공통 분모를 결여한 채 서로 다른 총계를 만들 수도 있다.

이것이 측정과 비난 사이의 차이다. 상관된 타임스탬프 쌍은 선언된 경계를 넘는 경과 시간을 보여준다. 그것만으로 큐의 위치를 찾아내거나, 스케줄링 결정을 밝히거나, 어느 구성 요소를 수리해야 하는지 증명하지는 않는다. 내부 귀속에는 더 많은 관측 지점이나 통제된 개입이 필요하다. 운영 환경에서의 귀속에는 더 많은 것이 필요하다. 현재의 구성, 경로, 부하, 운영 상태가 그것이다.

이 RFC에는 특정 벤더의 서열화도 배포 조사도 없었다. 벤더와 사용자가 더 비교 가능한 실험실 데이터를 생산할 수 있는 방법을 정의했을 뿐이다. 그 방법을 한 역사적 스위치가 다른 것보다 빠르다는 주장으로 바꾸는 것은 문서에 없는 증거를 덧붙이는 일이다.

그 숫자는 증거 보존 사슬이었다

지속되는 교훈은 ATM에 국한되지 않는다. 벤치마크 값은 행위자와 전이의 압축된 기록이다. 제너레이터는 부하를 선택했다. 클록은 기준을 공급했다. 포착 하드웨어는 이벤트 시각을 부여했다. 상관 논리는 관측을 짝지었다. 카운터 인코딩은 시대(epoch)를 보존하거나, 보존하지 못했다. 스위치는 특정 VCC와 베어러 구성에서 전달했다. 보고자는 샘플을 재구성하고, 묶고, 그렸다. 독자는 다른 시험이 충분히 유사한 분모를 갖고 있었는지 판단했다.

사슬의 어떤 고리라도 사라지면, 숫자는 통사적으로 유효한 채 권위를 잃을 수 있다. 10나노초 틱은 10나노초 종단 간 정확도가 아니다. 공통 클록은 이벤트 포착이 의도된 회선 지점에서 일어났다는 증명이 아니다. 히스토그램은 서비스 수준 계약이 아니다. 깨끗한 실험실 구간은 애플리케이션 경험이 아니다. 공개된 방법론은 벤더가 그것을 따랐다는 증거가 아니다.

이것은 더 넓은 거버넌스 원칙의 측정 판이다. 참여가 곧 승인이 아니고, 대표가 곧 대표된 현실의 증명이 아니듯이. 타이머는 주장에 참여하지만 그 자체로 결론을 승인할 수 없다. 결과는 경계, 계측 장치, 변환, 맥락이 계속 귀속 가능할 때 비로소 사용 가능해진다.

RFC 3116은 ATM 지연 그래프를 무심코 공개하기 어렵게 만들었다. 그것이 이 문서의 성취였다. y축 위의 겉보기 사실이 그것을 만들어낸 클록, 카운터, 트래픽의 역사를 함께 짊어지도록 강제한 것이다.

출처

  1. https://www.rfc-editor.org/rfc/rfc3116.txt
  2. https://www.rfc-editor.org/info/rfc3116
  3. https://datatracker.ietf.org/doc/rfc3116/
  4. https://www.rfc-editor.org/rfc/rfc2761.txt
  5. https://www.rfc-editor.org/rfc/rfc2544.txt
  6. https://www.rfc-editor.org/rfc/rfc1242.txt
  7. https://www.rfc-editor.org/rfc/rfc2679.txt
  8. https://www.rfc-editor.org/rfc/rfc7679.txt
  9. https://www.rfc-editor.org/rfc/rfc2330.txt
  10. https://www.rfc-editor.org/rfc/rfc3393.txt
  11. https://www.rfc-editor.org/rfc/rfc5481.txt
  12. https://www.rfc-editor.org/rfc/rfc2225.txt