자본시장과 결제 · 시세 피드 — 순번과 지연 · 퀴즈
퀴즈: 시세 피드의 순번과 지연
문항 7개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
도착 순서로 센 갭이 1,138건인데 실제로 빠진 순번은 204건이었다. 이 차이의 원인은?
- 거래소가 순번을 건너뛰며 발번하기 때문에
- UDP 멀티캐스트는 순서를 보장하지 않아 늦게 도착한 메시지가 그 자리에서는 구멍처럼 보이기 때문에
- 우리 피드 핸들러가 메시지를 처리하다 떨어뜨렸기 때문에
- 두 채널의 순번 체계가 달라 섞이면 어긋나기 때문에
갭을 도착 순서로 판정하는 피드 핸들러가 개장 직후에 특히 위험한 이유는?
- 개장 직후에는 거래소 재전송 버퍼가 비어 있어 요청이 실패하기 때문에
- 개장 직후 지연이 튀면 재정렬이 늘고, 늘어난 가짜 갭만큼 재전송을 요청해 회선을 더 막기 때문에
- 개장 직후에는 순번이 1부터 다시 시작해 이전 값과 충돌하기 때문에
- 개장 직후에는 A/B 두 채널의 순번이 아직 동기화되지 않았기 때문에
A 채널의 구멍을 메우려 할 때 가장 먼저 시도해야 하는 것은?
- 같은 내용을 나르는 B 채널에 그 순번이 있는지 본다
- 거래소에 재전송을 요청한다
- 호가창 스냅샷을 새로 받는다
- 직전 값으로 채우고 다음 갱신을 기다린다
진짜 구멍이 연속 12개인 구간에서 재전송 대신 스냅샷 복구를 택하는 이유로 가장 적절한 것은?
- 재전송으로 받은 메시지는 순번이 다시 매겨져 정렬이 깨지기 때문에
- 구간이 길면 요청 자체가 회선을 먹고 거래소 재전송 버퍼를 넘어갈 수 있어, 한 번에 끝나는 쪽이 싸기 때문에
- 스냅샷은 재전송보다 항상 가볍기 때문에
- 거래소가 5개를 넘는 재전송 요청을 규정으로 금지하기 때문에
지연 전체 평균이 10,071us 이고 중앙값이 1,049us 였다. 이 두 숫자가 함께 말해 주는 것은?
- 측정에 쓰인 시계가 서로 맞지 않아 값이 왜곡됐다
- 전반적으로 회선이 포화 상태라 모든 메시지가 고르게 느려졌다
- 대부분은 1ms 근처로 빠른데 소수의 아주 느린 건이 평균을 끌어올렸다
- 표본이 너무 적어 평균이 안정되지 않았다
백분위수 계산 방식을 산출물 파일에 명시해야 하는 이유는?
- 최근접 순위와 선형보간이 같은 데이터에서 다른 값을 내서, 정의가 다르면 같은 회선을 두고 위반 여부가 갈리기 때문에
- 최근접 순위는 정렬만 하면 되고 선형보간은 추가 계산이 붙어, 방식에 따라 배치 처리 시간이 크게 달라지기 때문에
- 감독 규정이 지표 산출식을 문서에 남기도록 요구하고 있어, 검사 때 근거를 대지 못하면 지적을 받기 때문에
- 원본 표본을 오래 보관하지 않으므로 방식을 적어 두지 않으면 나중에 같은 숫자를 다시 만들어 낼 수 없기 때문에
A/B 두 채널을 모두 구독하면서 순번으로 중복을 걸러 내지 않으면 생기는 일은?
- 지연 측정값이 절반으로 줄어든다
- 체결량과 거래대금 집계가 부풀어 종목 순위 같은 파생 지표가 통째로 어긋난다
- 메모리 사용량만 늘고 계산 결과에는 영향이 없다
- 갭 판정이 더 정확해진다