LegoOS:性能评估与关键特性解析
1. ExCache管理
LegoOS为每个ExCache集维护一个近似的LRU列表,并使用一个后台线程扫描ExCache中的所有条目并调整LRU列表。它支持两种ExCache替换策略:FIFO和LRU。
- FIFO替换策略 :为每个ExCache集维护一个FIFO队列,当一个ExCache页面插入到集合中时,将相应的条目插入到FIFO队列的尾部。逐出的受害者选择为FIFO队列的头部。
- LRU替换策略 :使用一个后台线程扫描ExCache的所有集合,以调整它们的LRU列表。
- 锁机制 :对于这两种策略,都使用每个集合的锁,并在对FIFO队列(或LRU列表)进行更改时锁定它们。
2. 内存监控器
使用常规机器通过将可用核心限制为少量(根据配置为2到5个)来模拟m组件。专门分配一个核心用于繁忙轮询网络请求,其余核心用于执行内存功能。LegoOS内存监控器作为来自p组件的RPC请求的处理程序执行其所有功能。
- 功能处理 :大多数功能在本地处理,对于与存储相关的功能(例如,当发生缓冲区缓存未命中时),会向s组件发送另一个RPC请求。
- 数据存储 :将应用程序数据、应用程序内存地址映射、vma树和vRegion数组都存储在模拟机器的主内存中。
- 当前实现 :当前的内存监控器实现完全是软件实现,使用哈希表来实现虚拟到物理地址的映射。
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



