Skip to content

Wip compressor#5116

Merged
liewegas merged 4 commits intoceph:masterfrom
yuyuyu101:wip-compressor
Jul 28, 2015
Merged

Wip compressor#5116
liewegas merged 4 commits intoceph:masterfrom
yuyuyu101:wip-compressor

Conversation

@yuyuyu101
Copy link
Member

Compressor: Add compressor infrastructure for ceph

AsyncCompressor is a stucture which implement the nonblock compress method, callers could compress this and then get the resulted data later. Of course, callers could directly wait for the compressor completed.

Compression algorithm usually uses lots of helper data to speed compress, so here AsyncCompressor uses dedicated threads to help cache-affinity. Second, We want to make compression parallel with normal io logic. For example, any component receive data may not need to care the actual data and need to do some things with metadata. We could let metadata process parallel with data compression.

yuyuyu101 added 3 commits July 1, 2015 21:11
AsyncCompressor is a stucture which implement the nonblock compress method,
callers could compress this and then get the resulted data later. Of course,
callers could directly wait for the compressor completed.

Compression algorithm usually uses lots of helper data to speed compress,
so here AsyncCompressor uses dedicated threads to help cache-affinity. Second,
We want to make compression parallel with normal io logic. For example,
any component receive data may not need to care the actual data and need to
do some things with metadata. We could let metadata process parallel with data
compression.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
@joehandzik
Copy link

Awesome! Was Snappy your first choice, or I did I help motivate that? :)

@liewegas
Copy link
Member

This looks very reasonable to me!

I'm not sure I see the value in the affinity (pinning compression/decompression to a core) since the data its operating on located who knows where in the system, and we're never going to be compressing and decompressing the same buffers in the same process (right?).

@yuyuyu101
Copy link
Member Author

Hmm, I think it's fine that we dont bind thread to cores

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
@yuyuyu101
Copy link
Member Author

@liewegas Do we merge this PR or make #3490 append?

liewegas added a commit that referenced this pull request Jul 28, 2015
Wip compressor

Reviewed-by: Sage Weil <sage@redhat.com>
@liewegas liewegas merged commit 14542e7 into ceph:master Jul 28, 2015
@yuyuyu101 yuyuyu101 deleted the wip-compressor branch September 23, 2015 02:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants