linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v4 0/3] ext4: increase mbcache scalability
@ 2014-01-28 12:26 George Spelvin
  2014-01-28 21:09 ` Andreas Dilger
  0 siblings, 1 reply; 12+ messages in thread
From: George Spelvin @ 2014-01-28 12:26 UTC (permalink / raw)
  To: tmac; +Cc: adilger, andi, linux, linux-ext4, linux-fsdevel, linux-kernel

> The third part of the patch further increases the scalablity of an ext4
> filesystem by having each ext4 fielsystem allocate and use its own private
> mbcache structure, instead of sharing a single mcache structures across all
> ext4 filesystems, and increases the size of its mbcache hash tables.

Are you sure this helps?  The idea behind having one large mbcache is
that one large hash table will always be at least as well balanced as
multiple separate tables, if the total size is the same.

If you have two size 2^n hash tables, the chance of collision is equal to
one size  2^(n+1) table if they're equally busy, and if they're unequally
busy. the latter is better.  The busier file system will take less time
per search, and since it's searcehed more often than the less-busy one,
net win.

How does it compare with just increasing the hash table size but leaving
them combined?

^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH v2 0/2] ext4: increase mbcache scalability
@ 2013-08-22 15:54 T Makphaibulchoke
  2014-01-24 18:31 ` [PATCH v4 0/3] " T Makphaibulchoke
  0 siblings, 1 reply; 12+ messages in thread
From: T Makphaibulchoke @ 2013-08-22 15:54 UTC (permalink / raw)
  To: tytso, adilger.kernel, viro, linux-ext4, linux-kernel,
	linux-fsdevel
  Cc: aswin, torvalds, T Makphaibulchoke

The patch consists of two parts.  The first part introduces higher degree of
parallelism to the usages of the mb_cache and mb_cache_entries and impacts
all ext filesystems.

The second part of the patch further increases the scalablity of an ext4
filesystem by having each ext4 fielsystem allocate and use its own private
mbcache structure, instead of sharing a single mcache structures across all
ext4 filesystems

Here are some of the benchmark results with the changes. 

On a 90 core machine:

Here are the performance improvements in some of the aim7 workloads,

---------------------------
|             | % increase |
---------------------------
| alltests    |     11.85  |
---------------------------
| custom      |     14.42  |
---------------------------
| fserver     |     21.36  |  
---------------------------
| new_dbase   |      5.59 |  
---------------------------
| new_fserver |     21.45  |  
---------------------------
| shared      |     12.84  |  
---------------------------
For Swingbench dss workload, with 16 GB database,

-------------------------------------------------------------------------------
| Users        | 100  | 200  | 300  | 400  | 500  | 600  | 700  | 800  | 900  |
-------------------------------------------------------------------------------
| % imprvoment | 8.46 | 8.00 | 7.35 | -.313| 1.09 | 0.69 | 0.30 | 2.18 | 5.23 |
-------------------------------------------------------------------------------
| % imprvoment |45.66 |47.62 |34.54 |25.15 |15.29 | 3.38 | -8.7 |-4.98 |-7.86 |
| without using|      |      |      |      |      |      |      |      |      |
| shared memory|      |      |      |      |      |      |      |      |      |
-------------------------------------------------------------------------------
For SPECjbb2013, composite run,

--------------------------------------------
|               | max-jOPS | critical-jOPS |
--------------------------------------------
| % improvement |   5.99   |     N/A       |
--------------------------------------------


On an 80 core machine:

The aim7's results for most of the workloads turn out to the same.

Here are the results of Swingbench dss workload,

-------------------------------------------------------------------------------
| Users        | 100  | 200  | 300  | 400  | 500  | 600  | 700  | 800  | 900  |
-------------------------------------------------------------------------------
| % imprvoment |-1.79 | 0.37 | 1.36 | 0.08 | 1.66 | 2.09 | 1.16 | 1.48 | 1.92 |
-------------------------------------------------------------------------------

The changes have been tested with ext4 xfstests to verify that no regression
has been introduced. 

Changed in v2:
	- New performance data
	- New diff summary

T Makphaibulchoke (2):
  mbcache: decoupling the locking of local from global data
  ext4: each filesystem creates and uses its own mc_cache

 fs/ext4/ext4.h          |   1 +
 fs/ext4/super.c         |  24 ++--
 fs/ext4/xattr.c         |  51 +++++----
 fs/ext4/xattr.h         |   6 +-
 fs/mbcache.c            | 293 +++++++++++++++++++++++++++++++++++-------------
 include/linux/mbcache.h |  10 +-
 6 files changed, 269 insertions(+), 116 deletions(-)

-- 
1.7.11.3

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

end of thread, other threads:[~2014-02-13  2:01 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-28 12:26 [PATCH v4 0/3] ext4: increase mbcache scalability George Spelvin
2014-01-28 21:09 ` Andreas Dilger
2014-01-28 20:07   ` Thavatchai Makphaibulchoke
2014-02-11 18:47   ` Thavatchai Makphaibulchoke
  -- strict thread matches above, loose matches on Subject: below --
2013-08-22 15:54 [PATCH v2 0/2] " T Makphaibulchoke
2014-01-24 18:31 ` [PATCH v4 0/3] " T Makphaibulchoke
2014-01-24 21:38   ` Andi Kleen
2014-01-25  1:13     ` Thavatchai Makphaibulchoke
2014-01-25  6:09     ` Andreas Dilger
2014-01-27 12:27       ` Thavatchai Makphaibulchoke
2014-02-09 19:46       ` Thavatchai Makphaibulchoke
2014-02-11 19:58       ` Thavatchai Makphaibulchoke
2014-02-13  2:01         ` Andreas Dilger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).