OS2ATC-叶自立-v1_20230328_114013.pdf

编号:129211 PDF 37页 651.01KB 下载积分:VIP专享
下载报告请您先登录!

OS2ATC-叶自立-v1_20230328_114013.pdf

1、FTL OS:基于rust无栈协程的RISC-V64多核操作系统团队:叶自立樊博李羿廷哈尔滨工业大学(深圳)指导老师:夏文、仇洁婷主讲人:叶自立OS2ATC 2022总体概览系统设计开发方式其他建议目 录01总体概览FTL OS的开发目标FTL:Faster Than Light我们的理想:让性能前无古人,后无来者使用一切潜在优化把多核和性能放在首位从零开始设计,掌握一切细节复杂,但扩展性高FTL OS的完成情况初赛阶段,通过全部功能测试,获得满分102分决赛第一阶段,通过全部功能测试,获满分220分决赛第二阶段,性能全程排名第一,最终得分117.7977分完全支持多核运行支持gcc、vi等真

2、实应用程序代码行数30000+FTL OS架构大量优化基于无栈协程的调度系统设计彻底面向多核用户态一切页面懒分配大量使用per-CPU缓存结构更快的内存分配器页目录项缓存快速系统调用路径读写并行管道RCU与垃圾回收系统基于侵入式链表的VFS浮点寄存器的延迟加载与保存最坏O(1)的信号系统共享页的多核预读基础函数常数优化总结FTL OS是以性能为第一目标,面向现实的操作系统基于rust asnyc架构支持多核运行应用了大量优化支持真实应用程序实时开源一切代码与文档致谢感谢哈工深其他参赛队伍Oops:现实程序支持健康向上好青年:优化交流与push随便取名不队:本地开发板基建感谢所有开源代码的参赛队

3、伍项目成员:樊博、李羿廷指导老师:夏文、仇洁婷灵感来源与基础设施:xv6 MITrCore-tutorial-v3rCoreLinuxUltraOS飓风内核RustSBIOpenSBI02系统设计为什么要使用rust?比赛前的OS实验课程要求以C语言实现EXT2文件系统决定参赛后,使用rust完成EXT2实验,积累了很多经验为什么要使用rust?语言上提供了泛型、Drop、trait、闭包等高效好用的抽象模块化,不需要前置声明,强大的类型推导快速可靠的rust-analyzer(LL(1)文法优势)在编译期间暴露BUG的生命周期系统语言层面支持的无栈协程async有效避免重复造轮子的crate

4、s.io(smallvec、arrayvec、triomphe:Arc、)高效、好用的IDE、安全、无栈协程、包管理无栈协程无栈协程的本质:协作式调度、编译器重写的状态机好处:可以有效节约内存,栈可以开得很大任何async函数都调度进出不同的“环境”时非常方便能够非常方便地实现睡眠与唤醒需要资源!上下文持续存在的变量(放在堆上)ABCABCnext=Bnext=Anext=Crun_a()get_source().awaitrun_b()多核支持立项即决定支持多核,一切代码都基于多核环境FTL OS将所有数据都尽可能局部化,尽可能降低多核竞争大部分操作都使用double-check方式,避免原

5、子操作开销所有操作都考虑了内存序,避免因访存乱序导致的错误多核支持:double-check当处理进程实时信号时需求:线程需要在进程信号存在时取出信号普通做法:获取锁当队列不为空时从队列中取出信号释放锁获取一次锁需要几十个时钟!double-check:当队列不为空时获取锁当队列不为空时从队列中取出信号释放锁当队列为空时避免了锁开销更进一步:版本号优化多核支持:内存序RISC-V采用RVWMO(RISC-V弱内存序)内存模型。多线程时会发生两种乱序:写入:当当前核心的修改没有及时同步到其他核时发生向后乱序读取:当其他核发来的信息没有及时更新进cache时发生向前乱序因此需要内存序来约束。多核支

6、持:内存序RCU方式两个变量:缓存V,指针PRCU更新:先生成(write)资源V,再将原子指针P指向VRCU读:先读取原子指针P获得&V,再读取Vwrite VP&Vload*pvpv P多核支持:内存序向后乱序(P优先V将更新发送至其他核)向前乱序(P优先于V先同步进cache)load乱序到了write之前,获取到的数据是错误的!write VP&Vload*pvpv PRCU方式两个变量:缓存V,指针P-write V-load*pv-多核支持:内存序release内存序,阻止向store之后乱序riscv指令:fence rw,wacquire

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(OS2ATC-叶自立-v1_20230328_114013.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠