书上得来终觉浅,绝知此事要躬行: CACHE 简单用一句话来说就是加速内存的访问,让你的程序速度起飞!BiscuitOS 社区 CACHE 专题通过图文并茂,原理配实践的特点让所有开发者学会、直接能用、再创造 CACHE. 70 万字、80+ 实践案例、上百张图、真实场景、深度研究 40+ 小专题 以及 横跨多个子系统 对 CACHE 最全面的讲解.
CACHE 专题面对不同程度的开发者提供了定制化学习路线,主打让知识实践化、图形化、学有所用。将专题划分成三部分,由浅入深合理持续性的对 CACHE 进行学习:
- 混沌初开: 初级阶段开发者可能对 CACHE 有基础的了解,图文并茂的讲解原理,并附带 80+ 实践专题,让开发者理论实践同时认知 CACHE,并从 Linux 内核角度、SOC 产商角度 以及基础认知角度对 CACHE 全方位实践学习,慢慢撬开 CACHE 大门.
- 举一反三: 中级阶段开发者对 CACHE 略有小成,从工程实际出发,提供了 CACHE 场景化实践分析、CACHE BUG 实践分析、CACHE 调优工具实践以及 CACHE 漏洞学习,用最贴近实际工作的角度为开发者提供学习环境,通过该阶段的学习,开发者可以慢慢将所学的知识应用到实际工作中.
- 忘其形,得其意: 高级阶段开发者已经对 CACHE 有了深刻影响,专题提供了更深入的实践专题,让开发者得到 CACHE 的精髓,而不局限于专题所讲,钝化成自己所解,已经可以创建 CACHE 的应用场景,可以向向社区贡献想法, 最后了解最前沿 CACHE 技术.
BiscuitOS 社区为让开发者跟随社区的发展也能享受知识红利,提供了 CACHE 专题订阅服务,开发者可以根据自身需求选择订阅服务, 学海无涯人有涯,抓住学习机会,提升技术竞争力!快快加入订阅行列吧。
图文并茂
CACHE 专题对每个技术细节都进行了图形化讲解,让开发者从最直观的角度学习知识,上百张原理图片,让 CACHE 不再离你更远. CACHE 专题从以下几个大方面进行讲解实践,每个大方面又包含了 N 多个小专题,可谓干货满满,学了就能用,还等什么.
- CACHE 实践教程: 实践是认知的源泉,千里之行始于实践
- CACHE 通用基础: 基础不牢地动山摇,夯实基础,厚积薄发
- Linux CACHE 机制: 学以致用,Coding on Linux
- Intel® X86 ™Processors 架构 CACHE 机制: 洞悉前言科技
- CACHE 调试工具合集: 工欲善其事,必先利其器
- CACHE 应用场景: 丢掉幻想,直接实战
- CACHE BUG/Fault: 思其过,行长远
- CACHE 进阶研究: 得其意,忘其形
80+ 实践案例
CACHE 专题提供了多达 80+ 实践案例,结合 BiscuitOS 一比一复刻实践环境,让 CACHE 不再停留在书本上,一切认知的本源来自实践,实践出真知,每个场景都配置一个实践案例,还原场景问题,从场景实践里更加深刻认识 CACHE. 其中含包含了特色实践场景:
- CACHE 与 DMA(PartA): Coherent-DMA/Streaming-DMA
- CACHE 与 DMA(PartB): DMA-BUF and DMA-Pool
- CACHE 与 DMA(PartC): IOMMU
- CACHE Aligment
- CACHE Bin and CACHE Colouring Technology
- LLC 隔离研究
- CXL.cache 实践场景
- CACHE Locking 实践场景
- FLUSH CACHE 实践场景
- CACHE with Linux Memory Allocator 场景
- Memory and MMIO 使用场景
- CACHE Performance 场景
- 更多…..
CACHE On Linux
CACHE 专题提供了 Linux 里 CACHE 使用的多个场景,皆提供实践案例和原理讲解 Linux 里如何使用 CACHE,如何优化 CACHE,横跨多个子系统对 CACHE 进行全面研究,包含了以下几大方面:
- CACHE 在分配器里应用: Permanent、VMALLOC、EARLY IOREMAP、SLAB
- CACHE For Memory and MMIO: IOremap and Memory Remap
- CACHE Mode Coherent on Linux
- CACHE 与页表
- Linux Flush CACHE 名场面
- CACHE on Linux Copy User 机制
- CACHE on Linux CPA 机制
- CACHE-Info 系统
CACHE On Soc
CACHE 专题基于 Intel X86 芯片进行实践,提供了 Intel 关于 CACHE 的多个子专题原理实践,让开发者了解最前言的科技,也了解真实的硬件工作原理,包含以下几个大方面:
- Intel® Core-i7 an Xeon CACHE Architecture
- Intel® Smart CACHE Technology
- Intel® Memory Type: UC/UC-/WC/WT/WB/WP
- Intel® CACHE Coherency Protocol: MESIF
- Intel® Memory Type Range Registers(MTRRs) Technology
- Intel® Page Attribute Table(PAT) Technology
- Intel® CACHE Related Instruction
- Intel® Split_lock Check Technology
- Intel® RDT Technology
- Intel® CAT Technology
- Intel® DDIO Technology
- Intel® CHA Architecture
- Intel® Non-Temporal Hit Technology
CACHE 场景化实践分析
真正的技术不是屠龙之术,而是实打实能在实际工作场景中使用的技术,CACHE 专题提供了多个场景下的实践使用教程,让开发者学以致用,更贴近真实的环境, 专题包含了以下多个场景:
- IOV 用户空间与内核空间数据拷贝场景
- NOCACHE memcpy 数据拷贝场景
- 多线程数据同步场景
- 流式 DMA 与一致性 DMA 场景
- 竞态资源上锁场景
- CACHE 优化案例 A
- CACHE 优化案例 B
- 更多场景…
CACHE 性能调优工具
工欲善其事,必先利其器。BiscuitOS CACHE 专题收集了所有可以进行 CACHE 调优的工具,总有一款适合开发者的场景, 专题还针对每种工具提供了对应的实践案例,让开发者学习过程不迷路:
- Perf: Performance analysis tools for CACHE
- Valgrind: Cachegrind & kcachegrind
- likwid: likwid-perfctr/likwid-topology
- OProfile: Performance System profiler
- PAPI: Performance Application Programming Interface
- Intel VTune Performance Analyzer
- Intel CAT: Intel CACHE Allocation Technology
- Intel RDT: Intel Resource Director Technology
- PQos: Platform Quality of Service
- getconf: Get CACHE configuration value
- Perf c2c: Perf CACHE 2 CACHE
- CACHE-Info Interface
CACHE BUG 实践分析
BiscuitOS CACHE 专题收集整理了 CACHE 相关技术引起的 BUG,对一线开发者来说如果遇到有很大的帮助:
- CACHE Mode 一致问题: 记一次内核提交过程
- Split lock 引起的性能降低问题
- 虚拟化环境 split-lock 问题
- Don’t Forget the I/O When Allocating Your LLC【引】
- CPU 缓存侧信道攻击【引】
- Spectre: CVE-2017-5753/CVE-2017-5715
- Meltdown: CVE-2017-5754
最前沿 CACHE 技术
BiscuitOS CACHE 专题紧跟前沿科技,提出了类似 CXL、LLC 隔离技术和 IOMMU 等与 CACHE 相关的最前沿技术,还提供了相应的实践环境,让开发者了解最前沿 CACHE 技术的使用.
向社区贡献想法
BiscuitOS CACHE 专题通过记录作者从学习 CACHE、实践 CACHE 发现 BUG,并将向社区提交修复 BUG 的 Patch 过程,让开发者打通与社区的通路,为以后社区活动提供了借鉴模板.
更深入的实践专题
BiscuitOS CACHE 专题深挖 CACHE 可以利用的场景,并将其实践化,提供原理的深度剖析和场景实践,并图形化的分析整个流程,让开发者看到既学到,大大降低学习的难度, 其包含了多个小专题:
- CACHE 与 DMA(PartA): Coherent-DMA/Streaming-DMA
- CACHE 与 DMA(PartB): DMA-BUF and DMA-Pool
- CACHE 与 DMA(PartC): IOMMU
- CACHE Aligment 研究
- CACHE Bin and CACHE Colouring Technology
- LLC 隔离研究
- CACHE locking 机制与原子操作
- 一个有趣的 CACHE 别名问题
- 那些名叫 CACHE 的非 CACHE
- CXL: Compute Express Link - CXL.cache
- CACHE 相关的论文 Paper
- CACHE 与 TLB 研究(Updating)
- CACHE 与 Combine Write Buffer(Updating)
- CACHE 与 Store Buffer(Updating)
- CACHE 与 Memory Barrier(Updating)
70 万字、80+ 实践案例
BiscuitOS CACHE 专题提供最齐全的 CACHE 原理知识和实践教程,图形化的讲解原理和实践过程,让开发者大大降低学习 CACHE 的难度,提供多个使用案例,接在帮助开发者快速使用 CACHE.
70 万字、80+ 实践案例
BiscuitOS 专题提供上百张图片,皆在用图形化大大降低对 CACHE 学习难度。