All of lore.kernel.org
 help / color / mirror / Atom feed
* parallel transaction submit
@ 2016-08-25  7:45 Tang, Haodong
  2016-08-25  7:55 ` Haomai Wang
  0 siblings, 1 reply; 6+ messages in thread
From: Tang, Haodong @ 2016-08-25  7:45 UTC (permalink / raw)
  To: sweil, varada.kari, ceph-devel

Hi Sage, Varada
 
Noticed you are making parallel transaction submits, we also worked out a prototype that looks similar, here is the link for the implementation: https://github.com/ceph/ceph/pull/10856
 
Background: 
From the perf counter we added, found it spent a lot time in kv_queue, that is, single thread transaction submits is not competent to handle the transaction from OSD.
 
Implementation: 
The key thought is to use multiple thread and assign each TransContext to one of the processing threads. In order to parallelize transaction submit, add different kv_locks and kv_conds for each thread.
 
Performance evaluation: 
Test ENV:
	4 x server, 4 x client, 16 x Intel S3700 as block device, and 4 x Intel P3600 as Rocksdb/WAL device. 
Performance: 
We also did several quick tests to verify the performance benefit, the results showed that parallel transaction submission will brought 10% performance improvement if using memdb, but little performance improvement with rocksdb. 
 
What's more, without parallel transaction submits, we also see performance boost if just changing to MemDB, but a little.
 
Test summary:
QD Scaling Test - 4k Random Write:
                                                                                  QD = 1      QD = 16     QD = 32      QD = 64      QD = 128
With rocksdb (IOPS)                                              682            173000       190000        203000       204000
With memdb (IOPS)                                              704            180000       194000        206000       218000
With rocksdb+multiple_kv_thread(IOPS)          /                164243        167037        180961      201752
With memdb+multiple_kv_thread(IOPS)          /                 176000       200000        221000      227000
 

It seems single thread of transaction submits will be a bottleneck if using MemDB.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-08-25 14:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-25  7:45 parallel transaction submit Tang, Haodong
2016-08-25  7:55 ` Haomai Wang
2016-08-25  8:47   ` Varada Kari
2016-08-25 14:11     ` Sage Weil
2016-08-25 14:26       ` Varada Kari
2016-08-25  8:48   ` Tang, Haodong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.