- 博客(343)
- 资源 (28)
- 收藏
- 关注
转载 Profiling Ceph memcpy Usage
Profiling Ceph memcpy Usage 目录Profiling Ceph memcpy Usage Introduction Placing the uprobe on memcpy Simple Python Perf script to analyse memcpy sizes Distribution of memcpy sizes Steps...
2019-01-29 17:44:06
602
转载 Working With NUMA/CPU Pinning
Working With NUMA/CPU PinningSep8th, 201611:06 am| CommentsThe term CPU pinning / process affinity / NUMA generally boils down to the same idea that In a multi socket system, application best pe...
2018-07-23 12:22:42
814
转载 A Quick Tour of NVM Express (NVMe)
A Quick Tour of NVM Express (NVMe)I will very briefly describe NVM Express (NVMe) with examples in Linux.DisclaimerI am not an expert on this field and this is a basic overview not a comprehensive one...
2018-06-29 15:25:11
2600
1
转载 HLS科普1 HLS和M3U8简介
HLS(HTTP Live Streaming)是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的基于HTTP协议的流媒体解决方案。在 HLS 技术中 Web 服务器向客户端提供接近实时的音视频流。但在使用的过程中是使用的标准的 HTTP 协议,所以这时,只要使用 HLS 的技术,就能在普通的 HTTP 的应用上直接提供点播和直播。在App Store中的视频相关的应...
2018-06-13 15:57:57
2526
转载 2018 存储技术热点与趋势总结
过去半年阅读了 30 多篇论文,坚持每 1~2 周写一篇 Newsletter,大部分都和存储相关。今天在这里进行一个总结,供大家作为了解存储技术热点和趋势的参考。本文包含了全新的技术领域,如 Open-Channel SSD,Machine Learning for Systems;也包含老话题的新进展,如 NVM,LSM-Tree,Crash Consistency;以及工业界的进展。Open...
2018-06-12 16:07:26
1507
转载 Creating patch from GitHub pull request
Have you ever needed to generate a patch filefrom a GitHub pull request? If you answered YES, you'll enjoy this little hidden feature.Every pull-request on GH can be downloaded as a beautiful mail-pat...
2018-05-29 11:00:57
1251
转载 Understanding glibc malloc
I always got fascinated by heap memory. Questions such asHow heap memory is obtained from kernel?How efficiently memory is managed?Is it managed by kernel or by library or by application itself?Can he...
2018-04-17 16:11:10
426
转载 Hack the Virtual Memory: malloc, the heap & the program break
This is the fourth chapter in a series around virtual memory. The goal is to learn some CS basics, but in a different and more practical way.If you missed the previous chapters, you should probably st...
2018-04-17 16:02:24
400
转载 关于内存
What is some existing documentation on Linux memory management? Ulrich Drepper (the ex-glibc maintainer) wrote an article series called "What every programmer should know about memory": Part...
2018-04-17 14:14:53
632
转载 Profiling heap usage
Profiling heap usageThis document describes how to profile the heap usage of a C++ program. This facility can be useful forFiguring out what is in the program heap at any given timeLocating memory lea...
2018-04-17 10:34:27
806
转载 LevelDB源码剖析之Arena内存管理
levelDB 中的内存管理本文将分析levelDB 中内存管理类Arena 的实现,通过分析该类的实现,我学到了如何封装内存的分配操作(通过统一的接口来分配不同大小的内存,而不用考虑内存释放),以及如何预先分配一整块内存来解决频繁分配小块内存浪费时间,直接分配大块内存浪费内存的问题,还学到了如何保证内存对齐。真好。static const int kBlockSize = 4096;Arena每...
2018-04-17 10:18:00
309
转载 给SSD(固态硬盘)编程
给SSD(固态硬盘)编程(1):简介和目录本文由 伯乐在线 - 熊铎 翻译。未经许可,禁止转载!英文出处:Emmanuel Goossaert (CodeCapsule.com)。欢迎加入翻译组。简介我想为我的键值对存储项目弄一个固态硬盘(SSD)最佳存储解决方案。为此,我必须确保我完全了解SSD是如何工作的,这样就可以优化我的hash表实例来适合SSD的内部特征。网上有很多不完全和相悖的的信息,...
2018-04-06 11:32:27
2685
原创 使用 lttng trace rgw 性能
本节介绍如何使用 rgw tracepoints 跟踪 rgw 数据传送、bi更新和头对象写的时间开销。1. 打过patch后,获取 trace数据操作和 [1] 中过程一样。不一样的处理如下:- apply patch [2] - 编译打开 lttng 支持(同[1])- ceph.conf 中配置项打开 rgw rados tracing = true rgw op tracing = ...
2018-03-27 12:12:24
1059
转载 How to Use git send-email
How to Use git send-emailThe preferred way to send patches is by email, using git send-email (more information about sending patches can be found on the Community page). This page explains how to use ...
2018-02-28 16:57:03
2151
2
原创 使用python-crush均衡pg分布
作者: Yang Honggang ceph默认创建pool时,其pg分布很不均衡。这会造成有些osd很忙,有些很闲。不能充分发挥整体的性能。本文以rgwecpool ec pool为例子,演示如果让一个pool的pg均衡分布到各个osd上。本例子中使用的是jewel版本(v10.2.2)。对于社区master已经有 mgr balancer plugin 来自动调整pg分布(ht
2018-01-23 12:03:28
1890
原创 cosbench 部署配置
作者: Yang Honggang 下载 // 不能直接使用 git clone 的版本,应该使用 release 下的 // ref: http://cosbench.1094679.n5.nabble.com/cosbench-3-3-0-on-ubuntu-13-10-td114.html wget https://github.com/intel-cloud/co
2018-01-23 10:46:04
8582
2
原创 使用lttng trace ceph filestore的性能
作者: Yang Honggang 本文基于 ceph-10.2.2/Centos7.2 介绍如何使用 lttng trace ceph osd 的性能.安装lttng工具安装 # yum install lttng-tools lttng-ust // 查看 trace 结果的工具 # yum install babeltrace启动 // 我们只是t
2018-01-22 17:33:58
2602
原创 CentOS7 安装gcc 7.2 (为了编译最新版ceph)
最新版本的ceph已经使用了c++14新特性,CentOS7中的gcc版本太低,所以需要手动安装新版本的gcc。本文给出了一个可以正确编译ceph的gcc配置,供大家参考。 $ wget https://ftp.gnu.org/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.xz
2017-12-27 14:35:27
6486
转载 Editing Rocksdb BlockBasedTable Format
This page is forked from LevelDB’s document on table format, and reflects changes we have made during the development of RocksDB.BlockBasedTable is the default SST table format in RocksDB.File format<b
2017-10-18 20:21:41
535
转载 rocksdb table formats
What is SST (Static Sorted Table)All RocksDB’s persistent data is stored in a collection of SSTs. We often use sst, table and sst file interchangeably. Choosing a table formatRocksdb supports different
2017-10-18 20:14:46
1257
转载 Rocksdb Merge Operator
This page describes the Atomic Read-Modify-Write operation in RocksDB, known as the “Merge” operation. It is an interface overview, aimed at the client or RocksDB user who has the questions: when and w
2017-10-18 16:01:46
1814
原创 S3 bucket versioning 总结
1. bucket 的 versioning 状态切换* 默认状态unversioned* --> versioning-enabled versioning-suspendedWarningOnce you version-enable a bucket, it can never return to an unversioned stateObjects s
2017-09-14 15:43:53
2101
原创 基于 rbd nbd 的支持抢锁的 rbd docker volume plugin
基于 rbd nbd 的支持抢锁的 rbd docker volume plugin1.注意本plugin的master分支和 Luminous 一起配合,不需要下面的patch本plugin 的 old-volume-helpers和jewel(10.2.2)一起测试过,需要apply 下面的patch:ceph-patch/rbd-nbd-ceph-10.2.2.patch2. 编译rpm包$...
2017-04-26 14:00:33
1500
原创 ceph radosgw 对象寻址和元数据组织
1. 对象寻址rgw对象寻址的过程就是“拼接对象串“的过程,再结合bucket.pool就能对应到rados对象。1.1 普通对象1.2 multipart 对象1.3 非multipart versioned对象1.4 multipart versioned 对象脑补吧...2. rgw元数据pool的作用 struct RGWZon
2017-03-31 10:56:35
3939
转载 centos 7 安装 debuginfo
debuginfo 的软件库设置以下内容可以被加进 /etc/yum.repos.d/CentOS-Base.repo 或一个新增的文件内,例如 /etc/yum.repos.d/CentOS-Debug.repo。#Debug Info[debuginfo]name=CentOS-$releasever - DebugInfo# CentOS-4#baseurl=ht
2017-03-09 14:00:47
3627
转载 Write a filesystem with FUSE
During the past year I experimented a lot with file systems in Userspace using FUSE, I wrote this post to share my thoughts about what I did and to give you a starting point to do something by yoursel
2017-02-16 15:34:12
706
原创 aws java sdk 访问ceph radosgw (hammer)
1. 安装maven[1]- 下载$ wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz- 解压 $ mkdir ~/install/ $ tar -zxf apache-maven-3.3.9-bin.tar.gz -C ~/in
2016-12-07 15:18:05
2926
原创 Multi upload 示例
import math, os import boto import boto.s3.connection from filechunkio import FileChunkIO CONS_AK = 'RC35MU8KM1PMEQ4EFD46' CONS_SK = 'Fg1KO10FS4uIPzSoKenmKAR2YHt052rM9u8VDik9'
2016-10-12 11:13:53
1846
原创 Boto2 s3访问示例
import boto import boto.s3.connection ############### Replace these with your configrations #################### CONS_AK = 'RC35MU8KM1PMEQ4EFD46' CONS_SK = 'Fg1KO10FS4uIPzSoKenmKAR2YHt
2016-10-12 11:09:31
2229
转载 centos7 firefox 安装 jre 插件
Today, I had to install the Java plugin for 64bit Firefox on CentOS 6.4. The procedure wasn’t too bad, but it wasn’t exactly straight-forward either. So, I’m recording what worked for when I have to d
2016-05-27 19:38:21
2956
原创 radosgw layout (rgw 布局)
要了解一个存储系统,首先要了解其数据、元数据布局、重要抽象。这里对radosgw / rgw 的布局进行简单介绍。
2016-05-19 11:53:43
3328
原创 S3 Multi Part Upload 中断后续传
我们上传大文件时难免出错,但又不愿意重新开始传,这里介绍如何利用boto,继续中断的 multi part upload。上传大文件示例
2016-05-17 14:49:57
4291
转载 分布式系统领域经典论文翻译集
分布式领域论文译序sql&nosql年代记SMAQ:海量数据的存储计算和查询一.google论文系列1. google系列论文译序2. The anatomy of a large-scale hypertextual Web search engine (译 zz)3. web search for a planet :the googl
2016-05-12 20:29:14
1130
原创 radosgw bucket index sharding
每个key在其对应的dir/bucket下都会占有200B左右的空间。当dir/bucket下面的key数量很多时,这将使得dir对象很大。不仅包含该dir对象的osd会使用很多内存,而且当dir对象迁移时所有对该对象的写操作都会锁定[1]。 [root@yhg-2 cmds]# rados -p .rgw.buckets.index listomapvals .dir.yhg-
2016-04-20 17:35:36
4397
原创 ceph radosgw gc
rgw gc对象删除操作、对象覆盖操作都会产生需要被删除的对象。这些对象由垃圾回收线程进行周期性、批量删除。1. 配置项配置项描述默认rgw gc max objs垃圾回收进程在一个处理周期内可处理的最大对象数32rgw gc obj min wait对象可被删除并由垃圾回收器处理前最少等待多长时间7200s
2016-04-15 11:05:12
6485
1
转载 leveldb实现原理
郑重声明:本篇博客是自己学习 Leveldb 实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecity.com/blog/Index.asp?SortID=12,只是为了加深印象,本文的配图是自己重新绘制的,大部分内容与原文相似,大家可以浏览原始页面 :-),感兴趣的话可以一起讨论 Leveldb 的实现原理!LevelDb日知录之一:LevelDb 1
2016-04-12 15:50:36
810
转载 Ceph中的序列化
Ceph中的序列化yuandong| 2015.05.11 作为主要和磁盘、网络打交道的分布式存储系统,序列化是最基础的功能之一,今天我们来看一下Ceph中序列化的设计与实现。1 Ceph序列化的方式序列化(ceph称之为encode)的目的是将数据结构表示为二进制流的方式,以便通过网络传输或保存在磁盘等存储介质上,其逆过程称之为反序列化(ceph称之为decode)。
2016-04-08 13:38:24
2156
1
转载 Ceph中Bufferlist的设计与使用
Ceph中Bufferlist的设计与使用yuandong| 2015.05.07 如果非要在整个Ceph中,找出一个类最重要,我觉得非Bufferlist莫属了,原因很简单,因为Bufferlist负责管理Ceph中所有的内存。整个Ceph中所有涉及到内存的操作,无论是msg分配内存接收消息,还是OSD构造各类数据结构的持久化表示(encode/decode),再到实际磁盘操
2016-04-08 13:34:10
3216
ZFS On-Disk Specification Draft
2015-08-29
经典汇编教程
2012-04-12
Real-Time Concepts for Embedded Systems
2010-10-09
Distributed_Systems_Principles_and_paradigms e1_2
2010-09-12
Distributed_Systems_Principles_and_paradigms e1
2010-09-12
Building Embeded Linux System
2010-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人