all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Helmut Eller <eller.helmut@gmail.com>
To: "Gerd Möllmann" <gerd.moellmann@gmail.com>
Cc: Eli Zaretskii <eliz@gnu.org>,  Emacs Devel <emacs-devel@gnu.org>
Subject: Re: MPS: Loaded pdump
Date: Thu, 09 May 2024 14:28:43 +0200	[thread overview]
Message-ID: <87le4jp3t0.fsf@gmail.com> (raw)
In-Reply-To: <m2pltvb6lo.fsf@pro2.fritz.box> ("Gerd Möllmann"'s message of "Thu, 09 May 2024 12:52:03 +0200")

On Thu, May 09 2024, Gerd Möllmann wrote:

> I feel more and more that the handling of the loaded pdump with MPS as
> it is now is not sustainable, and would like ask you for your ideas.
>
> What we do now is make the hot part of the dump an ambig root. I don't
> remember the exact numbers, but I think that's about 18 Mb of root. This
> has at least these problems, from my POV:
>
> - It is very large, and every time MPS scans roots, and that is all the
>   time, the world is stopped until it has finished. That's not good for
>   pause times.

Maybe it would be better with the MPS_RM_PROT option.  Do you know which
of the telemetry events could be used to measure this?

I recorded telemetry for the nbody benchmark.  It seems that there are
16 GC flips.  From one TraceFlipBegin event to the next TraceFlipEnd
takes about 32 million cycles (I think the timestamps are cycles, as
returned by rtdsc).  If we assume the clock frequency is 2.5 GHz that
would be about 13 milliseconds per GC flip.  But I don't know what the
events actually mean and whether this includes scanning the pdump.

> This has of course also consequences:
>
> - copying 18 Mb of hot objects + 12 Mb or so of leaf objects to MPS
>   could be slow. No idea if it is. That could impact startup time (not
>   important to me at all, but people have different preferences).

It would certainly be interesting to know how long it takes.

> - copying the graph requires that the copying functions know the layout
>   of Lisp objects so that the functions can exchange references in the
>   old graph to the corresponding ones in the new graph. I'm getting
>   exhausted already from thinking of writing such functions, and we
>   don't have C++ templates to help.

Do we need to know the layout or can we get away with just knowing the
size and the relocation information that the pdump already has?

> - AFAIK, but see admin/igc.org, there is no good way of allocating
>   objects in an old generation, so they will maybe take some time to
>   wander to an older generation.

There is this ramp allocation pattern but it's not exactly what we need.

> Enough rambling.
>
> Ideas, opinions, ...?

Does Open Dylan use MPS in some way to dump/load a large amount of
state?



  parent reply	other threads:[~2024-05-09 12:28 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-09 10:52 MPS: Loaded pdump Gerd Möllmann
2024-05-09 11:00 ` Eli Zaretskii
2024-05-09 11:20   ` Gerd Möllmann
2024-05-09 12:28 ` Helmut Eller [this message]
2024-05-09 13:37   ` Gerd Möllmann
2024-05-09 16:10     ` Helmut Eller
2024-05-09 16:43       ` Gerd Möllmann
2024-05-09 17:57         ` Helmut Eller
2024-05-09 18:10           ` Gerd Möllmann
2024-05-09 13:38 ` Helmut Eller
2024-05-09 14:18   ` Gerd Möllmann
2024-05-09 15:01     ` Helmut Eller
2024-05-09 15:07       ` Gerd Möllmann
2024-05-10  7:59         ` Gerd Möllmann
2024-05-10  8:09           ` Helmut Eller
2024-05-10  8:35             ` Gerd Möllmann
2024-05-10  8:51               ` Helmut Eller
2024-05-10  8:54                 ` Gerd Möllmann
2024-05-10 10:25             ` Eli Zaretskii
2024-05-10 11:31               ` Gerd Möllmann
2024-05-10 12:52                 ` Gerd Möllmann
2024-05-10 13:37                   ` Helmut Eller
2024-05-10 13:59                     ` Gerd Möllmann
2024-05-10 14:31                       ` Helmut Eller
2024-05-10 14:36                         ` Gerd Möllmann
2024-05-13  9:11                   ` Gerd Möllmann
2024-05-14  8:23                     ` Gerd Möllmann
2024-05-14 14:22                       ` Helmut Eller
2024-05-14 15:46                         ` Gerd Möllmann
2024-05-14 17:49                           ` Eli Zaretskii
2024-05-14 18:10                             ` Gerd Möllmann
2024-05-16  4:25                       ` Gerd Möllmann
2024-05-16  8:36                         ` Helmut Eller
2024-05-16  8:46                           ` Gerd Möllmann
2024-05-16  9:01                           ` Gerd Möllmann
2024-05-16  9:31                             ` Helmut Eller
2024-05-16  9:42                               ` Gerd Möllmann
2024-05-16  9:54                                 ` Gerd Möllmann
2024-05-16 12:43                                   ` Helmut Eller
2024-05-16 12:47                                     ` Gerd Möllmann
2024-05-16 12:08                                 ` Eli Zaretskii
2024-05-16 12:27                                   ` Gerd Möllmann
2024-05-16 12:07                               ` Eli Zaretskii
2024-05-16 12:21                                 ` Gerd Möllmann
2024-05-16 12:27                                   ` Eli Zaretskii
2024-05-16 12:43                                     ` Gerd Möllmann
2024-05-16 14:09                         ` Helmut Eller
2024-05-16 14:24                           ` Gerd Möllmann
2024-05-16 15:48                             ` Eli Zaretskii
2024-05-16 16:56                             ` Andrea Corallo
2024-05-16 17:27                               ` Gerd Möllmann
2024-05-16 17:50                                 ` Andrea Corallo
2024-05-16 20:03                                 ` Helmut Eller
2024-05-17  4:04                                   ` Gerd Möllmann
2024-05-17  6:09                                   ` Eli Zaretskii
2024-05-18 18:55                                     ` Helmut Eller
2024-05-18 20:16                                       ` Andrea Corallo
2024-05-19  5:27                                         ` Eli Zaretskii
2024-05-19  3:48                                       ` Gerd Möllmann
2024-05-19  6:39                                         ` Eli Zaretskii
2024-05-09 18:24       ` Gerd Möllmann
2024-05-09 18:35         ` Gerd Möllmann

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=87le4jp3t0.fsf@gmail.com \
    --to=eller.helmut@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=gerd.moellmann@gmail.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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

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.