21、LegoOS:资源解聚合操作系统的设计与实现

LegoOS:资源解聚合操作系统的设计与实现

1. 线程调度与执行

LegoOS采用独特的线程调度策略,使用部分核心(当前为2 - 4个)作为基础线程,其余核心用于应用线程。当新进程启动时,会通过全局策略为其选择一个pComponent。之后,进程产生的新线程会在同一pComponent上调度,选择线程数量最少的核心。在常见场景下,线程分配到核心后会一直运行到结束,不进行调度或内核抢占。例如,不使用网络中断,让线程在等待网络请求完成时忙等待,因为LegoOS中的网络请求速度很快,如从mComponent获取一个ExCache行大约只需6.5微秒。

这种调度方式提高了拆分式集群中处理器的整体利用率,因为可以在不考虑内存分配的情况下,自由地在任何pComponent上调度进程。并且在调度单个线程时,不追求完美的核心利用率,而是旨在最小化调度和上下文切换的性能开销。只有当pComponent需要调度的线程数量超过核心数量时,才会开始抢占核心上的线程。

2. ExCache管理
  • 配置与策略 :LegoOS进程监视器负责配置和管理ExCache。在pComponent启动时,会配置ExCache的组相联性和缓存替换策略。ExCache命中由硬件完全处理,而未命中则由软件处理。
  • 未命中处理 :当ExCache未命中时,进程监视器会从mComponent获取相应的行,并将其插入ExCache。如果ExCache组已满,会先逐出一个行。如果逐出的行是干净的,则丢弃;如果是脏的,则写回到mComponent。目前支持FIFO和LRU两种逐出策略,对于每个ExCa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值