自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(812)
  • 资源 (375)
  • 收藏
  • 关注

原创 BPF comes to firewalls

Linux内核正迎来第三次网络包过滤机制变革:在iptables和nftables之后,新推出的bpfilter有望成为终极解决方案。该技术通过BPF虚拟机实现高效过滤,支持规则即时编译和硬件卸载,性能优势显著。开发者创新性地采用内核模块封装用户态程序的方式实现规则转换,既保持兼容性又提升安全性。虽然bpfilter尚处早期阶段,但已引发社区热议:支持者认为它能解决现存性能瓶颈,而反对者担心延续iptables的设计缺陷会阻碍架构演进。尽管短期内难以进入主线内核,但凭借核心开发者的推动和BPF生态的扩展,b

2025-12-22 09:03:38 614

原创 The beginning of the 6.19 merge window

Linux 6.19内核合并窗口前半段已合并4,124个非合并提交,涉及多项重要改进:新增AMD智能数据缓存注入和Intel LASS支持;优化TCP传输性能达300%;BPF程序支持间接跳转;FUSE增强大folio缓冲读取;新增listns()系统调用管理命名空间;重构rseq实现提升性能;支持RFC5837改进路由追踪;内核加密库新增SHA-3和BLAKE2b算法。后续还将有8,000+提交等待合并,预计12月14日完成窗口关闭。

2025-12-22 06:24:41 634

原创 Network filtering for control groups

摘要:Linux内核控制组(cgroups)拟扩展网络流量控制功能,引发BPF与netfilter技术路线之争。Daniel Mack提出通过扩展bpf()系统调用实现基于BPF的过滤方案,允许在cgroup层级对进程网络流量进行控制。而netfilter维护者Pablo Neira Ayuso主张采用netfilter规则表方案,认为其更易管理且支持规则组合。双方就技术透明度、性能及灵活性展开讨论,BPF开发者Alexei Starovoitov则建议将netfilter方案作为独立机制考虑。这场争论反映

2025-12-17 13:47:51 711

原创 Slab allocator: sheaves and any-context allocations - 2

内核开发者Alexei Starovoitov提出改进BPF程序内存分配机制,旨在创建可在任意上下文(包括不可屏蔽中断)中调用的kmalloc()版本。目前BPF使用自定义分配器解决特殊上下文的内存分配问题,但存在内存浪费和维护成本高的缺点。新方案通过引入try_alloc_pages()函数,在保持NMI安全性的同时复用slab分配器核心功能,避免重复造轮子。该函数采用条件加锁机制,在无法获取锁时直接失败而非引发死锁。虽然内存管理维护者Andrew Morton对非核心场景的改动持保留态度,但该改进最终被

2025-12-17 13:24:43 875

原创 Slab allocator: sheaves and any-context allocations - 1

2025年Linux内存管理峰会上,slab分配器维护者Vlastimil Babka介绍了新型sheaves缓存机制。该机制为每个CPU维护空闲对象数组,显著降低了对象释放成本,并与RCU系统集成优化kfree_rcu()性能。虽然目前作为可选特性,但讨论聚焦于是否应默认启用,以及如何权衡其带来的NUMA局部性降低问题。初步测试显示该机制能有效缓解锁竞争问题,尤其对多CPU单NUMA节点系统效果显著。未来可能逐步取代现有缓存机制,但也面临完全释放判断等新挑战。

2025-12-17 13:21:24 578

原创 Checked-size array parameters in C

本文讨论了C语言中一个冷门特性如何帮助提升数组参数的安全性。在加密函数xchacha20poly1305_encrypt()中,开发者发现编译器不会检查数组参数的大小,可能导致安全隐患。两种解决方案被提出:使用指针指向固定大小数组,或在数组参数声明中添加static关键字。后者更简洁,无需修改调用方代码,且能触发编译器对数组大小的检查。虽然这个语法设计被认为"很hack",但Linus Torvalds并不反对使用它。事实上内核中已有部分代码采用了这种写法。这表明即使经过多年发展,C语言

2025-12-17 13:11:11 730

原创 Some 6.18 development statistics

Linux 6.18内核发布总结 Linus Torvalds于11月30日正式发布Linux 6.18内核,标志着2025年最后一个完整开发周期结束。该版本包含13,710个提交,来自创纪录的2,134名开发者,其中333人是首次贡献者。声音子系统维护者Takashi Iwai成为最活跃开发者,贡献了205个变更集。 在雇主方面,Intel、Google和Red Hat继续保持领先地位,共支持了约30%的代码变更。值得注意的是,Alice Ryhl经过多年努力贡献了Rust binder驱动。 作为年度最

2025-12-14 15:19:03 580

原创 BPF and io_uring, two different ways

摘要:内核社区正讨论两种为io_uring添加BPF支持的不同方案。Ming Lei提出IORING_OP_BPF操作类型,允许在io_uring操作链中插入BPF程序;而Pavel Begunkov则建议在完成环增加回调钩子,将处理逻辑移入内核。前者保持用户空间主导,后者追求更高性能但增加内核复杂性。两种方案都引入新kfunc支持缓冲区操作,主要面向ublk等高性能I/O场景。目前开发者各持己见,社区可能面临选择整合方案或维持现状的决策。(149字) 核心要点: 两种技术路线对比:新增操作类型 vs 完成

2025-12-14 15:06:17 875

原创 Hot-page migration and specific-purpose NUMA nodes

摘要:Linux内核正针对NUMA节点内存管理进行两项重要改进。Bharata Rao的补丁集通过中央注册表跟踪页面访问频率,实现热点页面从慢速到快速内存的动态迁移,引入pghot_record_access()接口记录访问信息,并新增内核线程执行热点扫描和提升。Gregory Price则提出"特定用途内存节点"概念,通过标记节点类型限制特殊内存(如压缩内存)的使用范围,需显式分配请求才能访问。两项改进均处于开发阶段,前者需优化性能指标,后者尚缺完整功能实现,相关讨论将在Linux P

2025-12-05 12:13:33 817

原创 A struct sockaddr sequel

Linux内核网络子系统面临的安全挑战源于40年前定义的sockaddr结构体。KSPP项目十年来致力于改进数组边界检查,但sockaddr的变长使用方式(未声明为可变数组却实际充当可变数组)成为主要障碍。Kees Cook提出的解决方案是引入新的sockaddr_unsized结构体专门用于内部接口,同时保留经典定义。虽然这一改进消除了编译器警告,但内存安全问题仍需进一步解决,未来可能通过添加长度字段实现自动边界检查。尽管Rust能减少新代码的安全隐患,但现存大量C代码仍需持续优化,内核安全改进任重道远。

2025-12-05 12:09:40 597

原创 Early packet drop — and more — with BPF

BPF机制推动Linux高性能网络革新 BPF自2014年重构后已渗透到多个内核子系统,其内核虚拟机特性允许不编写内核代码即可实现任意策略。最新补丁集展示了BPF在网络驱动中的潜力,旨在数据包到达时立即执行早期丢弃决策,避免不必要的协议处理开销。该机制引入新的BPF程序类型BPF_PROG_TYPE_PHYS_DEV,并扩展了net_device_ops接口。 目前实现仍存争议:使用SKB结构传递数据包信息违背了降低开销的初衷,且不利于未来将BPF程序卸载到网卡硬件执行。更宏大的"快速数据路径&q

2025-11-28 11:33:15 487

原创 Attaching eBPF programs to sockets

摘要:Linux 3.19内核将增强eBPF功能,首次支持将验证后的eBPF程序附加到套接字,用于数据包统计收集。程序可通过bpf()系统调用加载,以受限C语言编写后经LLVM编译为eBPF字节码。虽然当前功能有限(仅能访问数据包内容,无法修改数据包),但开发者计划将其扩展到seccomp和tracepoint等更多场景,展现其作为内核通用机制的潜力。(149字)

2025-11-28 11:29:32 560

原创 A proposal for shared memory in BPF programs

Linux内核引入新型共享内存bpf_arena 摘要:Linux内核开发者Alexei Starovoitov近日提交了bpf_arena补丁系列,为BPF程序与用户空间之间提供新型共享内存机制。该特性支持双向通信和作为BPF程序的额外堆使用,特别适合直接实现复杂数据结构的BPF程序。 技术特点: 最大支持4GB空间,按需分配页面而非预先分配 独特的指针处理机制,实现BPF程序与用户空间的无缝访问 通过特殊转换函数处理不同架构的指针表示差异 争议与改进: 审查过程中发现初始版本存在内存空洞问题,已在v2版

2025-11-26 14:47:47 477

原创 The intersection of unstable pages and direct I/O

摘要: 内核长期存在的"稳定页"机制旨在防止用户空间在I/O过程中修改缓冲区导致数据损坏。虽然缓冲I/O已通过延迟修改解决了该问题,但直接I/O仍面临挑战:当应用程序在写入时修改数据,可能导致校验和错误(如Btrfs)或RAID条带损坏。近期补丁(Btrfs/XFS)选择强制回退到缓冲I/O,但引发性能争议。争论焦点在于:修改I/O缓冲区是否属于应用错误?Hellwig认为内核从未禁止此行为,应保持兼容性;而Chinner坚持直接I/O需应用自行确保并发安全。可能的折衷方案包括:针对性回

2025-11-26 14:30:43 907

原创 Magic kernel functions for BPF

BPF程序调用内核函数(kfunc)时,校验器自动传递上下文信息的机制正在优化。当前kfunc通过__prog注解获取bpf_prog_aux结构,但要求调用方显式传NULL。Ihor Solodrai的补丁引入"magic参数"机制,允许校验器隐式传递任意类型参数,使接口更简洁。该方案通过BTF维护两个函数签名(完整版和BPF可见版),并采用__magic后缀标注隐式参数。讨论中建议将"magic"改为"implicit",并通过pahole工具

2025-11-23 23:11:03 197

原创 Toward fast, containerized, user-space filesystems

摘要:Linux开发者Darrick Wong提出了一项重大改进方案,通过182个补丁实现了用户空间高性能文件系统。该方案利用iomap机制,让FUSE服务器在内核中构建I/O映射,避免了内核与用户空间之间的数据复制,使ext4文件系统在用户空间的性能接近内核实现(顺序读写可达2-8GB/s)。虽然当前仍需要特权进程支持,但最终目标是实现非特权挂载,使Linux系统能像微内核那样隔离文件系统漏洞。这项改进若被采纳,将从根本上改变Linux文件系统的管理方式。(149字)

2025-11-23 23:04:37 48

原创 Out-of-memory victim selection with BPF

Linux内核默认允许进程分配超过物理内存的限制,这种策略虽然提高了内存利用率,但在内存耗尽时会触发OOM-killer机制杀死进程。现有机制通过oom_badness()函数计算进程的OOM分数,但选择机制仍不够精准。最新补丁提出通过BPF(Berkeley Packet Filter)编程接口实现更灵活的进程选择策略,允许自定义评估函数动态决定OOM受害者。该方案支持四种决策结果:继续默认评估、中止选择、跳过当前进程或直接选定目标。虽然开发者对具体实现方式仍有分歧,但这一创新为优化内存管理提供了新思路,

2025-11-16 13:14:50 589

原创 Yet another try at the BPF program allocator

BPF内存分配问题及其解决方案:内核开发者为BPF程序管理提出新方法 BPF子系统允许用户空间代码在内核中安全执行,但引发内存管理挑战。BPF程序通常短小、临时且数量多,需存放在可执行但不可写的内存中,这导致内核directmap巨页被拆分,造成性能损耗。刘崧先后提出两种方案:最初的bpf_prog_pack分配器因内存管理子系统问题被迫降级使用4KB页;新方案重新采用2MB巨页,性能提升达0.7%,并引入通用API execmem_alloc/fill/free。该API理论上也适用于模块加载,但由于架构

2025-11-16 12:59:15 815

原创 Namespace reference counting and listns()

内核命名空间机制作为容器技术的关键组件,其API因历史演化存在诸多缺陷。Christian Brauner提出72个补丁的系统性改进方案,主要包含:1. 通过新增__ns_ref_active计数器严格区分内核与用户空间引用,解决文件句柄导致命名空间"复活"的安全隐患;2. 引入listns()系统调用,首次实现高效获取活跃命名空间列表的能力,支持按类型和用户命名空间过滤。该改进将命名空间生命周期管理与可见性控制解耦,预计在6.19版本合并,标志着历时24年的命名空间机制迎来重要重构。

2025-11-14 08:02:49 1351

原创 The long path toward optimizing short reads

内核开发者Kiryl Shutsemau提出优化短读取性能的补丁,旨在解决多进程高频小文件读取场景下的性能瓶颈。该方案通过引入序列计数器和栈缓冲区快速路径,使基准测试提升近3倍,但引发关于栈安全性和原子性保证的争议。Linus Torvalds认为性能收益显著,而Dave Chinner等开发者担忧其可能破坏fallocate()操作的原子性,并增加truncate()等复杂操作的实现难度。尽管存在技术分歧,这项优化揭示了内存管理与文件I/O交互层的深度复杂性,其最终能否被接受仍待进一步讨论。(149字)

2025-11-14 07:57:37 584

原创 A BPF-specific memory allocator

摘要:Linux内核BPF子系统提出新型专用内存分配器,旨在解决BPF程序在多样化执行上下文(包括原子上下文和NMI处理)中内存分配的可靠性问题。该机制采用多级per-CPU缓存设计,包含常规和NMI专用列表,支持11种对象尺寸,通过动态水位线调节(32-64-96)平衡内存可用性与占用。相比传统内存池,新分配器更精细地适应BPF场景需求,但存在内存消耗缺乏全局限制、缺少收缩机制等问题。目前该方案已应用于BPF哈希映射,虽然独立于内存管理子系统,但开发者建议与slab分配器维护者进一步协调优化方案。

2025-11-12 13:59:04 550

原创 The BPF allocator runs into trouble

Linux 5.18内核开发过程中,为BPF程序引入专用内存分配器的尝试遭遇挫折。该分配器旨在通过大页分配减少内存碎片,但因触发了vmalloc()子系统的深层问题而被迫回退。问题根源在于:1)复合页处理不当导致内存映射损坏;2)BPF分配器本身存在未初始化内存的安全隐患。虽然开发者提出了修复方案,但Linus Torvalds认为该功能尚未成熟,可能推迟至5.19版本。这一事件暴露出内核内存管理的复杂性,特别是将底层页结构暴露给全内核带来的风险,也突显了在主流架构上进行广泛测试的重要性。长期来看,减少内核

2025-11-12 13:48:13 921

原创 A memory allocator for BPF code

本文介绍了Linux内核中BPF程序内存分配优化的新方案。由于当前内核以整页(4KB)为单位分配BPF程序空间,导致大量小型程序加载时内存浪费严重。刘松提出的"bpf_prog_pack"专用分配器使用巨大页存储多个BPF程序,通过位图管理64B块的空间分配和回收,显著减少内存碎片。该方案解决了现有slab分配器无法处理可执行代码页的问题,采用双缓冲机制:先编译到临时可写内存,再通过"textpoke"安全复制到最终只读可执行页。经过多轮迭代后,该优化有望在5.18内

2025-11-10 11:12:33 803

原创 Better linked-list traversal in BPF

BPF程序中循环验证难题的新解决方案 BPF程序的安全验证要求确保循环能在有限时间内终止,这给链表遍历等操作带来巨大挑战。虽然近年来通过bpf_loop()等函数改善了简单循环的处理,但链表遍历仍需要极其复杂的代码实现。最新补丁引入了"may_goto"指令和cond_break宏,通过设置最大循环次数(8×1024×1024)作为"断路器",让验证器能放心放行这类循环操作。这个方案虽然仍显笨拙,但相比当前必须使用庞大怪物宏的现状已有显著改善。开发者预计未来可能改用看

2025-11-10 10:39:34 820

原创 Generic iterators for BPF

BPF虚拟机引入迭代机制增强程序表达能力 BPF程序运行环境与传统C语言的差异日益显著,内核开发者为BPF虚拟机设计了一种新的迭代机制。该机制通过定义标准化的迭代器接口(包括构造函数_new()、获取元素_next()和析构函数_destroy()),使BPF程序能安全地遍历各类数据结构。校验器会对迭代过程进行严格检查,确保迭代器被正确初始化和释放,同时强制迭代必须在合理次数内终止。虽然简单计数场景可用现有bpf_loop()实现,但新机制为更复杂的遍历需求(如调度器数据结构)提供了基础支持。这一自描述的设

2025-11-09 06:05:16 793

原创 A different approach to BPF loops

BPF验证器引入的bpf_loop()函数显著改善了循环验证问题。该方案将循环控制逻辑从BPF程序移至内核实现,使验证器能直接确认循环边界,避免了复杂的模拟验证过程。测试显示验证时间从30秒降至0.15秒,大幅提升开发效率。这一设计借鉴了Fortran的思路,通过限制语言自由度来增强可验证性,使开发者能更轻松地编写通过验证的安全程序,解决了BPF长期面临的循环验证难题。

2025-11-09 03:39:33 722

原创 BPF signing LSM hook change rejected

BPF程序签名机制引发内核社区分歧。KPSingh的补丁通过两步验证(先验加载器签名,再由加载器检查主程序哈希)在6.18版本被合并,但Blaise Boscaccy认为该方案审计性不足,提出新补丁要求完整加载流程通过后才会调用LSM钩子,确保安全模块获取完整验证状态。双方争论焦点在于:Singh派认为加载器验证即等效完整签名,且libbpf由内核维护足够可信;Boscaccy派则强调LSM需要获取最终加载状态以支持严格审计。尽管LSM维护者Paul Moore支持后者,但BPF维护者Alexei Star

2025-11-06 12:43:47 766

原创 Safer speculation-free user-space access

摘要:Spectre硬件漏洞在披露8年后仍在不断涌现新变种。内核开发者持续优化防御方案,如引入"掩码用户空间访问"机制降低性能损耗,但该机制自身也带来新挑战。最新6.11内核采用地址掩码技术取代高开销的LFENCE指令,通过位运算自动过滤非法访问。6.19版本将进一步引入scoped_user_*_access宏来简化安全访问模式,用作用域机制替代易出错的显式清理代码。这些改进展示了内核社区在保持C语言优势的同时,通过创新设计降低安全漏洞风险的持续努力。 (149字)

2025-11-06 12:10:50 531

原创 Bounded loops in BPF for the 5.3 kernel

BPF程序近年功能显著增强,但开发者长期面临无法使用循环的限制。Linux 5.3通过Alexei Starovoitov的补丁解决了这个问题,在添加循环支持的同时大幅降低了程序加载时间。校验器通过状态机模型和剪枝机制确保程序安全,经过优化后能处理百万级指令。新方案采用"蛮力验证"方式,通过模拟循环迭代、建立状态父子关系、精确跟踪分支寄存器等创新方法,在保持安全性的前提下实现了循环支持。这些改进使BPF程序开发更便捷,尽管开发者仍需应对校验器的严格检查。

2025-11-06 04:30:54 737

原创 Bounded loops in BPF programs

BPF校验器当前通过禁止所有循环来确保程序安全,但限制了BPF功能的实用性。在2018年Linux Plumbers会议上,John Fastabend提出了验证有界循环的解决方案。其核心是识别循环的归纳变量,验证其单调性和边界值,从而确认循环可终止。由于BPF缺乏显式循环结构,需构建支配树识别循环,但算法复杂度较高。讨论提出了三种改进方案:传统模式匹配、编译器协助优化循环生成,以及最被看好的专用循环指令方案。虽然会议未达成最终共识,但推动了该复杂问题的技术探讨,最终解决方案可能通过实际代码提交形成。这一改

2025-11-06 02:36:05 727

原创 Calling kernel functions from BPF

Linux 5.13内核引入BPF函数调用机制,允许BPF程序直接调用内核函数。该功能最初是为TCP拥塞控制算法而开发,可避免重复实现已有内核函数。BPF验证器会对调用的安全性和参数类型进行检查,但被调用函数不受ABI约束。相比传统BPF辅助函数机制,该方案更简洁但也带来安全隐患,如可能不当暴露内核内部函数。开发者需警惕错误导出函数的风险,但若管理得当,该机制可大幅扩展BPF的功能边界。

2025-11-04 23:42:12 1115

原创 The BPF-programmable network device

Linux 6.7内核引入的netkit虚拟网络设备通过BPF编程实现高效网络转发。传统虚拟设备需要经过两层协议栈处理,而netkit允许加载BPF程序在数据包发送时直接决策:可丢弃、转发或重定向数据包。测试显示,使用netkit的虚拟机可获得与主机相当的TCP传输性能,完全消除了虚拟化网络开销。该特性特别适合容器和虚拟机中的网络密集型应用,通过避免冗余协议栈处理显著提升性能。

2025-11-04 23:36:43 925

原创 BPF for HID drivers

HID设备标准化与BPF创新解决方案 摘要: HID标准虽定义了键盘、鼠标等设备的通用接口,但各厂商的"创造性"实现常导致兼容性问题。传统解决方案需为每个问题设备编写专用驱动并经历冗长的内核审核流程。在2022年Linux Plumbers大会上,Benjamin Tissoires提出利用BPF技术动态修复HID设备问题。该方案允许通过小型BPF程序即时调整设备行为,无需修改内核模块,预计将随Linux 6.1合并。BPF不仅能修复设备兼容性,还可实现HID防火墙、设备功能转换等创新应

2025-11-01 12:22:22 687

原创 IR decoding with BPF

Linux 4.18内核新增了使用BPF进行红外信号解码的功能。红外遥控器采用类似摩尔斯电码的脉冲编码,传统方案需要在内核实现大量解码器或依赖用户态守护进程。BPF方案通过受限C语言编写轻量级解码程序,利用BPF map保存解码状态,最终通过bpf_rc_keydown()生成按键事件。该方案支持同时加载多个解码器,通过ir-keytable工具加载编译后的BPF程序。虽然当前BPF验证器限制了解码器的复杂性,但这一创新为红外解码提供了更高效的内核态解决方案,未来有望通过IRP表示法扩展支持更多协议类型。

2025-11-01 11:56:15 502

原创 DebugFS on Rust

摘要:内核开发者Matthew Maurer在Kangrejos 2025会议上介绍了Rust版DebugFS绑定的实现。DebugFS作为内核的无规则调试接口,允许开发者暴露内部数据用于调试,其特殊性(如文件生命周期长于私有数据、目录需手动清理等)给Rust建模带来挑战。Maurer提出两种API:简单的File API(文件拥有数据)和复杂的Scope API(支持多文件共享数据),并通过"指针走私"技巧(利用Rust函数类型的零大小特性在编译时生成file_operations结构

2025-10-30 12:31:15 975

原创 Large language models for patch review

自由软件社区近期热议大型语言模型(LLM)在Linux内核开发中的新应用方向。不同于此前聚焦代码生成的讨论,内核开发者Chris Mason提出将LLM用于补丁审查,并开源了一套包含上千行专业提示词的系统,可生成符合内核邮件列表风格的审查意见。虽然当前误报率高达50%,但开发者普遍认为这种应用比代码生成更安全可靠。讨论中既肯定了LLM减轻维护者负担的潜力,也对其专有性质可能带来的"供应商锁定"风险提出警示。Linus Torvalds等核心开发者建议应优先优化维护者工作流,待工具成熟后再

2025-10-30 12:27:13 768

原创 A new type of spinlock for the BPF subsystem

摘要:Linux 6.15内核合并窗口引入了由Kumar Kartikeya Dwivedi开发的"弹性队列自旋锁"(resilient queued spinlock),旨在解决BPF子系统中的死锁问题。该锁通过4字节结构(locked/pending/tail)实现动态死锁检测,在保持接近现有自旋锁性能的同时(x86_64稍慢,arm64相当),支持多线程竞争时的队列管理和错误隔离。Dwivedi计划将其逐步替换BPF现有锁机制,并最终允许BPF程序同时持有多锁,同时确保问题程序会被

2025-10-26 13:57:22 1169

原创 The challenge of compiling for verified architectures

摘要:BPF程序必须通过内核验证器才能运行,但验证器对代码施加的严格限制常导致开发者受挫。在2023 GNUTools Cauldron会议上,GCC BPF后端开发者José Marchesi探讨了编译器如何生成可验证代码的挑战。他指出验证问题分为两类:不可验证的源代码结构和优化引入的问题。目前GCC方案仅能编译20%的BPF测试程序。Marchesi提出七种改进方案,包括选择性禁用优化、反向优化机制等,最终建议需综合多种方法。虽然理论上是无解问题,但通过标准化协作可改善开发现状。

2025-10-26 12:59:10 863

原创 Rethinking bpfilter and user-mode helpers

摘要:BPFilter子系统及其"用户模式blobs"架构在2018年并入Linux 4.18内核时曾引发广泛关注,被视为可能取代netfilter的革命性技术。该系统通过将防火墙规则转换为BPF程序执行,理论上能提供更高性能和灵活性。但两年后开发陷入停滞,面临被移除风险。核心争议在于其关键的"用户模式辅助程序"机制——将复杂规则转换工作移至用户空间进程执行以避免内核安全风险——至今未被实际应用。尽管维护者辩称相关BPF功能正在完善,但包括Linus Torvalds

2025-10-24 08:51:41 852

原创 A new API for interrupt-aware spinlocks

Rust内核驱动新突破:冯博群提出可感知中断的自旋锁API 在2025年Kangrejos会议上,冯博群提出了一项针对Rust驱动程序的重要改进——可感知中断的自旋锁API。该方案解决了Rust驱动与中断处理程序间的同步问题,通过追踪禁用中断的嵌套层级数量,不仅优化了Rust驱动开发,还能预防C代码中的潜在错误。 核心创新点包括: 引入嵌套计数机制,消除锁释放顺序导致的死锁风险 兼容现有C代码的同时提供更安全的编程模式 在实现过程中发现了内核中的潜在bug 该提案目前仍在审查中,若通过将成为Rust驱动开发

2025-10-24 08:46:52 996

C语言面试题汇总:涵盖数据结构、算法及编程技巧

内容概要:本文档《c预约面试大全.pdf》汇集了大量C语言及其相关领域的面试问题与解答,涵盖了从基础概念到高级技巧的广泛知识点。主要内容包括但不限于:C语言的基础语法(如static关键字的作用、指针与引用的区别)、数据结构(如平衡二叉树、链表操作)、算法(如冒泡排序的时间复杂度)、计算机网络(如TCP/IP协议栈)、操作系统(如进程和线程的区别)、内存管理(如堆栈差异)等方面。此外,还涉及了一些较为复杂的主题,例如位域的应用、编译原理中的预编译概念、以及针对特定问题的编程实现(如寻找数组中的重复数字、实现约瑟夫环问题等)。每个问题都配有详细的解释或代码示例,旨在帮助求职者全面准备C语言相关的技术面试。 适合人群:正在准备C语言及相关领域(如嵌入式开发、系统编程)工作的求职者,尤其是有一定编程基础但缺乏实战经验的技术人员。 使用场景及目标:①帮助读者深入理解C语言的核心概念和技术细节;②通过实际案例分析提升解决复杂问题的能力;③为参加各类技术面试做好充分的知识储备和心理准备。 其他说明:此文档不仅包含了理论知识,还提供了大量实战练习的机会,鼓励读者动手实践,从而更好地掌握所学内容。同时,文档中的问题难度逐步递增,适合不同层次的学习者按需选择。由于C语言是许多高级编程语言的基础,因此这份资料对于想要深入学习计算机科学的学生也非常有价值。

2025-08-17

IB Specification Vol 2-Release-2.0-Final-2025-07-31

IB Specification Vol 2-Release-2.0-Final-2025-07-31

2025-08-12

IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 3

IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 3 pdf

2025-08-12

IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 4

IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 4

2025-08-12

IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 2

内容概要:本文档为《400_IB Specification Vol 2-Release-2.0-Final-2025-07-31.pdf》,主要描述了InfiniBand架构2.0版本的物理层规范。文档详细规定了链路初始化、配置与训练流程,包括但不限于传输序列(TS1、TS2、TS3)、链路去偏斜、波特率、前向纠错(FEC)支持、链路速度协商及扩展速度选项等。此外,还介绍了链路状态机的不同状态(如禁用、轮询、配置等),以及各状态下应遵循的规则和命令。针对不同数据速率(从SDR到XDR)的链路格式化规则也有详细说明,确保数据包格式和控制符号在多条物理通道上的一致性和正确性。文档还涵盖了链路性能监控和错误检测机制。 适用人群:适用于从事网络硬件设计、开发及维护的技术人员,尤其是那些需要深入了解InfiniBand物理层细节的专业人士。 使用场景及目标:① 设计和实现支持多种数据速率和编码方式的InfiniBand设备;② 开发链路初始化和训练算法,确保链路两端设备能够正确配置并优化通信质量;③ 实现链路性能监控和错误检测,提高系统的可靠性和稳定性。 其他说明:本文档属于InfiniBand贸易协会所有,为专有信息,仅供内部参考和技术交流使用。文档内容详尽,对于理解和实施InfiniBand接口具有重要指导意义。读者应结合相关背景资料进行学习,以确保正确理解和应用规范中的各项技术要求。

2025-08-12

IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 1

IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 1

2025-08-12

【网络通信领域】2025年IBTA NDR VNA合规电缆性能参数汇总:多厂商高速数据传输线缆规格对比分析

内容概要:本文档为2025年IBTA Plugfest 42活动的合规电缆列表,主要介绍符合NDR VNA标准的有源和无源电缆。表格列出了不同公司生产的电缆型号、宽度、最大速度、长度、线规、类型(如铜缆或光纤)、是否需要均衡以及连接器类型(如OSFP-IHS-Closed、QSFP-DD等)。涵盖了多个品牌如Amphenol、AOI、BizLink、Cisco Systems等。电缆种类包括直接连接铜缆(DAC)、有源光缆(AOC)和全主动铜缆(AEC),并展示了它们在不同应用场景下的性能参数。 适合人群:网络设备制造商、数据中心技术人员、硬件工程师及对高速数据传输感兴趣的科研人员。 使用场景及目标:①用于数据中心内部服务器之间的高速互连;②适用于高性能计算集群的构建;③为下一代InfiniBand网络提供可靠的物理层支持;④帮助用户选择适合自己需求的合规电缆产品。 其他说明:此文档由InfiniBand贸易协会发布,版权归属于该协会。它不仅提供了详细的电缆技术规格,还为相关领域的专业人士提供了重要的参考资料,有助于确保所选电缆符合最新的行业标准和技术要求。

2025-08-11

IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 1

内容概要:本文档是InfiniBand架构规范第1卷的草案,版本为2.0,发布于2025年7月23日。文档详细描述了InfiniBand技术,一种用于连接处理器节点和I/O节点形成系统区域网络的第一级互连技术。InfiniBand架构(IBA)独立于主机操作系统和处理器平台,支持点对点交换I/O结构,适用于模块间通信以及数据中心和企业计算环境。文档涵盖IBA的发展历史、修订记录、架构概述、通信机制、传输层功能、可靠性和不可靠服务、RDMA over Converged Ethernet (RoCE)、错误检测与恢复机制、网络层路由、以及故障管理等内容。此外,还提供了大量图表和技术表格来解释协议的具体实现细节。 适合人群:具备计算机网络和硬件基础知识的专业技术人员,特别是从事高性能计算、数据中心网络设计和管理的工程师。 使用场景及目标:①了解InfiniBand架构的核心概念和技术细节;②掌握InfiniBand网络的设计与实现方法;③研究InfiniBand在高性能计算集群中的应用;④探索InfiniBand与其他网络技术(如RoCE)的集成方案。 其他说明:本文档为草案,包含详细的修订历史和技术细节,旨在为开发人员和工程师提供全面的技术指导。由于涉及大量技术细节,建议读者在阅读时结合实际应用场景进行理解和实践。此外,文档中的某些部分为信息性质,不构成具体的技术要求或标准。

2025-07-29

IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 7

内容概要:本文档为《IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 7》,主要介绍InfiniBand架构2.0版本的设备管理规范。文档详细阐述了设备管理的多个方面,包括但不限于:QP(队列对)分配机制,其中DM(设备管理器)为平台分配资源池,平台再将这些资源分配给客户端;诊断测试框架,包括诊断会话的建立、参数设置以及诊断测试的执行和反馈机制;访问级别控制,确保不同类型的实体只能访问其权限范围内的属性;KeyInfo属性用于设置IOU的设备管理Manager_Key及其保护属性;IOU(输入输出单元)的实现方式,支持虚拟化I/O资源和服务对象的概念;设备管理的合规性要求,定义了设备管理代理必须遵循的通用管理和特定要求。 适用人群:适用于从事InfiniBand网络设备管理、配置和维护的技术人员,尤其是那些需要深入了解设备管理内部机制的高级用户或系统管理员。 使用场景及目标:①理解和实施InfiniBand设备管理中的资源分配策略,特别是QP的分配和管理;②掌握设备诊断测试的流程,包括会话建立、参数配置及测试执行;③确保设备管理操作的安全性和权限控制,正确设置和验证各种密钥;④确保新开发或采购的产品符合InfiniBand设备管理的最新标准和要求。 其他说明:文档是InfiniBand架构协会发布的草案,包含大量技术细节和具体实现方法,对于希望深入研究或开发基于InfiniBand架构产品的工程师和技术人员具有重要参考价值。同时,文档中的某些部分涉及专有技术,因此被标记为“Proprietary”。

2025-07-30

IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 6

内容概要:本文档为InfiniBand架构2.0版本的通用规范草案,主要涵盖了InfiniBand网络协议栈中的多个方面。具体内容包括Sockets Direct Protocol (SDP) 的路径选择机制、连接建立与拆除、数据传输机制(如Write Zcopy和Read Zcopy)、以及Socket复制请求的处理流程。此外,文档还详细介绍了InfiniBand设备的启动管理(Booting),包括BootManager和BootAgent的功能及其交互方式,还有启动过程中平台能力的配置。对于配置管理部分,文档描述了配置管理器(Configuration Manager)如何管理和协调客户端平台与IO资源之间的关系,确保资源的有效分配和共享,并提供了故障切换和支持持久订阅等功能。 适用人群:适用于从事InfiniBand网络架构设计、开发和维护的技术人员,特别是那些需要深入了解SDP协议细节、启动管理和配置管理机制的专业人士。 使用场景及目标:①帮助开发者理解并实现SDP协议中的路径选择、连接管理、数据传输优化等关键技术;②指导系统管理员或工程师配置和管理InfiniBand设备的启动过程;③为网络管理员提供配置管理器的操作指南,确保多个客户端平台能够安全有效地共享IO资源。 其他说明:本文档是InfiniBand架构协会发布的官方技术标准草案,旨在为InfiniBand相关产品的设计和实现提供详细的指导和技术依据。读者应具备一定的计算机网络基础知识,尤其是对InfiniBand协议有初步了解,以便更好地理解和应用文档中的内容。

2025-07-30

IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 5

内容概要:本文档为《InfiniBandTM架构发布2.0通用服务》的一部分,详细规定了InfiniBand架构的最新标准和技术规范。该草案涵盖了性能管理、端口采样控制、数据传输量统计、错误检测与纠正、通道适配器多端口支持、路由选择机制、流控机制以及管理数据报的要求等多个方面。特别强调了PortSamplesControl和PortSamplesResult属性用于性能监控的数据收集,定义了多种可选和厂商自定义的性能计数器,并对路由器端口的物理层和链路层要求进行了说明。 适合人群:适用于从事高性能计算网络设计、维护及优化的专业工程师和技术人员,尤其是那些需要深入了解InfiniBand架构细节的人士。 使用场景及目标:① 设计和部署基于InfiniBand技术的数据中心或超级计算机集群;② 开发与测试新的InfiniBand设备及其互操作性;③ 对现有InfiniBand网络进行故障排查和性能调优。 阅读建议:由于文档内容详尽且技术性强,建议读者首先浏览目录以确定关注的重点章节,然后仔细研读相关部分,同时结合实际应用场景来理解和应用这些技术规范。此外,对于涉及具体实现细节的部分,可以参考附带的图表和示例以便更好地掌握。

2025-07-30

【InfiniBand架构】InfiniBandTM架构规范第1卷:2.0版本发布-通用规范最终版(2025年7月31日)

内容概要:本文档是《InfiniBandTM架构规范第1卷》2.0版本,发布于2025年7月31日,由InfiniBand贸易协会发布。该规范详细描述了InfiniBand架构的核心概念、功能特性、通信机制以及管理模型。它涵盖了从基本术语到高级特性的广泛内容,包括但不限于拓扑结构、组件(如链接、通道适配器、交换机、路由器)、服务质量、虚拟化、内存地址、保护域、分区、虚拟通道等。此外,文档还提供了详细的修订历史,确保用户能够追踪每一次更新的内容。最后,文档包含多个附录,涉及设备管理、层次信息编码等方面,旨在提供灵活、高效的信息存储与管理方法。 适合人群:适用于网络工程师、系统管理员、硬件开发者以及其他需要深入了解InfiniBand架构的技术人员。 使用场景及目标:①帮助技术人员理解InfiniBand架构的工作原理及其各组成部分的功能;②为开发和维护基于InfiniBand技术的产品和服务提供指导;③支持大规模数据中心和高性能计算环境下的网络配置与优化。 其他说明:文档强调了对错误报告和更新的关注,并提供了官方网址供用户获取最新的勘误表和更新信息。同时,文档中包含了大量的图表和示例,有助于读者更好地理解和应用相关技术。

2025-07-31

网络通信IBTA 2025 NDR VNA合规电缆规格与接口类型汇总:各类厂商产品参数对比分析

内容概要:本文档为2025年IBTA Plugfest 42关于NDR VNA兼容电缆的技术规范与产品列表。文档详细列出了多家公司生产的活动和非活动NDR VNA兼容电缆的型号、最大速度、长度、线规、类型、均衡方式以及接口类型。其中涵盖了Amphenol、AOI、BizLink、Cisco Systems、CONNPRO、Credo、FIT Electronics、Infraeo、NVIDIA、OPTOMIND Inc、TE Connectivity和The Siemon Company等厂商的产品。表格数据提供了详细的参数对比,如Amphenol的OP27PD8-10D(8x 800 Gbps,500米,OSFP-IHS-Closed接口)和AOI的A8SMDN85ADLA1637(8x 800 Gbps,50米,OSFP-IHS-Closed接口),以及其他不同规格的电缆。 适用人群:适用于数据中心网络架构师、硬件工程师和技术采购人员。 使用场景及目标:①用于评估和选择符合NDR VNA标准的数据中心内部连接解决方案;②帮助技术人员了解市场上各品牌NDR VNA兼容电缆的具体规格和性能指标;③为企业采购决策提供参考依据,确保所选电缆满足特定应用场景的需求。 其他说明:文档由InfiniBand贸易协会发布并保留所有权利,旨在促进行业内对NDR VNA技术的理解和应用,推动相关标准的发展。文档中的信息对于设计高性能计算环境或大规模数据中心网络拓扑具有重要价值。

2025-07-30

IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 2

内容概要:本文档详细介绍了InfiniBand架构2.0传输层的相关规范,涵盖PUT类操作、事务排序、包传输头验证、可靠服务特性、包序列号(PSN)、错误处理机制以及XRC模型等内容。PUT类操作用于从请求节点向响应节点传递数据,支持最大231字节的消息,并定义了不同OpCode的具体操作细节。事务排序规则确保请求消息按工作队列元素(WQE)的顺序发送。包传输头验证确保每个包能够正确关联到特定队列对(QP)。可靠服务包括连接和数据报两种形式,具有最多一次、有序且无损坏的消息传递特性,并通过ACK/NAK协议保证可靠性。包序列号用于维护消息顺序,防止重复或丢失。错误处理机制定义了各种错误情况下系统的响应方式。XRC模型减少了大规模集群中全连接所需的队列对数量,提高了资源利用率。 适合人群:对网络通信协议有研究兴趣的技术人员,尤其是从事高性能计算和数据中心网络架构设计的专业人士。 使用场景及目标:①理解InfiniBand架构2.0传输层的工作原理和技术细节;②掌握PUT类操作、事务排序规则、包传输头验证流程等关键技术点;③学习可靠服务的实现机制及其在网络通信中的应用;④了解错误处理机制,确保系统稳定性和数据完整性;⑤探索XRC模型的优势及其对大规模集群通信效率的影响。 其他说明:本文档为草稿版本,包含大量技术细节和规范说明,适用于深入研究InfiniBand架构的专业技术人员。阅读时需结合实际应用场景进行理解,建议配合官方文档和其他参考资料一起学习。

2025-07-29

IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 4

内容概要:本文档是《InfiniBandTM Architecture Release 2.0 Subnet Management》的一部分,详细介绍了InfiniBand架构中的子网管理规范。文档涵盖子网管理的基本概念、属性、方法以及状态机等内容。具体来说,文档描述了子网管理实体(如SMA和SM)的功能和支持的方法,包括获取和设置属性、响应陷阱等。此外,还讨论了子网管理包(SMP)的格式、认证机制(如M_Key)、属性表(如PortInfo、NodeInfo等)以及错误处理规则。文档还特别强调了子网管理器(SM)的状态转换及其控制包的交互方式,确保子网只有一个主管理器,并详细说明了子网发现、路径管理和故障转移的过程。 适合人群:具备网络管理、硬件配置或系统集成背景的专业人士,特别是对InfiniBand架构有初步了解的技术人员。 使用场景及目标:①理解InfiniBand子网管理的核心组件和工作流程;②掌握SMP的格式和处理逻辑,以便进行子网配置和故障排查;③学习如何通过状态机实现子网管理器之间的协调与切换,确保高可用性和稳定性;④熟悉各类管理属性的用途和设置方法,为实际部署提供

2025-07-30

IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 3

内容概要:本文档是《InfiniBandTM Architecture Release 2.0 Software Transport Verbs》的一部分,主要介绍了InfiniBand架构中主机通道适配器(HCA)的配置参数与操作规范。文档详细描述了HCA支持的最大队列对(QP)、工作请求(Work Request)、完成队列(CQ)、内存区域(Memory Region)、保护域(Protection Domain)、地址句柄(Address Handle)等资源的数量限制及其管理方法。此外,还涵盖了共享接收队列(SRQ)、扩展可靠数据报(Reliable Datagram)、内存窗口(Memory Window)的创建与销毁操作,以及各种错误处理机制。文档最后提供了关于异步事件和MAD验证流程的说明。 适合人群:具备网络编程和硬件接口开发基础知识的工程师或研究人员,特别是从事高性能计算、数据中心网络优化工作的专业人员。 使用场景及目标:①了解InfiniBand架构下HCAs的功能特性与性能指标;②掌握HCAs上各类资源的具体配置方式;③学习如何通过软件传输动词(verbs)进行资源管理和故障排查。 其他说明:此文档为草稿版本,旨在为开发者提供详细的API参考和技术指导,确保其能够正确地利用InfiniBand技术构建高效可靠的通信系统。文档内容涉及多个层面的技术细节,建议读者结合实际应用场景深入研究,并参照官方发布的正式版本进行最终确认。

2025-07-30

通信技术Intel CPU在5G基站中的应用与优化:从RAN架构到功耗管理的全面解析

内容概要:本文档主要介绍了Intel CPU在5G基站中的应用,详细描述了4G和5G无线接入网络(RAN)的架构及其协议栈,包括PDU、SDAP、PDCP、RLC、MAC、PHY等协议的功能。文档还探讨了传统基站(BTS)的优化设计,如成本和功耗优化、系统安全启动机制、内部网络的安全性措施等。此外,重点介绍了Intel针对无线接入市场的两款产品:Snow Ridge和Grand Ridge,前者基于增强型Atom Tremont核心,支持下一代数据包处理硬件加速和强大的NFV虚拟化支持;后者则采用了最新的Atom CPU核心,具备更高的I/O和数据包加速能力,并且支持DDR5内存。最后,文档讨论了5G基站的功耗问题,指出5G基站的功耗约为4G基站的3倍,并提出了动态功率节省的要求和方法。 适合人群:通信行业工程师、网络架构师、对5G技术感兴趣的IT专业人士以及从事无线通信研究的科研人员。 使用场景及目标:①理解5G基站的工作原理和技术细节;②掌握Intel CPU在5G基站中的具体应用场景和技术优势;③探索5G基站功耗优化的方法与策略。 其他说明:文档中涉及大量技术术语和缩略词,阅读时需要具备一定的通信基础知识。

2025-07-20

【人工智能大模型训练】大规模LLM系统并行计算与网络挑战分析:Gaudi系列芯片及IPU解决方案设计了大规模语言模型

内容概要:本文探讨了大规模语言模型(LLM)训练系统的并行计算与网络挑战。文章首先介绍了AI LLM系统中的数据传输关键技术,如远程DMA、流控机制以及不同互联技术(NVLink、Ethernet、InfiniBand)的性能指标。随后详细讨论了计算并行性参数的选择,包括张量并行(TP)、管道并行(PP)和数据并行(DP),并分析了这些选择对吞吐量的影响。文中还对比了不同规模的Gaudi系统配置及其在GPT-3和其他大型语言模型上的表现。此外,文章提出了针对中国市场的AI网络解决方案,旨在解决RoCE可扩展性问题,通过引入IPU技术和优化的Scale Out架构提高节点间连接的可靠性。 适合人群:从事AI基础设施建设的研发人员和技术管理人员,特别是关注大规模语言模型训练系统性能优化的专业人士。 使用场景及目标:①理解不同类型互联技术在LLM训练中的应用及其性能差异;②掌握计算并行性的参数选择方法及其对系统吞吐量的影响;③了解如何通过引入IPU等新技术提升AI网络的可靠性和性能,以应对RoCE可扩展性挑战。 其他说明:本文不仅提供了理论分析,还结合具体实例进行了性能评估,为相关领域的从业者提供了宝贵的参考依据。同时,文中提及的行动路线图明确了各个阶段的技术迁移计划和时间表,有助于指导实际项目实施。

2025-07-20

### 【视频处理领域】Intel VPP SDK与SVET 2.0技术概述:加速视频处理应用开发与优化Intel VPP SDK

内容概要:本文介绍了Intel VPP SDK(视频处理软件开发工具包)及其对视频应用加速的重要性。VPP SDK旨在为开发者提供优化的API接口,简化从ARM架构迁移到Intel架构的视频处理应用开发流程。它支持多种典型视频处理应用场景,如网络视频记录仪、视频采集系统、视频矩阵控制器等。VPP SDK包括核心功能库(Core Lib)和示例应用程序(Sample App),前者涵盖视频编解码、图像预处理、音频处理等功能,后者提供评估工具和参考实现。VPP SDK的核心价值在于加速客户的产品设计与生产,扩大业务机会,减少技术支持工作量。此外,还详细描述了VPP SDK的架构、特性以及不同阶段的功能开发计划。 适合人群:从事视频处理应用开发的技术人员,尤其是需要将现有ARM解决方案迁移到Intel架构的研发团队。 使用场景及目标:①加速视频处理应用的设计与产品化;②降低从ARM迁移到Intel平台所需的开发成本;③支持多视图显示、视频捕获与流媒体、媒体编码等功能的快速集成;④提高视频处理性能,优化开发者体验。 其他说明:VPP SDK不仅提供静态组合的基础功能,还支持动态管道控制,如流的动态添加/移除、暂停/恢复、隐藏/显示、缩放等。此外,SVET 2.0作为VPP SDK的一部分,增强了对RTSP流媒体的支持,并提供了更丰富的动态管道控制功能。文档中还包括了详细的API调用流程和错误处理机制,确保开发者能够高效地利用VPP SDK进行开发。

2025-07-20

### 文章总结:Intel CCID 平台解决方案与产品路线图(2023-2024)

内容概要:本文档为Intel CCID平台解决方案在中国交通运输领域的应用路线图(2023年第二季度),涵盖智能交通、智能铁路、智能社区等多个方面。文档详细介绍了TFCC(运输融合控制计算机)在不同场景下的应用,如智能停车、ETC、智能交通管理系统的功能和工作负载,以及雷达、激光雷达、摄像头等传感器的数据处理与融合。此外,还展示了Intel在视频处理、AI推理、边缘计算等方面的硬件和软件支持,包括多种处理器平台(如Alder Lake、Tiger Lake等)及其优化特性。文档强调了产品的高性能、低功耗、扩展性和可靠性,并提供了参考设计和实施方案以加速产品上市时间。 适合人群:Intel内部销售团队(FAEs/FSEs、RAMs、MDMs等)、GMC、地理营销、CMM等需要了解最新技术进展的人员。 使用场景及目标:①智能交通系统(ITMS)中的多模态交通对象检测、视频分析、雷达信号处理、激光雷达点云处理和数据融合;②ETC系统中的车辆路径识别、自动控制车道设备、大流量视频存储;③智能停车中的车辆类型和尺寸识别、停车时长管理;④智能铁路中的乘客信息系统(PIS)、自动售检票系统(AFC)等。 其他说明:

2025-07-20

【光通信网络】IEEE P802.3dj多速率以太网物理层标准:支持200G至1.6T高速数据传输系统设计

内容概要:本文档为IEEE P802.3dj任务组于2024年3月14日采纳的技术目标,旨在定义支持200 Gb/s、400 Gb/s、800 Gb/s以及1.6 Tb/s高速以太网的物理层规范。文档强调非速率特定性,仅支持全双工操作,保持现有IEEE 802.3标准中的以太网帧格式、最小和最大帧大小,并确保MAC/PLS服务接口处的误码率优于或等于10⁻¹³。同时支持通过OTN映射,满足多种传输介质的需求,包括电气背板、铜缆和单模光纤(SMF),覆盖从1米到40公里的不同传输距离。针对不同速率级别,分别规定了单通道至十六通道的接口支持,适用于芯片到模块和芯片到芯片的应用场景。; 适合人群:从事高速网络通信技术研发的工程师、标准化工作人员及光通信领域研究人员;具备一定以太网协议与物理层基础知识的专业技术人员;; 使用场景及目标:①为下一代高速以太网标准制定提供技术依据;②指导芯片、模块和系统厂商进行高带宽互连设计与产品开发;③支持数据中心、高性能计算和电信基础设施中的长距与短距高速连接需求;; 阅读建议:此文档为IEEE标准化进程中的关键技术目标文件,建议结合IEEE 802.3系列标准及其他相关草案配套阅读,重点关注各速率等级下的物理层实现方式与介质适配要求,便于深入理解未来高速以太网的发展方向。

2025-11-25

【高速以太网物理层】1.6TbE PCS通道形成与对齐标记插入机制:面向IEEE 802.3dj标准的多通道数据分布及FEC降级监测方案设计

内容概要:本文档提出了1.6TbE PCS(物理编码子层)中PCS通道形成与对齐标记(AM)插入的基线方案,作为IEEE P802.3dj任务组标准制定的一部分。文档详细描述了1.6TbE系统中如何将RS-FEC符号按轮询方式分配到16个PCS通道中,每个通道速率为100Gbps,并定义了AM标记在各通道中的分布结构与插入机制。通过对齐标记的映射规则、填充方式、状态字段传输以及伪代码实现,确保发送端与接收端的数据对齐、解交错与正确恢复。此外,还涵盖了FEC误码劣化信号生成和HI_SER监控机制,并讨论了PMA层在不同接口配置下的符号复用要求。该提案与先前采纳的基线共同构成完整的1.6TbE PCS规范。; 适合人群:从事高速以太网物理层设计、通信协议开发或标准制定的工程师和技术专家,具备数字通信与FEC编码基础知识的研发人员; 使用场景及目标:①为1.6TbE以太网PCS层的设计提供标准化参考;②指导硬件实现中的AM插入/删除、通道形成、误码监测等功能模块开发;③支持多厂商设备互操作性的统一规范制定; 阅读建议:此文档技术性强,涉及大量底层符号映射与伪代码逻辑,建议结合IEEE 802.3现有标准(如CL119、CL172)对照阅读,并关注后续对时钟内容与基线漂移的分析补充。

2025-11-25

RFC5415 中文翻译 中文RFC RFC文档 RFC翻译 RFC中文版.pdf

内容概要:本文档为RFC 5415的中文翻译,详细定义了无线接入点(CAPWAP)协议的控制与配置规范,旨在实现无线接入点(WTP)与接入控制器(AC)之间的标准化通信。协议支持两种操作模式:Split MAC和Local MAC,涵盖会话建立、传输机制、消息格式、状态机管理、安全认证(基于DTLS)、发现机制、配置管理、设备管理等功能。文档明确了CAPWAP在UDP和UDP-Lite上的传输规则,定义了控制与数据通道的消息结构,并详细描述了各类控制消息(如发现、加入、配置更新、事件上报等)的格式与交互流程。此外,还包括定时器、变量管理、安全机制及IANA协议参数分配等内容,确保协议的互操作性与安全性。; 适合人群:网络协议研究人员、无线网络系统开发人员、通信工程技术人员,以及从事WLAN架构设计与实现的专业人士;需具备一定的网络协议基础和系统架构理解能力。; 使用场景及目标:①用于理解和实现CAPWAP协议在集中式无线网络架构中的应用;②指导WTP与AC之间的通信机制设计,包括会话建立、状态管理、配置下发、固件升级等核心功能;③为无线网络设备厂商提供标准化协议依据,促进设备间的互操作性。; 阅读建议:本文档为标准技术规范,内容高度专业化,建议结合实际网络环境与协议抓包工具对照学习,重点关注状态机转换、消息元素定义及DTLS安全机制部分,以深入掌握CAPWAP协议的工作原理与实现细节。

2025-11-25

网络通信RoCE互操作性测试技术规范:800/400/200GbE高速以太网场景验证与性能评估系统设计

网络通信RoCE互操作性测试技术规范:800/400/200GbE高速以太网场景验证与性能评估系统设计

2025-11-06

PF42-IB-Integrators List-v1-2025-10-22.pdf

PF42-IB-Integrators List-v1-2025-10-22.pdf

2025-11-06

操作系统内核kexec机制下内存持久化技术KHO研究

内容概要:本文介绍了Linux内核中kexec机制的一项新扩展——Kexec HandOver(KHO),旨在实现内存内容在跨内核启动时的持久化,使新内核能够接续旧内核的状态运行。该技术主要面向大型云服务商,用于在不中断虚拟机服务的前提下更新主机内核。KHO通过保留特定内存区域(如非可移动内存)并提供临时“scratch”空间供新内核初始化使用,来支持状态迁移。同时需要子系统显式标记需保留的内存,并涉及序列化、反序列化与状态管理机制。当前挑战包括内存碎片导致的scratch区分配困难、可移动页面无法直接保留以及整体性能优化问题,尤其是降低交接延迟。尽管存在争议(如与休眠机制的重叠或对比于虚拟机热迁移),但KHO被视为应对紧急安全补丁快速部署等场景的有效路径。; 适合人群:从事操作系统内核开发、云计算平台架构设计或虚拟化技术研发的工程师,具备一定Linux内存管理和内核机制基础知识的研发人员。; 使用场景及目标:① 实现无感内核升级,减少因安全更新或维护导致的服务中断;② 探索替代传统热迁移的技术方案,特别是在GPU直通或本地NVMe存储等难以迁移的场景下保持服务连续性;③ 深入理解kexec、内存持久化与系统状态迁移的核心机制。; 阅读建议:此资源聚焦于前沿内核设计讨论,建议结合Linux内存管理、kexec流程与虚拟化相关背景知识进行研读,并关注后续社区对KHO与现有机制(如hibernation)整合可能性的探讨。

2025-11-03

本文介绍了Linux内核正在开发的一项重要功能:**kexec handover(KHO)和实时更新协调器(LUO)**,旨在实现系统重启时保留运行状态,特别是针对云环境中需要持续运行的工作负载

内容概要:本文介绍了Linux内核正在开发的一项新功能——“kexec handover”(KHO)与“live update orchestrator”(LUO),旨在实现系统重启时不中断运行的工作负载。KHO允许子系统在重启前后保存和恢复内存数据,通过合并内存区域并利用扁平化设备树传递保存的数据信息;而LUO则作为控制层,管理系统的四种状态转换(正常、准备、冻结、更新),协调各子系统在不同阶段执行相应的回调操作,从而完成无缝内核更新。该技术特别适用于云环境中虚拟化场景下的热更新需求。; 适合人群:熟悉Linux内核机制、具备一定系统编程经验的开发者或系统架构师,尤其是从事云计算、虚拟化平台维护与开发的技术人员。; 使用场景及目标:① 实现在不中断虚拟机运行的情况下更新宿主机内核;② 减少传统重启带来的服务中断时间,提升系统可用性;③ 探索跨重启状态保持机制在容器、持久化内存应用中的潜在用途。; 阅读建议:当前LUO已发展到第三版补丁系列,仍在持续完善中,建议结合KHO与LUO的设计文档及源码进行深入研究,并关注社区评审反馈以掌握最新进展。

2025-11-03

【虚拟化安全】基于pkernfs的跨kexec内存持久化机制:支持设备直通的KVM虚拟机热迁移系统设计

内容概要:本文探讨了在KVM虚拟化环境中实现带有设备直通(PCI设备分配)的Hypervisor热更新技术,重点解决跨kexec过程中安全持久化guest内存及内核与设备状态的问题。传统方法在执行kexec时无法保留设备状态,导致直通设备支持受限。为此,提出一种名为pkernfs的新型内存中持久化文件系统,用于存储guest内存、用户空间内存以及IOMMU页表等关键内核与设备状态,确保DMA操作在kexec期间持续稳定运行。此外,pkernfs还通过将guest内存移出内核直接映射区并置于保留内存区域,提升安全性与内存管理效率,减少struct page开销,并支持大页分配,类似DMEMFS的目标。会议还包括对QEMU侧补丁集的支持说明,并现场演示带PCI设备直通的热更新流程。; 适合人群:具备Linux内核、虚拟化技术和内存管理背景的开发人员或研究人员,尤其是从事KVM、Hypervisor开发或系统安全优化的技术人员;熟悉驱动、IOMMU和DMA机制的工程师更为适合; 使用场景及目标:①实现Hypervisor无感升级,保障虚拟机服务连续性;②支持设备直通场景下的安全内存与状态迁移;③优化guest内存隔离与性能管理;④推动pkernfs在生产环境中的落地应用; 阅读建议:建议结合发布的RFC补丁和演示材料深入理解技术细节,关注lkml上的讨论以获取最新反馈,同时可参考QEMU相关补丁集协同开发。

2025-11-03

【云计算内核更新】基于KHO/LUO的内核热升级与FDT状态保持机制:支持虚拟机无感重启与RDMA存储性能优化

内容概要:本文介绍了KHO(Kernel HandOver)和LUO(Live Update Orchestrator)技术,旨在实现内核更新过程中保持虚拟机运行不中断的目标。KHO通过kexec机制实现内核交接,利用预分配的物理连续内存区域(Scratch Regions)和CMA机制确保内存连续性与数据持久性,并借助FDT(扁平化设备树)保存和传递子系统状态信息,保障关键内存区域在内核切换时不被破坏。LUO作为上层控制框架,提供状态机管理与用户空间接口(如/dev/liveupdate和luoctl),协调各子系统完成准备、冻结、恢复等回调操作,实现无缝更新。此外,文章还提出基于IOVA与DMA分离的两阶段DMA映射方案,结合FDT机制动态扩展RDMA连接下的DMA内存容量,从而提升多存储会话场景下的性能表现。; 适合人群:具备操作系统内核、虚拟化技术和驱动开发经验的中高级研发人员,尤其是从事云平台、高性能存储或RDMA相关工作的工程师。; 使用场景及目标:① 实现大规模云环境中无感内核升级;② 在不中断服务的前提下维护虚拟机运行状态;③ 解决高并发存储会话下RDMA连接性能瓶颈问题;④ 探索持久内存管理与设备驱动状态迁移机制。; 阅读建议:本文涉及底层内核机制与硬件交互细节,建议结合Linux内核源码、kexec流程及IOMMU/DMA原理进行深入理解,并关注FDT在状态保存中的实际应用方式,同时可探索LUO状态机模型在其他热升级场景中的拓展可能性。

2025-11-03

【操作系统更新】基于kexec的内存与设备状态持久化机制研究:支持安全跨内核执行的内存保留方案设计

内容概要:本文探讨了在Linux系统中通过kexec实现安全持久化保留客户机内存和内核/设备状态的技术挑战与解决方案。当前kexec无法直接保留运行时状态,作者分析了现有技术如DAX文件系统、设备透传、IOMMU映射、SEV-SNP加密虚拟机等在跨kexec时的状态保持问题,并提出了三类可能的解决方案:内存池(如Microsoft的PRMEM和持久内存池)、基于保留或动态内存的文件系统(如AWS的pkernfs和Oracle的PKRAM),以及序列化/反序列化框架(类似Xen breadcrumbs),支持驱动程序在kexec前后保存和恢复关键状态。文章还讨论了不同方案在性能、正确性、内存管理碎片化和元数据格式方面的权衡。; 适合人群:熟悉Linux内核、虚拟化技术和系统底层开发的工程师,尤其是从事操作系统更新、安全启动、虚拟机监控器开发的相关技术人员;具备一定内核编程和系统架构理解能力的研发人员。; 使用场景及目标:①研究如何在不中断服务的情况下完成内核的热更新(live update)并保留运行时状态;②解决SEV-SNP等安全虚拟化环境中vCPU状态无法序列化的难题;③为IOMMU、PCI设备、KVM等子系统设计跨kexec的状态保持机制; 阅读建议:本文为技术探讨性质,包含多个RFC提案,建议结合Linux内核源码及相关文档深入理解各方案实现细节,并关注后续RFC补丁集的进展以跟踪社区共识形成过程。

2025-09-15

钛学术-专利-虚拟专用网通信设备及其数据包传输方法.pdf

钛学术-专利-虚拟专用网通信设备及其数据包传输方法.pdf

2025-09-17

IB Specification Vol 1-Release-2.0-Final-2025-07-31 watermarked-Rev8.pdf

IB Specification Vol 1-Release-2.0-Final-2025-07-31 watermarked-Rev8.pdf

2025-09-17

IB Specification Vol 1-Release-2.1-Draft-2025-09-04.pdf

IB Specification Vol 1-Release-2.1-Draft-2025-09-04.pdf

2025-09-11

Internal-training1.pptx

Internal-training1.pptx

2025-09-06

【系统内存管理】基于kpromoted的热点页迁移机制:CXL远程内存环境下页面热度检测与动态提升系统设计

内容概要:本文介绍了一个名为kpromoted的子系统,旨在作为页面热度判断的单一可信来源,整合来自AMD IBS、CXL HMU、kscand和LRU等多种内存访问信息源的数据,统一进行热点页面检测与迁移决策。kpromoted通过API接收热点页访问报告,采用哈希表快速查找并去重,记录页面热度,并将超过阈值的热点页加入最大堆以便高效提取最热页面,由独立的迁移线程执行页面迁移或提升操作。系统支持硬件加速的页面复制和远程CXL内存节点环境下的性能优化,实验结果显示其在不同驱动模式(如kscand和MultiGen LRU)下对远程内存访问延迟和页面迁移数量有显著影响。; 适合人群:具备操作系统、内存管理及硬件协同设计背景的系统软件工程师或研究人员;熟悉Linux内核机制并关注CXL、DMA等新兴技术的专业人员; 使用场景及目标:①用于优化远程内存访问性能,特别是在CXL架构下实现热点页面自动迁移;②为操作系统内核提供统一的页面热度感知机制,支持智能内存管理策略;③结合硬件访问提示(如IBS、HMU)提升系统整体响应速度; 阅读建议:理解kpromoted的设计需结合其实验环境与对比数据,重点关注其在不同驱动源下的表现差异,并注意其在高并发、原子上下文中处理大量页面记录时的实现挑战与优化方向。

2025-09-04

NVMe-RDMA-Transport-Specification-1.0a-2021.07.26-Ratified-1

NVMe-RDMA-Transport-Specification-1.0a-2021.07.26-Ratified-1

2025-09-03

HyperCard对接方案测试

内容概要:本文介绍了HyperCard与ESSD集群通过SPDK实现存储对接的测试方案,重点验证了不同网络传输方式(RDMA与TCP)及不同厂商RDMA网卡(Intel与Mellanox)之间的兼容性。实验通过在ESSD元数据节点启动SPDK NVMe-oF(nvmf_tgt)服务暴露块设备,并在HyperCard的SOC端或计算节点使用SPDK vhost服务进行连接映射。测试结果表明,TCP网络模式下连接成功,而RDMA模式在Intel与Mellanox网卡混用时失败,说明当前存在跨厂商RDMA兼容性问题,仅在两端均为Mellanox网卡时RDMA可正常工作。; 适合人群:从事存储系统开发、高性能网络对接、SPDK/NVMe-oF相关工作的工程师或技术人员,具备一定Linux命令行和RDMA基础知识; 使用场景及目标:①评估HyperCard与云盘存储集群的对接可行性;②排查RDMA在异构网卡环境下的连接问题;③为后续优化SPDK在多厂商硬件环境中的部署提供依据; 阅读建议:需结合SPDK官方文档理解RPC命令作用,关注不同传输类型(RDMA/TCP)的配置差异,实验时注意网卡驱动、IP地址、端口及NQN命名一致性,建议在同类网卡环境中优先验证RDMA性能优势。

2025-09-02

网络设备自研交换机OS-V1.2.0命令手册:腾讯上海交换机CLI配置与参数参考

网络设备自研交换机OS-V1.2.0命令手册:腾讯上海交换机CLI配置与参数参考

2025-08-25

【数据中心虚拟化】NVIDIA vGPU在KVM中的架构与性能优化:虚拟GPU技术详解及应用

内容概要:本文介绍了NVIDIA在KVM虚拟化环境中实现GPU虚拟化的技术细节与优势。NVIDIA vGPU可以在多种主流hypervisor上运行,提供对GPU硬件的直接访问,确保了应用程序的兼容性和高性能表现。通过虚拟GPU(vGPU)技术,多个虚拟机可以共享同一物理GPU,提高了资源利用率和管理效率。文档详细解释了基于VFIO-MDEV架构的vGPU创建流程,包括设备初始化、内存映射、中断注入等机制。此外,还讨论了vGPU的迁移支持、性能优化措施以及在不同行业如油气、制造、政府和媒体娱乐中的应用案例。; 适合人群:对虚拟化技术感兴趣的IT专业人员,尤其是从事云计算、数据中心管理和GPU加速计算领域的工程师和技术经理。; 使用场景及目标:①了解如何在KVM环境中配置和使用NVIDIA vGPU;②掌握vGPU的创建、管理和迁移方法;③探索vGPU在提高虚拟桌面基础设施密度和性能方面的潜力;④评估vGPU技术对企业级应用的支持能力。; 其他说明:文中提到的技术和产品为NVIDIA公司专有,部分内容可能涉及保密信息,仅供授权用户参考。阅读时应注意版本更新和技术发展动态,以确保所获取的知识是最新的。

2025-08-25

PF42-Keysight VNA-Summary-(rev1)-2025-07-16c-CIWG.xlsx

PF42-Keysight VNA-Summary-(rev1)-2025-07-16c-CIWG.xlsx

2025-08-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除