Re: [RFC v2][PATCH 4/9] Memory management - dump state

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Cedric Le Goater
Date: Sunday, August 31, 2008 - 10:34 am

Oren Laadan wrote:

thanks. We do need a moderator and federator.


hmm, yes and no.

fd's are a must have but I would be more interested to see an external
checkpoint/restart and signal support first. why ? because it would be 
already usable for most computational programs in HPC, like this stupid 
one :

	https://www.ccs.uky.edu/~bmadhu/pi/pi1.c

signals are required because it's how 'load' and/or 'system' managers
interact with the jobs they spawn. external checkpoint/restart for the
same reason.

for files, I would first only care about stdios (make sure they're 
relinked to something safe on restart) and file states of regular files. 
contents is generally handled externally (deleted files being an annoying 
exception)

then, support for openmp application is a nice to have, so I'd probably 
go on with thread support.


shared resources are only useful in a multiprocess/multitask context. 
I'd start working on this first. here we jump directly in the pid namespace
issues, how we start a set of process in a pidnamespace ? how do we 
relink it to its parent pidnamespace ? are signals well propagated ? etc. 
but hey, we'll have to solve it one day.

FD's are shared but have many types which are pain to handle. (it would 
interesting to see if we can add checkpoint() and restart() operations in 
fileops) So, for shared resources demonstration, I'd work on sysvipc, 
there are less types to handle and they force us to think how we are going 
to merge with the sysvipc namespaces. 


hmm, that depends how you do it.

If you restart all the hierarchy in the kernel, It will increase for sure 
the patch footprint. However if you restore the hierarchy from user space 
and then let each process restore itself from some binary blob, it should
not. This, of course, means that the binary blob representing the state of 
the container (we call it statefile) is not totally opaque. It see it a bit 
like  /proc, a directory containing shared states (all namespaces) and tasks 
states. That's something to discuss.

I do prefer the second option for many reasons: 

. each process restarts itself from its current context, this makes it easier 
  to reuse kernel services depending on current. 

. user tools can evaluate more precisely what they are going to restart from 
  the statefile. see this as a generalised 'readelf' that would be run on 
  the statefile, like we do on a core file today.
   


IHMO, the first one is to support a 'basic' computational program in 
a real environment (under a load manager HPC). your POC nearly reaches
it but the user space API (how to launch, checkpoint, restart) needs to 
be worked on.


There are some big steps in the development.

Multi-task is a big step which opens plenty of other big steps with
shared resources : mem, ipc, fds, etc. Not all have to be solved
but at least detected if we don't have the support.

Network is another one. This is an interesting step to support 
distributed application using MPI over TCP. May be a priority.

there are also plenty of funky kernel resources used by misc servers,
database that will need special attention.



I'll be happy to start with the basic menu first as I know that it will
be useful for many applications ! 

Thanks,

C.
 
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC v2][PATCH 1/9] kernel based checkpoint-restart, Oren Laadan, (Wed Aug 20, 7:58 pm)
[RFC v2][PATCH 3/9] x86 support for checkpoint/restart, Oren Laadan, (Wed Aug 20, 8:04 pm)
[RFC v2][PATCH 4/9] Memory management - dump state, Oren Laadan, (Wed Aug 20, 8:05 pm)
[RFC v2][PATCH 5/9] Memory managemnet - restore state, Oren Laadan, (Wed Aug 20, 8:05 pm)
[RFC v2][PATCH 7/9] Infrastructure for shared objects, Oren Laadan, (Wed Aug 20, 8:06 pm)
[RFC v2][PATCH 8/9] File descriprtors - dump state, Oren Laadan, (Wed Aug 20, 8:07 pm)
[RFC v2][PATCH 9/9] File descriprtors (restore), Oren Laadan, (Wed Aug 20, 8:07 pm)
Re: [RFC v2][PATCH 1/9] kernel based checkpoint-restart, Oren Laadan, (Wed Aug 20, 10:15 pm)
Re: [RFC v2][PATCH 9/9] File descriprtors (restore), Oren Laadan, (Wed Aug 20, 10:26 pm)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Ingo Molnar, (Thu Aug 21, 12:30 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Justin P. Mattock, (Thu Aug 21, 1:01 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Louis Rilling, (Thu Aug 21, 2:53 am)
Re: [RFC v2][PATCH 5/9] Memory managemnet - restore state, Louis Rilling, (Thu Aug 21, 3:07 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Balbir Singh, (Thu Aug 21, 3:28 am)
Re: [RFC v2][PATCH 7/9] Infrastructure for shared objects, Louis Rilling, (Thu Aug 21, 3:40 am)
Re: [RFC v2][PATCH 8/9] File descriprtors - dump state, Louis Rilling, (Thu Aug 21, 4:06 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Ingo Molnar, (Thu Aug 21, 4:59 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Dave Hansen, (Fri Aug 22, 1:37 pm)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Oren Laadan, (Fri Aug 22, 2:21 pm)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Oren Laadan, (Sat Aug 23, 10:40 pm)
Re: [RFC v2][PATCH 8/9] File descriprtors - dump state, Oren Laadan, (Sun Aug 24, 8:28 pm)
Re: [RFC v2][PATCH 8/9] File descriprtors - dump state, Louis Rilling, (Mon Aug 25, 3:30 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Dave Hansen, (Tue Aug 26, 9:33 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Oren Laadan, (Tue Aug 26, 5:14 pm)
Re: [RFC v2][PATCH 7/9] Infrastructure for shared objects, Louis Rilling, (Wed Aug 27, 1:26 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Dave Hansen, (Wed Aug 27, 8:41 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Louis Rilling, (Wed Aug 27, 8:57 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Dave Hansen, (Wed Aug 27, 9:12 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Jeremy Fitzhardinge, (Wed Aug 27, 9:19 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Serge E. Hallyn, (Wed Aug 27, 1:34 pm)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Dave Hansen, (Wed Aug 27, 1:38 pm)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Serge E. Hallyn, (Wed Aug 27, 1:48 pm)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Dave Hansen, (Wed Aug 27, 1:56 pm)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Oren Laadan, (Sun Aug 31, 12:16 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Cedric Le Goater, (Sun Aug 31, 10:34 am)
Re: [RFC v2][PATCH 4/9] Memory management - dump state, Serge E. Hallyn, (Tue Sep 2, 8:32 am)