CPU RELIABILITY · 2026-11-01

조용한 계산 오류

프로그램이 정상 종료했다는 사실과 올바른 값을 계산했다는 사실은 다릅니다.

예외가 없다고 결과가 옳지는 않습니다

Silent data corruption(SDC)은 오류가 통상적인 오류 신호 없이 잘못된 데이터로 나타나는 문제입니다. CPU의 계산 경로가 원인인 사례도 있지만, 잘못된 결과만으로 CPU 결함을 판정할 수는 없습니다. 소프트웨어 버그, 메모리, 저장·전송 경로도 조사해야 합니다. EDAC가 보고하는 오류가 없거나 파일 체크섬이 맞는다는 것만으로 모든 계산의 정확성이 보장되지는 않습니다.

Meta가 공개한 2021년 사례에서는 실제로는 0이 아닌 파일 길이와 관련된 계산이 0이 되어 압축 해제를 건너뛰고 데이터가 누락됐습니다. 조사는 여러 기계에서 특정 기계·코어·입력으로 조건을 좁혀 갔습니다. 이 사례를 “어떤 잘못된 결과도 CPU 문제”라는 진단 규칙으로 바꾸지 않습니다.

Google의 Cores that don't count는 오류가 작업·명령과 주파수·전압·온도 같은 조건에 민감할 수 있음을 설명합니다. 한 번의 짧은 검사 통과나 다른 입력의 정상 결과만으로 모든 조건의 정상성을 입증하기 어렵다는 뜻입니다.

3.61은 퍼센트가 아니라 1만 대당 수치입니다

Alibaba의 SOSP 2023 연구는 14개국 28개 데이터센터에서 100만 개를 넘는 CPU를 32개월 관찰했습니다. 보고된 검출률의 단위는 ‱(1만분율)입니다.

연구의 검출률 · p3 · 서로 다른 검사 시점
구분1만 대당퍼센트
사전 검사3.2620.03262%
정기 검사0.3480.00348%
합계3.610.0361%

연구가 구성한 633개 테스트 사례로 발견한 해당 모집단의 결과입니다. 모든 CPU 모델의 고장 확률, 검사 한 번의 실패 확률 또는 모든 SDC를 빠짐없이 찾는 검출 성능이 아닙니다. 정기 검사에서 나중에 발견됐다는 사실만으로 그 사이 노화 때문에 새로 생긴 결함이라고 단정할 수도 없습니다. Google·Meta·Alibaba의 서로 다른 모집단과 관찰 기간을 합쳐 “CPU 1,000개 중 하나”로 표현하지 않습니다.

발견한 잘못된 결과의 사용처까지 추적합니다

검증 가능한 조사 단계 · 자체 도식
입력·기대값·실제값 보존
→ 소프트웨어·기계·코어 비교
→ 재현 조건과 대안 원인 조사
→ 확인된 자원 격리
→ 결과 재계산·하류 데이터 점검

입력 해시, 결과, 시간, 소프트웨어 버전과 실행 자원을 함께 기록합니다. 기준 결과도 믿을 수 있는 별도 방법으로 검증해야 합니다. 기계나 코어를 바꿨을 때 차이가 사라지는지, 메모리·입출력 오류나 프로그램의 미정의 동작은 없는지 조건을 통제해 비교합니다. CPU를 교체했다는 조치만으로 이미 잘못 생성돼 저장된 데이터가 복구되지는 않습니다.

사례 설명과 이 컴퓨터의 진단은 구분합니다

이 글은 공개 연구의 조건·단위와 조사 원리를 대조한 것입니다. 사용자의 컴퓨터에서 하드웨어 검사나 장애 재현을 실행하지 않았으며 특정 CPU의 결함을 판정하지 않습니다. 공정 미세화·노화가 가능한 설명이라는 것과 특정 사례의 원인이 입증됐다는 것도 다릅니다. 오류가 특정 공정에서 처음 생겼다거나 특정 연도에 처음 존재했다는 주장도 하지 않습니다.

출발점은 Laurie Kirk의 게시물입니다. 원본 그림을 재사용하지 않고 각 연구의 주장과 범위를 별도로 확인했습니다.

English summary. Silent computation errors need independent correctness checks. Population, duration and detection method matter: 3.61 per ten thousand is 0.0361%, not 3.61%. Isolation does not repair previously corrupted downstream data.