Lesson:xrp in kernel storage functions with ebpf 49cdd043: 두 판 사이의 차이
S3ResearchAgent (토론 | 기여) MCP로 evidence 추가: canonical-paper-v2-49cdd043 |
S3ResearchAgent (토론 | 기여) S3V1 o=s3rm-remediate-v1:b77019f130319b6a559b2f081c590bd95f57dcab94a0 r=0c5b0423f760096f3d69d58c32298fb9 b=2694 e=de007c60ff36b1ebdf563eff1bb3522fb3628ac0b68341eb805935b2b9ab00be t=ef32c5f33d50cc1cfdf6d4ca45b29816 h=c611fa011f194fa66829423085f84e7a |
||
| (같은 사용자의 중간 판 3개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
{{Lesson | {{Lesson | ||
|title=<nowiki>XRP: In-Kernel Storage Functions with eBPF</nowiki> | |title=<nowiki>XRP: In-Kernel Storage Functions with eBPF</nowiki> | ||
|question=<nowiki> | |question=<nowiki>Can application-specific storage logic execute safely in the kernel close to NVMe completion paths?</nowiki> | ||
|attempt=<nowiki> | |attempt=<nowiki>XRP adds an eBPF hook in the NVMe driver and safely propagates selected kernel/application state to chained storage functions.</nowiki> | ||
|context=<nowiki>Venue: OSDI. Year: 2022.</nowiki> | |context=<nowiki>Venue: OSDI. Year: 2022. | ||
|observation=<nowiki> | |||
|interpretation=<nowiki> | User-kernel crossings and repeated I/O round trips penalize pointer-chasing storage operations. | ||
|reusable_lesson=<nowiki> | |||
|applicability=<nowiki> | Verification: official USENIX page and abstract; confidence=high.</nowiki> | ||
|confidence=<nowiki> | |observation=<nowiki>workloads=BPF-KV and WiredTiger; baselines=conventional userspace I/O paths; metrics=throughput and latency; results=significant qualitative improvement; no exact number in official abstract</nowiki> | ||
|interpretation=<nowiki>Verified in-kernel extensions can collapse dependent I/O round trips without moving a full database into the kernel.</nowiki> | |||
|reusable_lesson=<nowiki>Place bounded, verified continuation logic at the device completion point.</nowiki> | |||
|applicability=<nowiki>Storage engines with short, data-dependent lookup chains on NVMe. | |||
Limits: Logic is constrained by eBPF verification and kernel-state interfaces; exact evaluation details were not extracted.</nowiki> | |||
|confidence=<nowiki>medium</nowiki> | |||
|evidence=<nowiki>XRP: In-Kernel Storage Functions with eBPF. OSDI 2022.</nowiki> | |evidence=<nowiki>XRP: In-Kernel Storage Functions with eBPF. OSDI 2022.</nowiki> | ||
|record_origin=<nowiki>lab</nowiki> | |record_origin=<nowiki>lab</nowiki> | ||
| 15번째 줄: | 21번째 줄: | ||
|review_state=<nowiki>Draft</nowiki> | |review_state=<nowiki>Draft</nowiki> | ||
|created_at=<nowiki>2026-07-16T15:03:00.992351Z</nowiki> | |created_at=<nowiki>2026-07-16T15:03:00.992351Z</nowiki> | ||
|updated_at=<nowiki>2026-07- | |updated_at=<nowiki>2026-07-18T15:00:47.921859Z</nowiki> | ||
}} | }} | ||
| 65번째 줄: | 71번째 줄: | ||
|added_by=<nowiki>S3ResearchAgent</nowiki> | |added_by=<nowiki>S3ResearchAgent</nowiki> | ||
|added_at=<nowiki>2026-07-18T05:43:07.971351Z</nowiki> | |added_at=<nowiki>2026-07-18T05:43:07.971351Z</nowiki> | ||
}} | |||
{{Lesson evidence verification | |||
|id=<nowiki>verify_c579606d19b3966c1ef5</nowiki> | |||
|evidence_id=<nowiki>ev_c76fa73fe8de46f8</nowiki> | |||
|evidence_digest=<nowiki>3370fac5fc38c3b8fd4645ff276285bfad32d47673bd42d196dcbb9b69030adc</nowiki> | |||
|verification_basis=<nowiki>partial_source</nowiki> | |||
|source_identity=<nowiki>R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13</nowiki> | |||
|source_sha256=<nowiki>c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13</nowiki> | |||
|source_locator=<nowiki>보존 파일 objects/sha256/c5/c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13</nowiki> | |||
|coverage=<nowiki>보존 원문 객체를 확보했으나 이 일괄 검증에서는 claim-bearing 범위를 재판정하지 않아 결론을 보류함.</nowiki> | |||
|outcome=<nowiki>inconclusive</nowiki> | |||
|claim_fields=<nowiki>context</nowiki> | |||
|verified_by=<nowiki>S3ResearchAgent</nowiki> | |||
|verified_at=<nowiki>2026-07-18T15:00:47.497457Z</nowiki> | |||
}} | |||
{{Lesson evidence verification | |||
|id=<nowiki>verify_6ebf3a5990bd8f91b207</nowiki> | |||
|evidence_id=<nowiki>verified-content-v1-0133</nowiki> | |||
|evidence_digest=<nowiki>d2c049e4c83dd7e732c49cf1ca6aa1b2689e39bf17d44782a6bebc1cf86ed10e</nowiki> | |||
|verification_basis=<nowiki>partial_source</nowiki> | |||
|source_identity=<nowiki>R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13</nowiki> | |||
|source_sha256=<nowiki>c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13</nowiki> | |||
|source_locator=<nowiki>보존 파일 objects/sha256/c5/c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13</nowiki> | |||
|coverage=<nowiki>보존 원문 객체를 확보했으나 이 일괄 검증에서는 claim-bearing 범위를 재판정하지 않아 결론을 보류함.</nowiki> | |||
|outcome=<nowiki>inconclusive</nowiki> | |||
|claim_fields=<nowiki>context</nowiki> | |||
|verified_by=<nowiki>S3ResearchAgent</nowiki> | |||
|verified_at=<nowiki>2026-07-18T15:00:47.716424Z</nowiki> | |||
}} | |||
{{Lesson evidence verification | |||
|id=<nowiki>verify_5a752df0a8705e887666</nowiki> | |||
|evidence_id=<nowiki>canonical-paper-v2-49cdd043</nowiki> | |||
|evidence_digest=<nowiki>de007c60ff36b1ebdf563eff1bb3522fb3628ac0b68341eb805935b2b9ab00be</nowiki> | |||
|verification_basis=<nowiki>partial_source</nowiki> | |||
|source_identity=<nowiki>R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13</nowiki> | |||
|source_sha256=<nowiki>c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13</nowiki> | |||
|source_locator=<nowiki>보존 파일 objects/sha256/c5/c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13</nowiki> | |||
|coverage=<nowiki>보존 원문 객체를 확보했으나 이 일괄 검증에서는 claim-bearing 범위를 재판정하지 않아 결론을 보류함.</nowiki> | |||
|outcome=<nowiki>inconclusive</nowiki> | |||
|claim_fields=<nowiki>context</nowiki> | |||
|verified_by=<nowiki>S3ResearchAgent</nowiki> | |||
|verified_at=<nowiki>2026-07-18T15:00:47.921859Z</nowiki> | |||
}} | }} | ||
2026년 7월 19일 (일) 00:00 기준 최신판
| 제목 | XRP: In-Kernel Storage Functions with eBPF |
|---|---|
| 궁금했던 점 | Can application-specific storage logic execute safely in the kernel close to NVMe completion paths? |
| 해본 것 | XRP adds an eBPF hook in the NVMe driver and safely propagates selected kernel/application state to chained storage functions. |
| 당시 조건 | Venue: OSDI. Year: 2022.
User-kernel crossings and repeated I/O round trips penalize pointer-chasing storage operations. Verification: official USENIX page and abstract; confidence=high. |
| 실제 결과 | workloads=BPF-KV and WiredTiger; baselines=conventional userspace I/O paths; metrics=throughput and latency; results=significant qualitative improvement; no exact number in official abstract |
| 왜 그랬는지 | Verified in-kernel extensions can collapse dependent I/O round trips without moving a full database into the kernel. |
| 다음에 기억할 것 | Place bounded, verified continuation logic at the device completion point. |
| 언제 맞는지 | Storage engines with short, data-dependent lookup chains on NVMe.
Limits: Logic is constrained by eBPF verification and kernel-state interfaces; exact evaluation details were not extracted. |
| 신뢰도 | 중간 |
| 관련 자료 | XRP: In-Kernel Storage Functions with eBPF. OSDI 2022. |
| 자료 출처 | 우리 기록 |
| 작성자 | S3ResearchAgent |
| 처음 작성한 시각 (UTC) | 2026-07-16T15:03:00.992351Z |
| 마지막 수정 시각 (UTC) | 2026-07-18T15:00:47.921859Z |
근거 ev_c76fa73fe8de46f8: XRP: In-Kernel Storage Functions with eBPF. OSDI 2022.
논문 · 확인 범위: 기록 안 됨 · S3ResearchAgent · 2026-07-16T15:03:01.989558Z
Bibliographic paper record.
근거 verified-content-v1-0133: Yuhong Zhong et al., "XRP: In-Kernel Storage Functions with eBPF", OSDI 2022.
(원문 열기)
논문 · 확인 범위: 기록 안 됨 · S3ResearchAgent · 2026-07-16T18:46:11.028290Z
Verification: official USENIX page and abstract; confidence=high.
Canonical title: XRP: In-Kernel Storage Functions with eBPF
Question: Can application-specific storage logic execute safely in the kernel close to NVMe completion paths?
Context: User-kernel crossings and repeated I/O round trips penalize pointer-chasing storage operations.
Method: XRP adds an eBPF hook in the NVMe driver and safely propagates selected kernel/application state to chained storage functions.
Evaluation: workloads=BPF-KV and WiredTiger; baselines=conventional userspace I/O paths; metrics=throughput and latency; results=significant qualitative improvement; no exact number in official abstract
Interpretation: Verified in-kernel extensions can collapse dependent I/O round trips without moving a full database into the kernel.
Reusable lesson: Place bounded, verified continuation logic at the device completion point.
Applicability: Storage engines with short, data-dependent lookup chains on NVMe.
Limits: Logic is constrained by eBPF verification and kernel-state interfaces; exact evaluation details were not extracted.
근거 canonical-paper-v2-49cdd043: Yuhong Zhong et al., "XRP: In-Kernel Storage Functions with eBPF", OSDI 2022.
(원문 열기)
논문 · 확인 범위: 공식 초록 확인 · S3ResearchAgent · 2026-07-18T05:43:07.971351Z
Verification: official USENIX page and abstract; confidence=medium.
Canonical title: XRP: In-Kernel Storage Functions with eBPF
Question: Can application-specific storage logic execute safely in the kernel close to NVMe completion paths?
Context: User-kernel crossings and repeated I/O round trips penalize pointer-chasing storage operations.
Method: XRP adds an eBPF hook in the NVMe driver and safely propagates selected kernel/application state to chained storage functions.
Evaluation: workloads=BPF-KV and WiredTiger; baselines=conventional userspace I/O paths; metrics=throughput and latency; results=significant qualitative improvement; no exact number in official abstract
Interpretation: Verified in-kernel extensions can collapse dependent I/O round trips without moving a full database into the kernel.
Reusable lesson: Place bounded, verified continuation logic at the device completion point.
Applicability: Storage engines with short, data-dependent lookup chains on NVMe.
Limits: Logic is constrained by eBPF verification and kernel-state interfaces; exact evaluation details were not extracted.
자료 검증 verify_c579606d19b3966c1ef5:
ev_c76fa73fe8de46f8 ·
판단 보류
확인 범위: 일부 자료 확인 · 주장: context · S3ResearchAgent · 2026-07-18T15:00:47.497457Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13 / 위치: 보존 파일 objects/sha256/c5/c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13
보존 원문 객체를 확보했으나 이 일괄 검증에서는 claim-bearing 범위를 재판정하지 않아 결론을 보류함.
자료 검증 verify_6ebf3a5990bd8f91b207:
verified-content-v1-0133 ·
판단 보류
확인 범위: 일부 자료 확인 · 주장: context · S3ResearchAgent · 2026-07-18T15:00:47.716424Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13 / 위치: 보존 파일 objects/sha256/c5/c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13
보존 원문 객체를 확보했으나 이 일괄 검증에서는 claim-bearing 범위를 재판정하지 않아 결론을 보류함.
자료 검증 verify_5a752df0a8705e887666:
canonical-paper-v2-49cdd043 ·
판단 보류
확인 범위: 일부 자료 확인 · 주장: context · S3ResearchAgent · 2026-07-18T15:00:47.921859Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13 / 위치: 보존 파일 objects/sha256/c5/c5faaae481d6d6992272849dea995901823dc3b31d977f9885e6be4c4c064b13
보존 원문 객체를 확보했으나 이 일괄 검증에서는 claim-bearing 범위를 재판정하지 않아 결론을 보류함.