---------- Forwarded message ---------- From: Xinze Chi <xmdxcxz@xxxxxxxxx> Date: 2015-03-17 15:52 GMT+08:00 Subject: Re: Fwd: Reduce read latency and bandwidth for ec pool To: Loic Dachary <loic@xxxxxxxxxxx> Yes, In my VDI environment, client read 4k every time. If we can read object from only shard. It would reduce the latency and bandwidth a lot. Thanks. 2015-03-17 15:48 GMT+08:00 Loic Dachary <loic@xxxxxxxxxxx>: > Hi, > > On 17/03/2015 08:27, Xinze Chi wrote: >> hi, loic: >> >> I have an idea which could reduce read latency and bandwidth for ec pool. >> >> But, I don't know whether it is feasible. >> >> Such as ec pool stripe_width = 16384 = 4 * 4096, K = 4, M =2 >> >> So ceph will partition the total of 16384 bytes to 4 data chunk, >> and encoding 2 parity chunk >> >> shard_0 include 0 - (4096-1) in original data; >> shard_1 include 4096 - (4096*2 - 1) in original data; >> shard_2 include 4096*2 - (4096 * 3 -1) in original data; >> shard_3 include 4096*3 - (4096 * 4 - 1) in original data >> shard_4 include parity chunk >> shard_5 include parity chunk >> >> Now if client read (offset 0, len 4096) from object, it should >> read 4 shard (from 0-3) and decode all this 4 chunk. >> >> But, this example, maybe we can compute the destination shard >> based on ec pool config ,read offset and read len , we only read >> >> shard_0 and return it to client, because shard_0 has include all data >> as client need. > > That optimization makes sense to me. I guess you're interested in having small objects in the pool and only read a few bytes at a time ? > > Cheers > >> >> Wait for your comment. >> >> Thanks. >> > > -- > Loïc Dachary, Artisan Logiciel Libre > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html