linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Olga Kornievskaia <aglo@umich.edu>
To: Trond Myklebust <trondmy@hammerspace.com>
Cc: linux-nfs <linux-nfs@vger.kernel.org>
Subject: Re: [RFC PATCH 0/5] Fun with the multipathing code
Date: Wed, 9 Jan 2019 14:39:16 -0500	[thread overview]
Message-ID: <CAN-5tyEp5=bF2mFjTCs2K2NdKWLY=msqN-5c94hwuXSm3QTDAw@mail.gmail.com> (raw)
In-Reply-To: <20170428172535.7945-1-trond.myklebust@primarydata.com>

Hi Trond,

Do you have any plans for this patch set?

I applied the patches on top of 4.20-rc7 kernel I had and tested it
(linux to linux) with iozone on the hardware (40G link with Mellanox
CX-5 card).

Results seem to show read IO improvement from 1.9GB to 3.9GB. Write IO
speed seems to be the same (disk bound I'm guessing). I also tried
mounting tmpfs. Same thing.

Seems like a useful feature to include?

Some raw numbers I got. Each nconnect=X value is just a single data point.

With nconnect=10
        Command line used: /home/kolga/iozone3_482/src/current/iozone
-i0 -i1 -s52m -y2k -az -I
        Output is in kBytes/sec
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7820    10956    20960    20927
           53248       4    14871    21305    38743    38242
           53248       8    27803    35001    75568    75830
           53248      16    47452    59596   132513   130921
           53248      32    70572    84940   234902   233423
           53248      64    94774   101237   355664   354372
           53248     128   114667   119413   523245   524855
           53248     256   132340   137530   682411   681260
           53248     512   143172   146157   784144   356064
           53248    1024   148874   154177  1013764   982943
           53248    2048   144311   161233  1282095  1592057
           53248    4096   164679   169837  1637788  2438329
           53248    8192   159221   142882   188536  1523659
           53248   16384   169236    96996  3914910  1875398

With nconnect=9
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7833    10991    20893    20910
           53248       4    15254    21136    40030    37510
           53248       8    28077    37834    76688    67560
           53248      16    47850    60174   137175   135266
           53248      32    70653    85120   240219   235160
           53248      64    96742   103856   364931   363556
           53248     128   115002   119222   526446   517589
           53248     256   132349   137254   684606   693748
           53248     512   142849   147385   838735   876868
           53248    1024   149612   152187  1060375   968514
           53248    2048   150830   156006  1476364  1689987
           53248    4096   163228   168421  1000338  1645183
           53248    8192   165049   151047  3168655  3274393
           53248   16384   166007   175972   743835  3817903

With nconnect=8
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7118    10321    20281    20353
           53248       4    13960    20445    39233    39160
           53248       8    24688    36543    74964    75111
           53248      16    44674    57346   131362   130294
           53248      32    67547    82716   231881   228998
           53248      64    94195   103270   345326   343389
           53248     128   116830   119816   521772   511537
           53248     256   133709   137917   682126   693098
           53248     512   143913   148801   878939   860046
           53248    1024   150329   154027  1041977  1028612
           53248    2048   157680   158844     7378  1486753
           53248    4096   159543   160027  2441901  2168589
           53248    8192   165155   160193  2515452  3142285
           53248   16384   169411   176009  2385325  3894130

With nconnect=7
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7574    10593    20459    20381
           53248       4    15064    20928    39865    39760
           53248       8    27696    36864    74300    65721
           53248      16    46960    59010   128354   127600
           53248      32    68841    83578   230226   227369
           53248      64    93114   100612   342303   331331
           53248     128   112599   116108   498004   508645
           53248     256   130668   136554   653718   634570
           53248     512   142318   146749   805566   807056
           53248    1024   148693   152493   965095   974736
           53248    2048   157342   161170  1794490  1697579
           53248    4096   144672   161154  2371227  2089308
           53248    8192   148515   172814  3098132   766539
           53248   16384   152801   143075  3799398  3778023

With nconnect=6
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7832    11103    21119    21254
           53248       4    15490    21607    40520    40215
           53248       8    25519    37333    78626    77118
           53248      16    47885    54596   139343   138482
           53248      32    71914    85094   239720   237024
           53248      64    93901   100491   383238   377849
           53248     128    95497   119289   545658   533312
           53248     256   131614   137665   726717   716209
           53248     512   143397   147452   896038   869623
           53248    1024   149938   153885  1057554  1062727
           53248    2048   157542   159369  1750302  1691100
           53248    4096   163450   162691  2524086  2622917
           53248    8192   162439   153065  3320433  3286189
           53248   16384   153553   166918  3873279  3855965

With nconnect=5
                                                             random
random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7592    10794    20382    20251
           53248       4    15068    21096    41136    41865
           53248       8    27606    37260    74947    74655
           53248      16    47387    59806   137103   135962
           53248      32    70402    83767   244301   241492
           53248      64    95702   103042   361709   356424
           53248     128   114189   118505   564857   556585
           53248     256   132799   137856   751432   726667
           53248     512   143233   146747   900493   921180
           53248    1024   150787   154337  1106200  1088739
           53248    2048   156873   161403  1133588  1709520
           53248    4096   163741   166672  2468622  2275947
           53248    8192   147689   165501  2969179  2943782
           53248   16384   157076   143898  3468473  3580892

With nconnect=4
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7280    10499    20140    21610
           53248       4    15003    20658    39282    39084
           53248       8    27440    36211    72983    74006
           53248      16    46702    58114   130113   129372
           53248      32    67942    81592   237173   246333
           53248      64    92098    98403   351618   349844
           53248     128   117327   120451   492681   480222
           53248     256   134457   137616   676207   666874
           53248     512   144648   148179   853880   855267
           53248    1024   151171   156382  1108038  1075847
           53248    2048   157698   161736  1704862  1659547
           53248    4096   164955   163237     9991  2274603
           53248    8192   167987   173542  3189440  1304661
           53248   16384   160230   158367   616211  1008327

With nconnect=3
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7954    11188    21786    21304
           53248       4    15574    21973    41739    40116
           53248       8    26917    38019    77460    77323
           53248      16    47879    60593   140885   139938
           53248      32    69304    83709   250196   247017
           53248      64    95273   102929   371638   362578
           53248     128   113436   118636   504672   495772
           53248     256   131659   136857   749558   739310
           53248     512   142581   146588   933209   907939
           53248    1024   149502   152321  1092066  1093344
           53248    2048   156992   162151  1821551  1772388
           53248    4096   164692   170124  2530693  2442783
           53248    8192   169409   175014  2795110  2795262
           53248   16384   171873   176216  3088432  3172946
With nconnect=2
                                                               random
  random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7653    10723    20632    20970
           53248       4    15232    21710    43017    42909
           53248       8    27894    38009    80566    80249
           53248      16    47392    60132   140226   138809
           53248      32    72166    84713   240219   240935
           53248      64    95449   102520   392916   387097
           53248     128   113915   118447   592994   579702
           53248     256   132337   136397   808895   782690
           53248     512   142757   147276  1023450   980987
           53248    1024   149803   153748  1232539  1200873
           53248    2048   117144   142496  1726862  1846521
           53248    4096   129211   168913  2327366  2035403
           53248    8192   168842   173977  2079450   859542
           53248   16384   170514   133000  2450596   856588

With nconnect=1
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2     7287    10482    20808    20586
           53248       4    14282    20916    41216    40532
           53248       8    26230    36606    76589    79005
           53248      16    45838    59445   142976   141382
           53248      32    70513    84601   250468   247247
           53248      64    95128   103600   373719   377915
           53248     128   116702   121174   571526   558482
           53248     256   133131   137286   720249   702101
           53248     512   140870   145269   907632   894129
           53248    1024   148632   152558  1025853  1071471
           53248    2048    69684    68052  1640169  1587587
           53248    4096    57389    65044  1932496  1923277
           53248    8192    65201    75412  1896445  1880839
           53248   16384    86395   109635  1784491  1777077


Mounting a tmpfs instead of the disk
nconnect=10
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    20766    21097    21248    21096
           53248       4    38718    39837    40282    40562
           53248       8    70787    73029    75134    75473
           53248      16   129871   135244   137464   137202
           53248      32   206931   225844   246440   243423
           53248      64   307101   324226   362781   363964
           53248     128   423743   437825   533503   539324
           53248     256   549566   600099   726419   756622
           53248     512   658211   723361   890941   902508
           53248    1024   771731   898627  1079691  1125845
           53248    2048   904072  1047097  1746060  1814433
           53248    4096  1197609  1278558  1780285  2390797
           53248    8192  1022231  1523377  1463727  1304735
           53248   16384  1321716  1716730  3913052  3861092

nconnect=9
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    18595    19418    19935    19555
           53248       4    38048    38871    39015    39058
           53248       8    70431    73903    73787    73437
           53248      16   115428   120146   108439   132652
           53248      32   189369   208458   238736   239319
           53248      64   310172   326099   351834   350228
           53248     128   419917   443973   540968   538233
           53248     256   542390   578625   724630   721654
           53248     512   636801   692928   876813   886978
           53248    1024   740769   807593  1023254  1038803
           53248    2048   900703   977706  1744465  1795702
           53248    4096   991434  1218405  2312809  1534298
           53248    8192   172671  1556220  3210650  1240208
           53248   16384  1135860  1732470  3855099  3912755

nconnect=8
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    20164    20622    20499    21020
           53248       4    38006    39090    40008    40093
           53248       8    70803    72965    75611    75827
           53248      16   125845   132516   135011   135602
           53248      32   216442   232697   239348   239241
           53248      64   288013   297895   356983   363912
           53248     128   418932   441833   520451   513015
           53248     256   560464   616810   726013   730965
           53248     512   674367   722693   903227   936461
           53248    1024   761283   840974  1089472  1128827
           53248    2048   943060   924299  1467459  1666917
           53248    4096   970724  1052788  2433414  1938400
           53248    8192  1342030  1089869   464917  3304996
           53248   16384  1458436  1095725  3794363  1635401

nconnect=7
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    20482    21154    21481    21409
           53248       4    39328    40445    41006    40581
           53248       8    75042    77753    80518    79727
           53248      16   131785   136573   139394   138978
           53248      32   150097   209044   249709   250655
           53248      64   316353   333310   380193   383393
           53248     128   427594   453668   573614   573235
           53248     256   568166   611842   751230   753997
           53248     512   655601   718936   909862   920353
           53248    1024   749337   824988  1073221  1092846
           53248    2048   959526   991769  1722507  1835308
           53248    4096  1114485  1273084   824029  2244745
           53248    8192  1096944  1590424  3208102  1612757
           53248   16384   186085  1777460  2446002  3071636

nconnect=6
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    19954    20159    20472    20692
           53248       4    38829    39657    40025    39943
           53248       8    70936    73492    74566    74764
           53248      16   119267   123319   136927   136591
           53248      32   193462   227254   239441   240293
           53248      64   280700   280861   348085   352502
           53248     128   410708   433280   268324   480572
           53248     256   549707   599025   705775   721743
           53248     512   694691   777286   834676   831794
           53248    1024   796161   899669   985672  1011762
           53248    2048   660219  1095097  1442643  1536969
           53248    4096   713024  1097287  2375110  2278199
           53248    8192   961825   814827  1414807  1073586
           53248   16384  1302666   188459   789169  3799328

nconnect=5
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    20083    20853    21387    21790
           53248       4    39346    40634    41595    41911
           53248       8    72275    75203    78950    79016
           53248      16   110484   128308   135731   131166
           53248      32   202718   216528   239493   240653
           53248      64   293191   298468   379034   382413
           53248     128   457944   496666   551294   555308
           53248     256   595181   641156   750500   751126
           53248     512   694337   787317   895434   898956
           53248    1024   761906   854799  1064769  1073980
           53248    2048   946967  1116994  1735369  1746934
           53248    4096   392953  1355423  2615086  2455756
           53248    8192  1356030  1578369  3033668  3172360
           53248   16384  1454587  1743974  3562513  3540975

nconnect=4
                                                             random
random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    20228    20092    21908    22120
           53248       4    38694    39986    41089    41153
           53248       8    75699    78465    80083    80017
           53248      16   102728   130883   135680   141924
           53248      32   220118   231684   240910   249315
           53248      64   302994   321295   385046   386325
           53248     128   457099   488792   564420   563577
           53248     256   586191   676053   767127   776559
           53248     512   715344   782611   899003   906520
           53248    1024   771923   874051  1182348  1256440
           53248    2048   969607  1104706  1557321  1911278
           53248    4096  1179644   981022  1722069  2709534
           53248    8192  1216820  1556373  3159477  3254646
           53248   16384  1508198   605894  3517653  3571029

nconnect=3
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    21481    21763    21988    21311
           53248       4    39828    40888    41669    41768
           53248       8    65010    76085    80491    80466
           53248      16   123527   135609   143423   144154
           53248      32   225695   236990   250957   251665
           53248      64   320309   348847   396364   396967
           53248     128   426707   452220   565097   565103
           53248     256   558951   600620   763477   767196
           53248     512   668986   726410   972622   989905
           53248    1024   782668   839173  1183444  1149741
           53248    2048   974740  1075588  1853002  1885892
           53248    4096  1198605  1308529  1270347  1624458
           53248    8192   936760  1609546  2008581  2949932
           53248   16384   579957  1068755  1254678  1268465

nconnect=2
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    20386    21137    21406    21519
           53248       4    38273    39530    40406    41521
           53248       8    73789    73972    78914    79116
           53248      16   127961   133436   138270   137096
           53248      32   213333   231143   238689   239144
           53248      64   292544   301586   372603   374027
           53248     128   449001   480655   552909   532209
           53248     256   551713   611455   726627   738374
           53248     512   652788   745258   845863   848531
           53248    1024   822491   904270  1080454  1024272
           53248    2048   829847   948519  2001870  1985974
           53248    4096  1198116  1387247  2519900  2503433
           53248    8192  1345305  1475502  2918073  3259019
           53248   16384   634718   475630  3128884  2969906

nconnect=1
                                                              random
 random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read
  write     read   rewrite      read   fwrite frewrite    fread
freread
           53248       2    21288    21799    21638    21763
           53248       4    40599    42412    42758    42762
           53248       8    75734    78713    80072    81414
           53248      16   124331   133874   148128   148421
           53248      32   229738   242286   261479   262589
           53248      64   337174   357993   385598   391051
           53248     128   428862   462394   582345   576003
           53248     256   527788   530506   780829   790614
           53248     512   668147   732605  1071388  1058561
           53248    1024   823391   921211  1218651  1223558
           53248    2048  1016144  1111789  1600626  1585513
           53248    4096  1251567  1436417  1818215  1868426
           53248    8192  1479547  1716916  1804469  1789697
           53248   16384  1435145  1954500  1796230  1799570



On Sun, Apr 30, 2017 at 8:49 AM Trond Myklebust
<trond.myklebust@primarydata.com> wrote:
>
> In the spirit of experimentation, I've put together a set of patches
> that implement setting up multiple TCP connections to the server.
> The connections all go to the same server IP address, so do not
> provide support for multiple IP addresses (which I believe is
> something Andy Adamson is working on).
>
> The feature is only enabled for NFSv4.1 and NFSv4.2 for now; I don't
> feel comfortable subjecting NFSv3/v4 replay caches to this
> treatment yet. It relies on the mount option "nconnect" to specify
> the number of connections to st up. So you can do something like
>   'mount -t nfs -overs=4.1,nconnect=8 foo:/bar /mnt'
> to set up 8 TCP connections to server 'foo'.
>
> Anyhow, feel free to test and give me feedback as to whether or not
> this helps performance on your system.
>
> Trond Myklebust (5):
>   SUNRPC: Allow creation of RPC clients with multiple connections
>   NFS: Add a mount option to specify number of TCP connections to use
>   NFSv4: Allow multiple connections to NFSv4.x (x>0) servers
>   pNFS: Allow multiple connections to the DS
>   NFS: Display the "nconnect" mount option if it is set.
>
>  fs/nfs/client.c             |  2 ++
>  fs/nfs/internal.h           |  2 ++
>  fs/nfs/nfs3client.c         |  3 +++
>  fs/nfs/nfs4client.c         | 13 +++++++++++--
>  fs/nfs/super.c              | 12 ++++++++++++
>  include/linux/nfs_fs_sb.h   |  1 +
>  include/linux/sunrpc/clnt.h |  1 +
>  net/sunrpc/clnt.c           | 17 ++++++++++++++++-
>  net/sunrpc/xprtmultipath.c  |  3 +--
>  9 files changed, 49 insertions(+), 5 deletions(-)
>
> --
> 2.9.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2019-01-09 19:39 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-28 17:25 [RFC PATCH 0/5] Fun with the multipathing code Trond Myklebust
2017-04-28 17:25 ` [RFC PATCH 1/5] SUNRPC: Allow creation of RPC clients with multiple connections Trond Myklebust
2017-04-28 17:25   ` [RFC PATCH 2/5] NFS: Add a mount option to specify number of TCP connections to use Trond Myklebust
2017-04-28 17:25     ` [RFC PATCH 3/5] NFSv4: Allow multiple connections to NFSv4.x (x>0) servers Trond Myklebust
2017-04-28 17:25       ` [RFC PATCH 4/5] pNFS: Allow multiple connections to the DS Trond Myklebust
2017-04-28 17:25         ` [RFC PATCH 5/5] NFS: Display the "nconnect" mount option if it is set Trond Myklebust
2017-05-04 13:45     ` [RFC PATCH 2/5] NFS: Add a mount option to specify number of TCP connections to use Chuck Lever
2017-05-04 13:53       ` Chuck Lever
2017-05-04 16:01       ` Chuck Lever
2017-05-04 17:36         ` J. Bruce Fields
2017-05-04 17:38           ` Chuck Lever
2017-05-04 17:45             ` J. Bruce Fields
2017-05-04 18:55               ` Chuck Lever
2017-05-04 19:58                 ` J. Bruce Fields
2017-05-04 20:40               ` Trond Myklebust
2017-05-04 20:42                 ` bfields
2017-04-28 17:45 ` [RFC PATCH 0/5] Fun with the multipathing code Chuck Lever
2017-04-28 18:08   ` Trond Myklebust
2017-04-29 17:53     ` Chuck Lever
2017-05-04 19:09 ` Anna Schumaker
2019-01-09 19:39 ` Olga Kornievskaia [this message]
2019-01-09 20:38   ` Trond Myklebust
2019-01-09 22:18     ` Olga Kornievskaia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN-5tyEp5=bF2mFjTCs2K2NdKWLY=msqN-5c94hwuXSm3QTDAw@mail.gmail.com' \
    --to=aglo@umich.edu \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trondmy@hammerspace.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).