• 2024-09-04每天5分钟复习OpenStack(十五)Ceph与Bcache结合
    上一章我们成功部署了bcache,这一章我们将Ceph与Bcache结合来使用,使用Bcache来为ceph的数据盘提速。1ceph架构一个标准的ceph集群可能是如下的架构,SSD/NVME存储元数据,而SATA盘存储数据。这样的架构下,物理介质的SATA盘读写速率上限决定了存储集群Ceph的上限(木桶效应)。如果在
  • 2024-07-24每天5分钟复习OpenStack(十四)Bcache技术<2>
    Bcache是Linux内核块设备层Cache,支持将一个或多个快速设备(如SSDNVME)作为一个或多个慢速设备(SATAHDD)的缓存设备.阅读本文章你将学会:sgdisk分区工具使用。Bcache添加、删除缓存盘和数据盘。Bcache状态的查询。Bcache的缓存替换策略。Bcache的缓存模式。部署环境说
  • 2024-04-24每天5分钟复习OpenStack(十三)存储缓存技术Bcache
    Ceph作为一个分布式存储,在项目中常见的形态有两者,一种是采用SSD或NVME磁盘做Ceph的日志盘,使用SATA磁盘来做数据盘。这样的好处是比较经济实惠。另一种则是全部采用SSD或NVME磁盘,其性能更好,但是其价格比较昂贵。在第一种形态中,我们能像中间件那样加上一层缓存层,从而实现给数
  • 2024-03-22MIT 6.S081入门lab8 锁
    #MIT6.S081入门lab8锁一、参考资料阅读与总结1.xv6book书籍阅读(Chapter7:Scheduling:7.5toend)5.sleep与wakeupxv6使用了sleep-wake的机制,实现了进程交互的抽象(序列协调/条件同步机制)这一机制的核心是防止丢失唤醒(生产者还未睡眠时,资源更新并唤醒):如果贸然在睡眠中加
  • 2024-02-17[MIT 6.S081] Lab: locks
    Lab:locks在本次实验中依然是承接上次的实验,继续多线程编程的实践。Memoryallocator在该任务中,要为每个CPU实现单独的内存空闲队列分配,在该分配方式下,若单个CPU的空闲队列内存不够,则需要从其他CPU拿走一些空闲内存。转到kernel/kalloc.c,我们首先为“每个CPU的空闲
  • 2024-02-14【XV6】 locks
    代码:https://github.com/JasenChao/xv6-labs.git内存分配器单个空闲内存列表可能引起多个CPU的频繁锁争用,题目要求设计内存分配器,让每个CPU维护一个空闲内存列表,不同CPU的分配和释放可以并行执行,但如果一个CPU可用列表为空,而其他CPU可用列表不为空,则这个CPU必须窃取其他CPU的空