Ceph入门到精通-Crimson 和 Classic Ceph OSD 架构之间的区别

Crimson 和 Classic Ceph OSD 架构之间的区别

在典型的 ceph-osd 架构中,messenger 线程从 wire 读取客户端消息,它将消息放在 OP 队列中。然后,osd-op thread-pool 会提取消息,并创建一个事务并将其排队到 BlueStore,当前的默认 ObjectStore 实现。然后,BlueStore 的 kv_queue 会获取这个事务,以及队列中的任何其他事务,同步等待 rocksdb 提交事务,然后将完成回调放在完成队列中。然后,完成程序线程会获取完成回调和队列,以取代要发送的 messenger 线程。

每个操作都需要对队列的内容进行间线程协调。对于 pg state,可能有多个线程会需要访问 PG 的内部元数据来锁定争用。

随着处理器使用量增加的增加,处理器使用率会快速扩展任务和内核数量,每个锁定点可能会成为某些情况下的扩展瓶颈。此外,即使未延续,这些锁定和队列也会产生延迟成本。由于此延迟,线程池和任务队列 deteriorate,因为工作线程和锁定之间的委派任务可以强制上下文切换。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-13 13:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-13 13:30:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-13 13:30:02       82 阅读
  4. Python语言-面向对象

    2024-06-13 13:30:02       91 阅读

热门阅读

  1. 鸿蒙arkts加载组件图片旋转示例

    2024-06-13 13:30:02       33 阅读
  2. 后端Long类型参数前端接受精度丢失解决方案

    2024-06-13 13:30:02       37 阅读
  3. C++中的状态模式

    2024-06-13 13:30:02       29 阅读
  4. C调用C++中的类

    2024-06-13 13:30:02       33 阅读
  5. 【文献阅读】基于高阶矩的波形分类方法

    2024-06-13 13:30:02       36 阅读
  6. Spring MVC的控制器是不是单例模式

    2024-06-13 13:30:02       33 阅读
  7. HTML下雪/烟花

    2024-06-13 13:30:02       27 阅读
  8. 关于windows脚本的一些东西

    2024-06-13 13:30:02       35 阅读
  9. Python有哪些经典的常用库?

    2024-06-13 13:30:02       34 阅读
  10. 聊聊JetCacheProxyConfiguration

    2024-06-13 13:30:02       29 阅读
  11. 测试面试点

    2024-06-13 13:30:02       37 阅读
  12. 【星海随笔】ELK优化

    2024-06-13 13:30:02       37 阅读
  13. [EFI]NUC11电脑 Hackintosh 黑苹果efi引导文件

    2024-06-13 13:30:02       74 阅读