linux-cxl.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gregory Price <gregory.price@memverge.com>
To: "Viacheslav A.Dubeyko" <viacheslav.dubeyko@bytedance.com>
Cc: Adam Manzanares <a.manzanares@samsung.com>,
	Mike Rapoport <rppt@kernel.org>,
	Kyungsan Kim <ks0204.kim@samsung.com>,
	"lsf-pc@lists.linux-foundation.org" 
	<lsf-pc@lists.linux-foundation.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-cxl@vger.kernel.org" <linux-cxl@vger.kernel.org>,
	"dan.j.williams@intel.com" <dan.j.williams@intel.com>,
	"seungjun.ha@samsung.com" <seungjun.ha@samsung.com>,
	"wj28.lee@samsung.com" <wj28.lee@samsung.com>
Subject: Re: [External] RE(2): FW: [LSF/MM/BPF TOPIC] SMDK inspired MM changes for CXL
Date: Sat, 1 Apr 2023 07:51:12 -0400	[thread overview]
Message-ID: <ZCgasNpBjtQje8k+@memverge.com> (raw)
In-Reply-To: <D0C2ADD0-35C4-4BE4-9330-A81D7326A588@bytedance.com>

On Tue, Apr 04, 2023 at 11:59:22AM -0700, Viacheslav A.Dubeyko wrote:
> 
> 
> > On Apr 1, 2023, at 3:51 AM, Gregory Price <gregory.price@memverge.com> wrote:
> > 
> > On Tue, Apr 04, 2023 at 05:58:05PM +0000, Adam Manzanares wrote:
> >> On Tue, Apr 04, 2023 at 11:31:08AM +0300, Mike Rapoport wrote:
> >>> 
> >>> The point of zswap IIUC is to have small and fast swap device and
> >>> compression is required to better utilize DRAM capacity at expense of CPU
> >>> time.
> >>> 
> >>> Presuming CXL memory will have larger capacity than DRAM, why not skip the
> >>> compression and use CXL as a swap device directly?
> >> 
> >> I like to shy away from saying CXL memory should be used for swap. I see a 
> >> swap device as storing pages in a manner that is no longer directly addressable
> >> by the cpu. 
> >> 
> >> Migrating pages to a CXL device is a reasonable approach and I believe we
> >> have the ability to do this in the page reclaim code. 
> >> 
> > 
> > The argument is "why do you need swap if memory itself is elastic", and
> > I think there are open questions about how performant using large
> > amounts of high-latency memory is.
> > 
> > Think 1us-1.5us+ cross-rack attached memory.
> > 
> > Does it make sense to use that as CPU-addressible and migrate it on
> > first use?  Isn't that just swap with more steps?  What happens if we
> > just use it as swap, is the performance all that different?
> > 
> > I think there's a reasonable argument for exploring the idea at the
> > higher ends of the latency spectrum.  And the simplicity of using an
> > existing system (swap) to implement a form of proto-tiering is rather
> > attractive in my opinion.
> > 
> 
> I think the problem with swap that we need to take into account the additional
> latency of swap-in/swap-out logic. I assume that this logic is expensive enough.
> And if we considering the huge graph, for example, I am afraid the swap-in/swap-out
> logic could be expensive. So, the question here is about use-case. Which use-case could
> have benefits to employ the swap as a big space of high-latency memory? I see your point
> that such swap could be faster than persistent storage. But which use-case can be happy
> user of this space of high-latency memory?
> 
> Thanks,
> Slava.
> 

Just spitballing here - to me this problem is two fold:

I think the tiering use case and the swap use case are exactly the same.
If tiering is sufficiently valuable, there exists a spectrum of compute
density (cpu:dram:cxl:far-cxl) where simply using far-cxl as fast-swap
becomes easier and less expensive than a complex tiering system.

So rather than a single use-case question, it reads like a tiering
question to me:

1) Where on the 1us-20us (far cxl : nvme) spectrum does it make sense to
   switch from a swap mechanism to simply byte-addressable memory?
   There's a point, somewhere, where promote on first access (effectively
   swap) is the same performance as active tiering (for a given workload).

   If that point is under 2us, there's a good chance that a high-latency
   CXL swap-system would be a major win for any workload on any cloud-based
   system.  It's simple, clean, and reclaim doesn't have to worry about the
   complexities of hotpluggable memory zones.


Beyond that, to your point, what use-case is happy with this class of
memory, and in what form?

2) This is likely obscurred by the fact that many large-memory
   applications avoid swap like the plague by sharding data and creating
   clusters. So it's hard to answer this until it's tested, and you
   can't test it unless you make it... woo!

   Bit of a chicken/egg in here.  I don't know that anyone can say
   definitively what workload can make use of it, but that doesn't mean
   there isn't one.  So in the spectrum of risk/reward, at least
   enabling some simple mechanism for the sake of exploration feels
   exciting to say the least.


More generally, I think a cxl-swap (cswap? ;V) would be useful exactly to
help identify when watch-and-wait tiering becomes more performant than
promote-on-first-use.  If you can't beat a simple fast-swap, why bother?

Again, I think this is narrowly applicable to high-latency CXL. My gut
tells me that anything under 1us is better used in a byte-addressable
manner, but once you start hitting 1us "It makes me go hmmm..."

I concede this is largely conjecture until someone tests it out, but
certainly a fun thing to discess.

~Gregory

  reply	other threads:[~2023-04-04 19:43 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20230221014114epcas2p1687db1d75765a8f9ed0b3495eab1154d@epcas2p1.samsung.com>
2023-02-21  1:41 ` [LSF/MM/BPF TOPIC] SMDK inspired MM changes for CXL Kyungsan Kim
2023-02-27 23:14   ` Dan Williams
     [not found]     ` <CGME20230228043551epcas2p3085444899b00b106c2901e1f51814d2c@epcas2p3.samsung.com>
2023-02-28  4:35       ` Kyungsan Kim
2023-03-03  6:07   ` Huang, Ying
     [not found]     ` <CGME20230322043354epcas2p2227bcad190a470d635b92f92587dc69e@epcas2p2.samsung.com>
2023-03-22  4:33       ` FW: " Kyungsan Kim
2023-03-22 22:03         ` Dan Williams
     [not found]           ` <CGME20230323105106epcas2p39ea8de619622376a4698db425c6a6fb3@epcas2p3.samsung.com>
2023-03-23 10:51             ` RE(2): " Kyungsan Kim
2023-03-23 12:25               ` David Hildenbrand
     [not found]                 ` <CGME20230324090923epcas2p2710ba4dc8157f9141c03104cf66e9d26@epcas2p2.samsung.com>
2023-03-24  9:09                   ` RE(4): " Kyungsan Kim
2023-03-24  9:12                     ` David Hildenbrand
     [not found]                       ` <CGME20230324092731epcas2p315c348bd76ef9fc84bffdb158e4c1aa4@epcas2p3.samsung.com>
2023-03-24  9:27                         ` RE(2): " Kyungsan Kim
2023-03-24  9:30                           ` David Hildenbrand
     [not found]                             ` <CGME20230324095031epcas2p284095ae90b25a47360b5098478dffdaa@epcas2p2.samsung.com>
2023-03-24  9:50                               ` RE(3): " Kyungsan Kim
2023-03-24 13:08                                 ` Jørgen Hansen
2023-03-24 22:33                                   ` David Hildenbrand
     [not found]                                     ` <CGME20230331114220epcas2p2d5734efcbdd8956f861f8e7178cd5288@epcas2p2.samsung.com>
2023-03-31 11:42                                       ` Kyungsan Kim
2023-03-31 13:42                                         ` Matthew Wilcox
2023-03-31 15:56                                           ` Frank van der Linden
2023-04-03  8:34                                             ` David Hildenbrand
     [not found]                                               ` <CGME20230405021655epcas2p2364b1f56dcde629bbd05bc796c2896aa@epcas2p2.samsung.com>
2023-04-05  2:16                                                 ` Kyungsan Kim
     [not found]                                             ` <CGME20230405020631epcas2p1c85058b28a70bbd46d587e78a9c9c7ad@epcas2p1.samsung.com>
2023-04-05  2:06                                               ` Re: " Kyungsan Kim
2023-04-05  5:00                                                 ` Dan Williams
     [not found]                                           ` <CGME20230405020121epcas2p2d9d39c151b6c5ab9e568ab9e2ab826ce@epcas2p2.samsung.com>
2023-04-05  2:01                                             ` Kyungsan Kim
2023-04-05  3:11                                               ` Matthew Wilcox
2023-04-03  8:28                                         ` David Hildenbrand
     [not found]                                           ` <CGME20230405020916epcas2p24cf04f5354c12632eba50b64b217e403@epcas2p2.samsung.com>
2023-04-05  2:09                                             ` Kyungsan Kim
     [not found]                                   ` <CGME20230331113147epcas2p12655777fec6839f7070ffcc446e3581b@epcas2p1.samsung.com>
2023-03-31 11:31                                     ` RE: RE(3): " Kyungsan Kim
2023-03-24  0:41               ` RE(2): " Huang, Ying
     [not found]                 ` <CGME20230324084808epcas2p354865d38dccddcb5cd46b17610345a5f@epcas2p3.samsung.com>
2023-03-24  8:48                   ` RE(4): " Kyungsan Kim
2023-03-24 13:46                     ` Gregory Price
     [not found]                       ` <CGME20230331113417epcas2p20a886e1712dbdb1f8eec03a2ac0a47e2@epcas2p2.samsung.com>
2023-03-31 11:34                         ` Kyungsan Kim
2023-03-31 15:53                           ` Gregory Price
     [not found]                             ` <CGME20230405020257epcas2p11b253f8c97a353890b96e6ae6eb515d3@epcas2p1.samsung.com>
2023-04-05  2:02                               ` Kyungsan Kim
2023-03-24 14:55               ` RE(2): " Matthew Wilcox
2023-03-24 17:49                 ` Matthew Wilcox
     [not found]                   ` <CGME20230331113715epcas2p13127b95af4000ec1ed96a2e9d89b7444@epcas2p1.samsung.com>
2023-03-31 11:37                     ` Kyungsan Kim
2023-03-31 12:54                       ` Matthew Wilcox
     [not found]                         ` <CGME20230405020027epcas2p4682d43446a493385b60c39a1dbbf07d6@epcas2p4.samsung.com>
2023-04-05  2:00                           ` Kyungsan Kim
2023-04-05  4:48                             ` Dan Williams
2023-04-05 18:12                               ` Matthew Wilcox
2023-04-05 19:42                                 ` Dan Williams
2023-04-06 12:27                                   ` David Hildenbrand
     [not found]                                     ` <CGME20230407093007epcas2p32addf5da24110c3e45c90a15dcde0d01@epcas2p3.samsung.com>
2023-04-07  9:30                                       ` Kyungsan Kim
     [not found]                   ` <CGME20230331113845epcas2p313118617918ae2bf634c3c475fc5dbd8@epcas2p3.samsung.com>
2023-03-31 11:38                     ` Re: RE(2): " Kyungsan Kim
2023-03-26  7:21               ` Mike Rapoport
2023-03-30 22:03                 ` Dragan Stancevic
2023-04-03  8:44                   ` Mike Rapoport
2023-04-04  4:27                     ` Dragan Stancevic
2023-04-04  6:47                       ` Huang, Ying
2023-04-06 22:27                         ` Dragan Stancevic
2023-04-07  0:58                           ` Huang, Ying
     [not found]                             ` <CGME20230407092950epcas2p12bc20c2952a800cf3f4f1d0b695f67e2@epcas2p1.samsung.com>
2023-04-07  9:29                               ` Kyungsan Kim
2023-04-07 14:35                             ` Dragan Stancevic
     [not found]                       ` <CGME20230405101840epcas2p4c92037ceba77dfe963d24791a9058450@epcas2p4.samsung.com>
2023-04-05 10:18                         ` Kyungsan Kim
     [not found]                 ` <CGME20230331114526epcas2p2b6f1d4c8c1c0b2e3c12a425b6e48c0d8@epcas2p2.samsung.com>
2023-03-31 11:45                   ` RE: RE(2): " Kyungsan Kim
2023-04-04  8:31                     ` Mike Rapoport
2023-04-04 17:58                       ` Adam Manzanares
2023-04-01 10:51                         ` Gregory Price
2023-04-04 18:59                           ` [External] " Viacheslav A.Dubeyko
2023-04-01 11:51                             ` Gregory Price [this message]
2023-04-04 21:09                               ` Viacheslav A.Dubeyko
     [not found]                               ` <642cb7ec58c71_21a829453@dwillia2-xfh.jf.intel.com.notmuch>
2023-04-05  2:34                                 ` Gregory Price
     [not found]                               ` <CGME20230405101843epcas2p2c819c8d60b2a9a776124c2b4bc25af14@epcas2p2.samsung.com>
2023-04-05 10:18                                 ` Kyungsan Kim
2023-03-30 22:02   ` Dragan Stancevic
     [not found]     ` <CGME20230331114649epcas2p23d52cd1d224085e6192a0aaf22948e3e@epcas2p2.samsung.com>
2023-03-31 11:46       ` Kyungsan Kim
     [not found]   ` <CGME20230414084120epcas2p37f105901350410772a3115a5a490c215@epcas2p3.samsung.com>
2023-04-14  8:41     ` FW: " Kyungsan Kim
2023-05-09 18:45       ` MTK

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=ZCgasNpBjtQje8k+@memverge.com \
    --to=gregory.price@memverge.com \
    --cc=a.manzanares@samsung.com \
    --cc=dan.j.williams@intel.com \
    --cc=ks0204.kim@samsung.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=rppt@kernel.org \
    --cc=seungjun.ha@samsung.com \
    --cc=viacheslav.dubeyko@bytedance.com \
    --cc=wj28.lee@samsung.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).