积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部系统运维(16)存储(16)

语言

全部中文(简体)(15)西班牙语(1)

格式

全部PDF文档 PDF(16)
 
本次搜索耗时 0.016 秒,为您找到相关结果约 16 个.
  • 全部
  • 系统运维
  • 存储
  • 全部
  • 中文(简体)
  • 西班牙语
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 BRPC与UCX集成指南

    event loop – memory register cache –config file24 UCT ●特点是比较原始,开销小,但是没有很强的功能 ●是网络接口层,主要功能是网卡发现和远程内存传输支持,提供component查询和 memory domain的打开 ●一个component包含若干 memory domain resource,一个memory domain又可以包含若干个 –Active message, atomic operation, tag match, stream27 典型的RDMA栈28 UCX 编程的一些基本概念 ●Context –收集机器资源(内存,网卡等),在应用的各个部分共享 ●Worker –完成ucx的功能,可以在应用程序中调用的函数(不是单独执行的线程) ●Listener –接收连接请求 ●Ep –连接对象,在ep上请求发送和接收29 ●--brpc_set_cpu_latency 非-1, 设置intel cpu节电模式,可能减少硬 件延迟。 –/dev/cpu_dma_latency ●root特权 –Busy poll下不要开启,可能导致电耗过高、cpu降速40 Ucp Worker ●创建UcpWorker,封装ucp worker和逻辑。 ●是整个ucp实现RDMA的核心。 ●系统可以有多个worker,共享使用一个UcpContext。
    0 码力 | 66 页 | 16.29 MB | 6 月前
    3
  • pdf文档 CurveFS Copyset与FS对应关系

    5、读写流程 6.6、topology 7、工作评估 7.1 client端 7.2 mds端 7.3 metaserver端 metaserver 子模块拆分 8、inode和dentry的内存估算 8.1 一台机器上能存放多少个inode和dentry 8.2 一台机器上建议的copyset数量 8.3 每个copyset建议管理存储容量的大小 1、背景 curvefs使用raft 63-1的Inode id。创建meta partition的时候,选择的3个meta node组成一个复制组。如何选择?论文上写的是按照存储节点的memory和disk usage来选的,通常选择内存和disk使用率最低的节点。 并去对应的meta node上去创建对应的meta partition。 如何选择partition的host,通过这个函数去选择。 func (c *Cluster) []proto.Peer, err ) string error metanode是否能够创建copyset,由这个函数判断。有这些判断条件: 1、metaNode的存活状态 2、metaNode的内存使用情况 3、metaNode的磁盘使用情况© XXX Page 4 of 19 4、metaNode上的partition的个数 func (metaNode *MetaNode) isWritable()
    0 码力 | 19 页 | 383.29 KB | 6 月前
    3
  • pdf文档 Curve文件系统元数据管理

    1. 2. 3. 4. Inode 1、设计一个分布式文件系统需要考虑的点: 2、其他文件系统的调研总结 3、各内存结构体 4、curve文件系统的元数据内存组织 4.1 inode定义: 4.2 dentry的定义: 4.3 内存组织 5 元数据分片 5.1 分片方式一:inode和dentry都按照parentid分片 5.1.1 场景分析 查找:查找/A/C。 fs 中心化元数据 内存namespace元数据 内存空间分配元数据 元数据持久化 元数据扩展 小文件优化 空间管理单位 数据持久化 其他© XXX Page 3 of 24 moosefs(mfs) 有元数据服务器 全内存 fsnode → hashtable(inode id) fsedge → hashtable (parent inode + name) 全内存 chunk → hashtable(chunk chunk raft 块设备的元数据管理 cephfs 3、各内存结构体 时间复杂度 空间复杂度 特点 可用实现 Btree 一个节点上保存多条数据,减少树的层次(4~5层),方便从盘上读取数据,减少去盘上读取次数。适合在盘上和内存组织目录树。 google,https://github.com/abseil/abseil-cpp/tree/master/absl/c
    0 码力 | 24 页 | 204.67 KB | 6 月前
    3
  • pdf文档 Raft在Curve存储中的工程实践

    共同一致(joint consensus) • 集群先切换到一个过渡的配置(old + new),一旦共同一 致已经被提交,系统切换到新的配置(new)。RAFT协议简介 日志压缩 • 日志会不断增长,占用空间 • 采用快照的方式压缩日志 • 在某个时间点,整个系统的状态都以快照的形式写入 到稳定的持久化存储中 • 完成一次快照之后,删除时间点之前的所有日志和快 照。BRAFT简介 • raf raft的apply,直接在对应的chunk上写入数据。Curve文件存储RAFT应用 Curve文件存储 • 分布式文件系统 • 支持多挂载,提供close-to-open一致性 • 提供缓存加速,可使用内存、本地盘、云盘加速 • 存储后端可对接对象存储,降低成本 • 支持生命周期管理 Curve文件存储架构 • client:接受用户请求,采用fuse的方式挂载挂载使用。 • 元数据集群:mds • 要求存储的元数据的大小不超过内存的大小 • raft apply的请求,数据都在内存,直接修改 内存中的数据 • raft snapshot,为避免快照对正常操作的影 响,利用操作系统的内存写时复制技术, fork一个进程创建完整的状态机的内存快照, 后台遍历内存,把内存的数据持久化到本地 磁盘 基于memory的存储引擎 • 存储元数据量不受内存大小限制 • raft apply请求,数据保存在rocksdb,向
    0 码力 | 29 页 | 2.20 MB | 6 月前
    3
  • pdf文档 CurveFS方案设计

    现了块存储,向上提供块设备服务,CurveFS会基于此实现。第一阶段的目标是实现 满足数据库场景的文件接口。 调研 开源fs 当前对已有的开源分布式文件系统进行了调研,主要包括系统架构,元数据内存结构,元数据持久化,调研文档如下: chubaofs: ChubaoFS© XXX Page 3 of 14 1. 2. 3. moosefs: https://kms.netease list 加速,需要新的缓存结构 c. 扩展性/可用性/可靠性 依赖于第三方kv存储,目前是etcd CurveFS 单机内存元数据设计 类似 fastcfs 和 moosefs 的元数据设计方式,采用通用的 dentry,inode 两层映射关系,所有的元数据都缓存在内存中,持久化在 binlog 文件中,binlog采用定期dump的方式删除。基于这种方式的开发: a. 性能 加载: 扩展性不够,受限于单机的内存和磁盘,只能纵向扩展 可用性足够,由于是 master-slave 的方式,master 以同步方式调用 slave,slave 在内存中也缓存了全部元数据信息 master-slave 多副本数据 CurveFS 分布式元数据设计 类似 chubaofs 的元数据设计方式,同样是采用 dentry,inode 两层映射关系,所有的元数据都缓存在内存中。元数据是分片的,使用
    0 码力 | 14 页 | 619.32 KB | 6 月前
    3
  • pdf文档 Curve文件系统空间分配方案

    extent为三元组(fileoffset,blockoffset,length),当空间完全分配之后,extent的元数据量为24GiB(1PiB / 1MiB * 24,24为每个extent所占用的字节大小)。 如果同一文件在多次申请空间时,能分配连续的地址空间,则extent可以进行合并。例如,文件先后写入两次,每次写入1MiB数据,分别申请的地址空间为(100MiB,1MiB)和(101MiB,1MiB),则只需要一个ex list,表示每个已分配的块,哪些仍然是空闲的(offset, length),以offset为key进行排序(这里可以用map或者btree对所有的free extent进行管理)。 当前设计不考虑持久化问题,空间分配器只作为内存结构,负责空间的分配与回收。在初始化时,扫描文件系统所有inode中已使用的空间。 空间分配流程 在新文件进行空间分配时,随机选择level1中标记为0的块,先预分配给这个文件,但是并不表示这个块被该文件独占。© 出去。在文件系统空间比较满的情况下,有可能会造成这个问题。此时,申请空间时,需要从level2中,随机或者选择可用空间 最大的extent分配出去。 文件申请空间时,之前预分配块的剩余空间被其他文件占用。此时,首先从level1查找一个可用的块,不满足要求时,按情况1进行处理。 file1再次追加写入数据时,会附带32MiB来申请空间。此时,从level1中查找32MiB对应的块标记是否为0,如果
    0 码力 | 11 页 | 159.17 KB | 6 月前
    3
  • pdf文档 Curve核心组件之mds – 网易数帆

    果在Chunk到复制组之间引入一个CopySet,每个Chunk可以用ChunkID+CopySetID=12个byte。 2. 减少复制组数量:如果一个数据节点存在 256K个复制组,复制组的内存资源占用将会非常恐怖;复制组之 间的通信将会非常复杂,例如复制组内Primary给Secondary定期发送心跳进行探活,在256K个复制组的情况 下,心跳的流量将会非常大;而引入CopySet的概 存储系统的核心问题,也是 curve 是否能上生产环境的决定因素之一。 • 自动容错保证常见异常(如坏盘、机器宕机)导致的数据丢失不依赖人工处理,可 以自动修复。 • 负载均衡和资源均衡保证集群中的磁盘、cpu、内存等资源的利用率最大化。SCHEDULE Schdedule的具体实现 Coordinator: 调度模块的对外接口。心跳会将 chunkserver上报上来的copyset信息提交给 Coordi
    0 码力 | 23 页 | 1.74 MB | 6 月前
    3
  • pdf文档 Curve核心组件之snapshotclone

    uint64_t chunk文件的版本号 correntSn uint64_t chunk的修正版本号 locationSi ze size_t 可缺省,当前为CloneChunk时表示 location占用的字节数 location char[] 可缺省,当前为CloneChunk时表示 克隆源字段 bits uint32_t 可缺省,当前为CloneChunk时表示 bitmap的位数 bitmap
    0 码力 | 23 页 | 1.32 MB | 6 月前
    3
  • pdf文档 PFS SPDK: Storage Performance Development Kit

    2 Why ●为了减少使用cpu做内存copy,减少系统调用 ●发挥某些被操作系统屏蔽的功能,例如nvme write zero ●根据阿里《When Cloud Storage Meets RDMA》的说法 ●在100Gbps网络带宽时,内存带宽成为瓶颈 ●Intel Memory Latency Checker (MLC)测试得到的CPU内存带宽是 61Gbps10/17/22 3 3 RDMA可以减轻CPU负担 ●可以减少CPU操作网络通讯的开销 ●读写内存都由网卡进行offload ●应用程序不再通过系统调用在内核和用户态来回切换10/17/22 4 磁盘的读写 ●基于EXT4的存储引擎,依然需要通过系统调用来回切换 ●读写都需要CPU拷贝数据 ●不能发挥某些NVME的功能,例如write zero10/17/22 5 为什么用PFS ●对代码比较熟悉 ●直接DMA读写,要求的内存必须是DPDK的hugetlb内存 ●必须符合NVME 内存读写地址对齐要求 ●offset 512对齐 ●为零copy提供接口10/17/22 10 BRPC IOBuf DMA ●修改BRPC,允许使用dpdk内存作为IOBuf的内存分配器 ●BRPC接收到的数据在IOBuf中,IOBuf直接使用于NVME DMA传输 ●使用IOBuf内存读nvme,避免自
    0 码力 | 23 页 | 4.21 MB | 6 月前
    3
  • pdf文档 Curve文件系统元数据持久化方案设计

    中哈希表实现的优点? 参考 前言 根据之前讨论的结果,元数据节点的架构如下图所示,这里涉及到两部分需要持久化/编码的内容: Raft Log:记录 operator log Raft Snapshot:将内存中的数据结构以特定格式 dump 到文件进行持久化© XXX Page 3 of 12 Raft Log +------+------------+-----+----------------+ 的方式解决在持久化的过程中,读写冲突的问题以及性能问题 实现 1、inode、entry 的编码 给 inode、dentry 增加编码函数 // 这里要尽可能减少 key/value 编码后的字节数,这样同样的内存可以存入较多的 key/value 对 序列化目前主要考虑以下 2 种,一种是参考 chubaofs 顺序编码,一种是利用 protobuf 直接序列化 顺序编码: 利用 prot only }© XXX Page 7 of 12 测试对比: 10 万条随机生成 inode 耗时 (MS) 内存 (KB) 顺序编码 13 5079 protobuf 序列化 81 4996 从对比结果来看,10 万条 inode 耗时相差不大(CPU 并不是瓶颈),内存 protobuf 消耗却更少,推介使用 protobuf 进行序列化 2、KVStore 将当前实现中的 MemoryDentryStorage
    0 码力 | 12 页 | 384.47 KB | 6 月前
    3
共 16 条
  • 1
  • 2
前往
页
相关搜索词
BRPCUCX集成指南CurveFSCopysetFS对应关系Curve文件系统文件系统数据管理数据管理Raft存储工程实践方案设计方案设计空间分配核心组件mds网易数帆snapshotclonePFSSPDKStoragePerformanceDevelopmentKit持久
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩