Files

40 lines
4.5 KiB
Markdown

---
id: P-REINFORCE-AUTO-77D993
category: "10_Wiki/💡 Topics/Graphics & Performance"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - Timestamp Queries"
---
# [[Timestamp Queries|Timestamp Queries]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> Timestamp Queries(타임스탬프 쿼리)는 WebGL 및 WebGPU와 같은 웹 그래픽 파이프라인에서 GPU 명령 세트의 경과 시간을 나노초 단위까지 정밀하게 측정할 수 있게 해주는 기능입니다 [1-3]. 렌더링 파이프라인을 지연시키지 않으면서 GPU 작업 부하의 성능과 동작에 대한 깊은 통찰력을 제공하는 데 필수적입니다 [3, 4]. 그러나 고정밀 타이머가 사이드 채널 공격(예: Spectre 및 Meltdown)에 악용될 수 있다는 보안 취약점 때문에, 최신 브라우저 환경에서는 타이머의 정밀도를 의도적으로 낮추는 양자화(Quantization) 기법이 적용됩니다 [2, 5, 6].
## 📖 구조화된 지식 (Synthesized Content)
* **WebGL에서의 타이머 쿼리 한계:**
기존 WebGL은 `EXT_disjoint_timer_query` 확장을 통해 렌더링 파이프라인의 중단 없이 GL 명령의 지속 시간을 측정할 수 있었습니다 [1, 4]. 하지만 이 고정밀 타이밍 기능이 캐시 적중률을 관찰하여 Spectre 및 Meltdown과 같은 사이드 채널 공격에 악용될 수 있음이 밝혀지면서, 대부분의 브라우저 공급업체는 이 확장을 비활성화하거나 타이머 값에 엄격한 양자화 및 클램핑을 적용했습니다 [2].
* **WebGPU 타임스탬프 쿼리 도입:**
WebGPU는 `timestamp-query` 기능과 `GPUQuerySet`을 통해 렌더링 및 컴퓨트 패스의 시작과 끝에서 매우 정밀한(나노초 단위) 측정을 지원합니다 [2, 3]. 이 기능은 텐서플로우(Tensorflow.js)와 같은 복잡한 GPU 작업 부하의 동작을 파악하고 최적화하는 데 널리 활용됩니다 [7].
* **보안을 위한 양자화(Quantization) 및 거칠기(Coarsening) 적용:**
고정밀 타이머를 통한 지문 수집(Fingerprinting) 및 타이밍 공격을 방지하기 위해 WebGPU는 타임스탬프 값을 양자화합니다 [2, 5]. WebGPU 제안 초기에는 사이트 격리(Site isolation) 여부에 따라 격리된 컨텍스트에서는 100 마이크로초(µs) 해상도로, 격리되지 않은 컨텍스트에서는 쿼리 자체를 노출하지 않는 방식을 고려했습니다 [5, 8].
* **교차 출처(Cross-origin) 및 하드웨어 특성을 반영한 정책 변경:**
이후 논의 과정에서 GPU 타임스탬프는 고립된 컨텍스트 간에도 공유될 수 있으며 GPU 캐시를 통한 타이밍 공격 위험이 여전히 존재함이 확인되었습니다 [6]. 상호 운용성(Interop)을 높이고 보안을 유지하기 위해, 사이트의 교차 출처 격리(cross-origin isolated) 상태와 무관하게 항상 고해상도 시간 사양(HR-time)에 맞추어 100 마이크로초(µs)로 해상도를 거칠게 만드는(coarsening) 것으로 최종 정책이 합의되었습니다 [6, 9].
* **개발자를 위한 예외 처리:**
성능 프로파일링을 위해 실제 나노초 단위의 정밀한 측정값이 필요한 개발자는 로컬 환경에서 "WebGPU Developer Features" 또는 "Unsafe WebGPU Support" 같은 특정 브라우저 플래그를 활성화하여 이러한 양자화 제한을 일시적으로 우회할 수 있습니다 [8, 10].
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
## 🔗 지식 연결 (Graph)
- **Related Topics:** WebGL Timer Queries, [[Spectre and Meltdown|Spectre and Meltdown]], [[WebGPU|WebGPU]], [[Timestamp Quantization|Timestamp Quantization]]
- **Projects/Contexts:** [[EXT_disjoint_timer_query|EXT_disjoint_timer_query]], High Resolution Time Spec
- **Contradictions/Notes:** 초기 WebGPU 구현 제안에서는 사이트 격리 상태에 따라 타임스탬프 쿼리의 노출 여부와 해상도를 다르게 적용하려고 했으나(격리 시 100µs, 비격리 시 미노출) [5], 브라우저 간의 상호 운용성 부족 및 GPU의 격리 한계를 이유로 격리 상태와 관계없이 모든 GPU 작업에 대해 일괄적으로 100µs 해상도를 적용하도록 사양이 수정되었습니다 [6, 9].
---
*Last updated: 2026-04-19*
- Raw Source: 00_Raw/2026-04-20/Timestamp Queries.md
---