All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@linux.vnet.ibm.com>
To: Pasha Tatashin <Pavel.Tatashin@microsoft.com>
Cc: Daniel Jordan <daniel.m.jordan@oracle.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Aaron Lu <aaron.lu@intel.com>,
	"alex.kogan@oracle.com" <alex.kogan@oracle.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"boqun.feng@gmail.com" <boqun.feng@gmail.com>,
	"brouer@redhat.com" <brouer@redhat.com>,
	"dave@stgolabs.net" <dave@stgolabs.net>,
	"dave.dice@oracle.com" <dave.dice@oracle.com>,
	Dhaval Giani <dhaval.giani@oracle.com>,
	"ktkhai@virtuozzo.com" <ktkhai@virtuozzo.com>,
	"ldufour@linux.vnet.ibm.com" <ldufour@linux.vnet.ibm.com>,
	"paulmck@linux.vnet.ibm.com" <paulmck@linux.vnet.ibm.com>,
	"shady.issa@oracle.com" <shady.issa@oracle.com>,
	"tariqt@mellanox.com" <tariqt@mellanox.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"tim.c.chen@intel.com" <tim.c.chen@intel.com>,
	"vbabka@suse.cz" <vbabka@suse.cz>,
	"longman@redhat.com" <longman@redhat.com>,
	"yang.shi@linux.alibaba.com" <yang.shi@linux.alibaba.com>,
	"shy828301@gmail.com" <shy828301@gmail.com>,
	Huang Ying <ying.huang@intel.com>,
	"subhra.mazumdar@oracle.com" <subhra.mazumdar@oracle.com>,
	Steven Sistare <steven.sistare@oracle.com>,
	"jwadams@google.com" <jwadams@google.com>,
	"ashwinch@google.com" <ashwinch@google.com>,
	"sqazi@google.com" <sqazi@google.com>,
	Shakeel Butt <shakeelb@google.com>,
	"walken@google.com" <walken@google.com>,
	"rientjes@google.com" <rientjes@google.com>,
	"junaids@google.com" <junaids@google.com>,
	Neha Agarwal <nehaagarwal@google.com>,
	Pavel Emelyanov <xemul@virtuozzo.com>,
	Andrei Vagin <avagin@virtuozzo.com>
Subject: Re: Plumbers 2018 - Performance and Scalability Microconference
Date: Thu, 6 Sep 2018 08:49:56 +0300	[thread overview]
Message-ID: <20180906054955.GB27492@rapoport-lnx> (raw)
In-Reply-To: <846ac52b-1839-4aa1-3154-1925c159bf4c@microsoft.com>

Hi,

On Wed, Sep 05, 2018 at 07:51:34PM +0000, Pasha Tatashin wrote:
> 
> On 9/5/18 2:38 AM, Mike Rapoport wrote:
> > On Tue, Sep 04, 2018 at 05:28:13PM -0400, Daniel Jordan wrote:
> >> Pavel Tatashin, Ying Huang, and I are excited to be organizing a performance and scalability microconference this year at Plumbers[*], which is happening in Vancouver this year.  The microconference is scheduled for the morning of the second day (Wed, Nov 14).
> >>
> >> We have a preliminary agenda and a list of confirmed and interested attendees (cc'ed), and are seeking more of both!
> >>
> >> Some of the items on the agenda as it stands now are:
> >>
> >>  - Promoting huge page usage:  With memory sizes becoming ever larger, huge pages are becoming more and more important to reduce TLB misses and the overhead of memory management itself--that is, to make the system scalable with the memory size.  But there are still some remaining gaps that prevent huge pages from being deployed in some situations, such as huge page allocation latency and memory fragmentation.
> >>
> >>  - Reducing the number of users of mmap_sem:  This semaphore is frequently used throughout the kernel.  In order to facilitate scaling this longstanding bottleneck, these uses should be documented and unnecessary users should be fixed.
> >>
> >>  - Parallelizing cpu-intensive kernel work:  Resolve problems of past approaches including extra threads interfering with other processes, playing well with power management, and proper cgroup accounting for the extra threads.  Bonus topic: proper accounting of workqueue threads running on behalf of cgroups.
> >>
> >>  - Preserving userland during kexec with a hibernation-like mechanism.
> > 
> > Just some crazy idea: have you considered using checkpoint-restore as a
> > replacement or an addition to hibernation?
> 
> Hi Mike,
> 
> Yes, this is one way I was thinking about, and use kernel to pass the
> application stored state to new kernel in pmem. The only problem is that
> we waste memory: when there is not enough system memory to copy and pass
> application state to new kernel this scheme won't work. Think about DB
> that occupies 80% of system memory and we want to checkpoint/restore it.
>
> So, we need to have another way, where the preserved memory is the
> memory that is actually used by the applications, not copied. One easy
> way is to give each application that has a large state that is expensive
> to recreate a persistent memory device and let applications to keep its
> state on that device (say /dev/pmemN). The only problem is that memory
> on that device must be accessible just as fast as regular memory without
> any file system overhead and hopefully without need for DAX.
 
Like hibernation, checkpoint persists the state, so it won't require
additional memory. At the restore time, the memory state is recreated from
the persistent checkpoint and of course it's slower than the regular
memory access, but it won't differ much from resuming from hibernation.

Maybe it would be possible to preserve applications state if we extend
suspend-to-RAM -> resume with the ability to load a new kernel during
resume...

> I just want to get some ideas of what people are thinking about this,
> and what would be the best way to achieve it.
> 
> Pavel
> 
> 
> >  
> >> These center around our interests, but having lots of topics to choose from ensures we cover what's most important to the community, so we would like to hear about additional topics and extensions to those listed here.  This includes, but is certainly not limited to, work in progress that would benefit from in-person discussion, real-world performance problems, and experimental and academic work.
> >>
> >> If you haven't already done so, please let us know if you are interested in attending, or have suggestions for other attendees.
> >>
> >> Thanks,
> >> Daniel
> >>
> >> [*] https://blog.linuxplumbersconf.org/2018/performance-mc/
> >>
> > 

-- 
Sincerely yours,
Mike.


  reply	other threads:[~2018-09-06  5:50 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-04 21:28 Plumbers 2018 - Performance and Scalability Microconference Daniel Jordan
2018-09-04 21:28 ` Daniel Jordan
2018-09-05  6:38 ` Mike Rapoport
2018-09-05 19:51   ` Pasha Tatashin
2018-09-06  5:49     ` Mike Rapoport [this message]
2018-09-05 15:10 ` Christopher Lameter
2018-09-05 15:10   ` Christopher Lameter
2018-09-05 16:17   ` Laurent Dufour
2018-09-05 17:11     ` Christopher Lameter
2018-09-05 23:01     ` Thomas Gleixner
2018-09-06  7:45       ` Laurent Dufour
2018-09-06  1:58   ` Huang, Ying
2018-09-06  1:58     ` Huang, Ying
2018-09-06 14:41     ` Christopher Lameter
2018-09-07  2:17       ` Huang, Ying
2018-09-07  2:17         ` Huang, Ying
2018-09-06 21:36     ` Mike Kravetz
2018-09-07  0:52       ` Hugh Dickins
2018-09-08  4:13 ` John Hubbard
2018-09-08  4:13   ` John Hubbard
2018-09-10 17:09   ` Waiman Long
2018-09-10 17:20     ` Davidlohr Bueso
2018-09-10 17:34       ` John Hubbard
2018-09-10 17:34         ` John Hubbard
2018-09-11  0:29         ` Daniel Jordan
2018-09-11  0:29           ` Daniel Jordan
2018-09-11 13:52           ` Waiman Long
2018-09-11  0:38   ` Daniel Jordan

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=20180906054955.GB27492@rapoport-lnx \
    --to=rppt@linux.vnet.ibm.com \
    --cc=Pavel.Tatashin@microsoft.com \
    --cc=aaron.lu@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=alex.kogan@oracle.com \
    --cc=ashwinch@google.com \
    --cc=avagin@virtuozzo.com \
    --cc=boqun.feng@gmail.com \
    --cc=brouer@redhat.com \
    --cc=daniel.m.jordan@oracle.com \
    --cc=dave.dice@oracle.com \
    --cc=dave@stgolabs.net \
    --cc=dhaval.giani@oracle.com \
    --cc=junaids@google.com \
    --cc=jwadams@google.com \
    --cc=ktkhai@virtuozzo.com \
    --cc=ldufour@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=longman@redhat.com \
    --cc=nehaagarwal@google.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=rientjes@google.com \
    --cc=shady.issa@oracle.com \
    --cc=shakeelb@google.com \
    --cc=shy828301@gmail.com \
    --cc=sqazi@google.com \
    --cc=steven.sistare@oracle.com \
    --cc=subhra.mazumdar@oracle.com \
    --cc=tariqt@mellanox.com \
    --cc=tglx@linutronix.de \
    --cc=tim.c.chen@intel.com \
    --cc=vbabka@suse.cz \
    --cc=walken@google.com \
    --cc=xemul@virtuozzo.com \
    --cc=yang.shi@linux.alibaba.com \
    --cc=ying.huang@intel.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 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.