Bas Wijnen | 10 Jan 13:56
Picon
Favicon

Is the list still working?

Hello all,

A happy new year to all of you.

I didn't see any messages on this list lately, and since the archive[0]
doesn't show anything since 21 december either, I'm just checking if something
is broken.

If not, I'd like to take the opportunity to ask Jonathan to respond to my
e-mail from 21 december[1]. :-)

Thanks,
Bas

[0] http://lists.gnu.org/archive/html/l4-hurd/
[1] http://lists.gnu.org/archive/html/l4-hurd/2005-12/msg00045.html

--

-- 
I encourage people to send encrypted e-mail (see http://www.gnupg.org).
If you have problems reading my e-mail, use a better reader.
Please send the central message of e-mails as plain text
   in the message body, not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
For more information, see http://129.125.47.90/e-mail.html
_______________________________________________
L4-hurd mailing list
L4-hurd <at> gnu.org
http://lists.gnu.org/mailman/listinfo/l4-hurd
(Continue reading)

Matheus Morais | 10 Jan 16:57
Picon

Re: Is the list still working?

On 1/10/06, Bas Wijnen <shevek <at> fmf.nl> wrote:

Hello all,

A happy new year to all of you.

I didn't see any messages on this list lately, and since the archive[0]
doesn't show anything since 21 december either, I'm just checking if something
is broken.

If not, I'd like to take the opportunity to ask Jonathan to respond to my
e-mail from 21 december[1]. :-)

Thanks,
Bas

Well, I think the list is ok.

Thanks

Matheus Morais


_______________________________________________
L4-hurd mailing list
L4-hurd <at> gnu.org
http://lists.gnu.org/mailman/listinfo/l4-hurd
Barry deFreese | 11 Jan 01:17
Picon

Re: Is the list still working?

Bas Wijnen wrote:
> Hello all,
> 
> A happy new year to all of you.
> 
> I didn't see any messages on this list lately, and since the archive[0]
> doesn't show anything since 21 december either, I'm just checking if something
> is broken.
> 
> If not, I'd like to take the opportunity to ask Jonathan to respond to my
> e-mail from 21 december[1]. :-)
> 
> Thanks,
> Bas
> 

Bas,

The list is still working, are you? ;-)

Happy New Year everyone.

bddebian
Stuck in a mire of "real work" :-(
Bas Wijnen | 11 Jan 14:02
Picon
Favicon

Re: Is the list still working?

On Tue, Jan 10, 2006 at 07:17:05PM -0500, Barry deFreese wrote:
> The list is still working, are you? ;-)

I am indeed. :-)  In some of my limited free time I'm currently trying to
write a library for persistent applications, so I get a better feeling for
what persistence is.  The idea is to create applications which checkpoint
themselves every now and then, can be aborted at any time (or made to
checkpoint-and-abort as an atomic operation), and when restarted continue from
their last checkpoint.  I'm trying to design the database in a way that it is
possible to "restart" the program with a new version of it, possibly keeping
open the file descriptors so it doesn't even suffer from closed connections.

At first I thought I needed transactions to be able to do all this sensibly,
but now I'm not sure so I'll think a bit more about that.  If I don't need
them, I may still want them, I have to think about that as well. :-)

Some questions for you people:
Marcus: I remember that you were planning to give an overview of what would be
your choice of direction for the Hurd-on-some-new-kernel project.  When do you
expect that to happen?
Jonathan: I think you wanted a coyotos prototype ready by the end of last year
(but you spend too much time on this list to make that).  When do you expect
to have something that can be used for testing?
Does anyone have any idea when the two new L4 kernels (L4ng and L4.sec) will
have a (prototype) release?
Do we all agree that the design principles Marcus came up with are good?  Do
we need any others?

I hope this is enough to get some discussion going again, and perhaps even
some progress. :-)

Thanks,
Bas

--

-- 
I encourage people to send encrypted e-mail (see http://www.gnupg.org).
If you have problems reading my e-mail, use a better reader.
Please send the central message of e-mails as plain text
   in the message body, not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
For more information, see http://129.125.47.90/e-mail.html
_______________________________________________
L4-hurd mailing list
L4-hurd <at> gnu.org
http://lists.gnu.org/mailman/listinfo/l4-hurd
Jonathan S. Shapiro | 12 Jan 01:12
Favicon
Gravatar

Re: Is the list still working?

On Tue, 2006-01-10 at 13:56 +0100, Bas Wijnen wrote:
> [1] http://lists.gnu.org/archive/html/l4-hurd/2005-12/msg00045.html

Bas:

I'm not sure which question specifically you want an answer to, but I
think we are about to send out a concrete design for pinning, and I
suggest that we should refocus our discussion around that.

sha
Jonathan S. Shapiro | 12 Jan 01:14
Favicon
Gravatar

Re: Is the list still working?

On Wed, 2006-01-11 at 14:02 +0100, Bas Wijnen wrote:

> Jonathan: I think you wanted a coyotos prototype ready by the end of last year
> (but you spend too much time on this list to make that).  When do you expect
> to have something that can be used for testing?

I have learned never to answer these questions. Too much of my time is
not mine to allocate. I can say that I'm going as fast as I can.

shap
Ludovic Courtès | 12 Jan 14:18
Picon
Picon
Favicon

Implementing persistence

Hi,

Bas Wijnen <shevek <at> fmf.nl> writes:

> I am indeed. :-)  In some of my limited free time I'm currently trying to
> write a library for persistent applications, so I get a better feeling for
> what persistence is.  The idea is to create applications which checkpoint
> themselves every now and then, can be aborted at any time (or made to
> checkpoint-and-abort as an atomic operation), and when restarted continue from
> their last checkpoint.  I'm trying to design the database in a way that it is
> possible to "restart" the program with a new version of it, possibly keeping
> open the file descriptors so it doesn't even suffer from closed connections.

Did you look at libckpt[0] and similar libraries (ad: I once wrote
pego[1] which produces /portable/ checkpoints, unlike libckpt, but I'm
not sure it's interesting in this case ;-))?

File descriptors and capabilities are the main issue since they are
bound to state that is /external/ to the application (be it in the
kernel or in a server).  In Fluke, the authors argue[2] that kernel
state should be exportable to allow for the implementation of user-level
checkpointing.  However, in a multi-server system, application state is
spread across a bunch of servers which would all have to make their
state exportable.  But from the server viewpoint, restoring complex
state from an untrusted source is not a reasonable thing.

Furthermore, a protected capability system does not allow the disclosure
of the "bit representation" of capabilities[3], so checkpointing
capabilities themselves is a meaningful way is not something
applications can do on their own.

In EROS, the whole system (kernel - drivers + all the processes) is
persistent, so there is, I think, no such problem: each checkpoint
contains everything that's needed to restore the whole thing.  The issue
of restoring capabilities and their associated state arises when trying
to make only part of the processes persistent.

One solution would consist in logging all the interactions between the
persistent world and the non-persistent world in order to replay them
upon recovery, but that's quite ugly IMO.  Instead, maybe special
support from the capability system could solve that.

Good luck, and best wishes!  ;-)

Ludovic.

[0] http://www.cs.utk.edu/~plank/plank/www/libckpt.html
[1] http://www.laas.fr/~lcourtes/software/ego/
[2] http://www.cs.utah.edu/flux/papers/iwooos96-flobs.ps.gz
[3] http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00010.html
Bas Wijnen | 12 Jan 14:40
Picon
Favicon

Re: Implementing persistence

On Thu, Jan 12, 2006 at 02:18:16PM +0100, Ludovic Court?s wrote:
> Did you look at libckpt[0] and similar libraries (ad: I once wrote
> pego[1] which produces /portable/ checkpoints, unlike libckpt, but I'm
> not sure it's interesting in this case ;-))?

I didn't look at anything yet, I just tried some things and thought about it.
But I'll have a look at those, thanks for the pointers.

> File descriptors and capabilities are the main issue since they are
> bound to state that is /external/ to the application (be it in the
> kernel or in a server).  In Fluke, the authors argue[2] that kernel
> state should be exportable to allow for the implementation of user-level
> checkpointing.

I didn't read the referenced article yet, but I don't agree in principle.  One
of the cool results of checkpointing would IMO be that you can move your
application to some other place, where it will continue where you left off.
This is not possible if the state is well recorded, only when it is rebuilt.

> However, in a multi-server system, application state is
> spread across a bunch of servers which would all have to make their
> state exportable.  But from the server viewpoint, restoring complex
> state from an untrusted source is not a reasonable thing.

For the moment I'm limiting things to single process single threaded stuff.
When adding multi-process, I think I'd need transaction support to make sure I
get consistent checkpoints.  I want to keep it simple at first, and I already
noticed that it's hard enough anyway.

> Furthermore, a protected capability system does not allow the disclosure
> of the "bit representation" of capabilities[3], so checkpointing
> capabilities themselves is a meaningful way is not something
> applications can do on their own.

Capabilities are owned by the kernel, so indeed the application cannot
checkpoint them.  I will not try to do that, either.  They will have to be
provided to the application when it boots.  Note that for this it doesn't mean
if the OS is persistent, the only difference is that it won't boot very often
on a persistent system (except if you want to upgrade to a newer version of
the application, for example).

> In EROS, the whole system (kernel - drivers + all the processes) is
> persistent, so there is, I think, no such problem: each checkpoint
> contains everything that's needed to restore the whole thing.

That simply means that the process is not shut down when the power goes down.
It doesn't mean the process is persistent in the sense that it can continue
where it left off after it was killed (that is, the process was destroyed and
is restarted).  That's the kind of persistence I'm talking about here.  I
think it would be useful on any system, persistent or not.

> The issue of restoring capabilities and their associated state arises when
> trying to make only part of the processes persistent.

It arises in any situation where the process must restart without the ability
to pass capabilities from the old to the new version.

> One solution would consist in logging all the interactions between the
> persistent world and the non-persistent world in order to replay them
> upon recovery, but that's quite ugly IMO.

Very.  I'm not going to implement that. :-)

> Instead, maybe special support from the capability system could solve that.

For the moment I'm not concerning myself with capabilities.  I just assume I
get all the rights I need when starting up.  If that turns out not to be the
case, startup should fail.  At the moment I'm writing things on GNU/Linux, and
the kind of applications I write for now use only stdin/stdout, so it isn't an
issue yet anyway. :-)

> Good luck, and best wishes!  ;-)

Thanks!
Bas

--

-- 
I encourage people to send encrypted e-mail (see http://www.gnupg.org).
If you have problems reading my e-mail, use a better reader.
Please send the central message of e-mails as plain text
   in the message body, not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
For more information, see http://129.125.47.90/e-mail.html
_______________________________________________
L4-hurd mailing list
L4-hurd <at> gnu.org
http://lists.gnu.org/mailman/listinfo/l4-hurd
Ludovic Courtès | 13 Jan 10:03
Picon
Picon
Favicon

Re: Implementing persistence

Hi,

Bas Wijnen <shevek <at> fmf.nl> writes:

> For the moment I'm not concerning myself with capabilities.  I just assume I
> get all the rights I need when starting up.  If that turns out not to be the
> case, startup should fail.  At the moment I'm writing things on GNU/Linux, and
> the kind of applications I write for now use only stdin/stdout, so it isn't an
> issue yet anyway. :-)

By "capabilities", I also meant "file descriptors".  Sure, FDs 0 to 2
are always granted, but that's not the case for the other FDs.

BTW, Emacs also has an `unexec' feature which might be of interest:
http://cvs.savannah.gnu.org/viewcvs/emacs/emacs/src/unexec.c?rev=1.40&view=auto .

Cheers,
Ludovic.
Bas Wijnen | 13 Jan 17:02
Picon
Favicon

Re: Is the list still working?

On Wed, Jan 11, 2006 at 07:12:44PM -0500, Jonathan S. Shapiro wrote:
> On Tue, 2006-01-10 at 13:56 +0100, Bas Wijnen wrote:
> > [1] http://lists.gnu.org/archive/html/l4-hurd/2005-12/msg00045.html
> 
> I'm not sure which question specifically you want an answer to,

In that e-mail and the e-mails before it, I described a memory management
system which would allow a high degree of self-paging.  I think this would be
a very good idea.  I got the impression that your plans would allow much less
of it, so I was hoping to convince you and make you change your plans a bit.
:-)

So the real question is: Do you think the proposal would be a good idea?  If
not, and you want something which doesn't support self-paging instead, don't
you think that's a severe limitation?

> but I think we are about to send out a concrete design for pinning, and I
> suggest that we should refocus our discussion around that.

I look forward to it.

Thanks,
Bas

--

-- 
I encourage people to send encrypted e-mail (see http://www.gnupg.org).
If you have problems reading my e-mail, use a better reader.
Please send the central message of e-mails as plain text
   in the message body, not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
For more information, see http://129.125.47.90/e-mail.html
_______________________________________________
L4-hurd mailing list
L4-hurd <at> gnu.org
http://lists.gnu.org/mailman/listinfo/l4-hurd

Gmane