From: "EBo" <ebo@sandien.com>
To: "Jakob Engblom" <jakob@virtutech.com>, <ebo@sandien.com>,
"'Edward Peschko'" <horos11@gmail.com>,
<gdb@sourceware.org>
Subject: RE: reverse trace [was: vmware's replay framework and gdb]
Date: Thu, 06 Nov 2008 17:01:00 -0000 [thread overview]
Message-ID: <twig.1225990849.39737@swcp.com> (raw)
In-Reply-To: <005f01c93ff9$83b31cd0$8b195670$@com>
One of the reasons I was thinking of relational databases was that they can
deal with the volume and put whatever the decide to cache into dis instead of
memory (but maybe you were thinking disk space when you said memory anyway).
Besides compression of data stream there is also the possibility of only
caching at certain sync points and tracing between sync points you have to
regenerate the temp variables, etc. Like I said, I was just brain storming
here. I had no idea how far things had gotten along the lines of
Chronomancer/Chronicle.
Regardless of how it eventually ends up working, it is going to either use a
LOT of space, or a lot of CPU power to recreate.
Cheers,
EBo --
Jakob Engblom <jakob@virtutech.com> said:
> Well, the amonut of data we are talking about is very very large. Recording a
> complete execution trace very quickly eats up memory.
>
> If you look at what Lauterbach and GreenHills have in their hardware-based
> reverse debuggers, it is essentialy that: a recording of execution step by step.
> Using some very clever compression techniques, they can put a few hundred
> million clock cycles of instructions into a gigabyte-level memory in their trace
> boxes. You need to consider a data need for well over 32 bits per instruction.
>
> Even quite trivial workloads quickly build up tens of gigabytes of data if you
> trace all, and that means that you are basically doing something that is more
> expensive than high-def video in terms of data rates.
>
> Pushing that into a database is not really feasible for any real world scenario
> involving multiple gigahertz-level processors crunching real code and not
> idling.
>
> That's why the solutions to reversing from VmWare and Virtutech both hinge on
> deterministic replay rather than complete recording -- it is far cheaper to go
> back and reconstruct the state at some point in time than trying to store it.
>
> If you also include fnu things like memory state, I/O system state changes,
> graphics memory, etc. it is clear why this is the only sensible thing to do.
>
> > So, if you are willing to do a little brainstorming along these lines the
> > following questions arise:
> >
> > *) is there some easy way to get the symbol table and integrate that info back
> > into gdb and associate the variables/memory blocks with each line of code?
> >
> > *) is there some computationally inexpensive way to trap memory changes and
> > associate the timing with source lines and execution times?
> >
> > Once all this information is funneled through a relational database, you can
> > then either grab the current state of each variable or reconstruct it on the
> fly.
> >
> > Just an idea, and I hope this kind of speculative response is considered
> > acceptable to the group.
>
> Have been thinking along he same lines, but the volume really is a killer here.
>
>
> /jakob
>
>
>
>
--
next prev parent reply other threads:[~2008-11-06 17:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-05 19:05 vmware's replay framework and gdb Edward Peschko
2008-11-06 1:02 ` reverse trace [was: vmware's replay framework and gdb] EBo
2008-11-06 4:45 ` Thiago Jung Bauermann
2008-11-06 5:10 ` EBo
2008-11-06 10:22 ` Jakob Engblom
2008-11-06 17:01 ` EBo [this message]
2008-11-06 17:09 ` Jakob Engblom
2008-11-06 1:21 ` vmware's replay framework and gdb Michael Snyder
2008-11-06 10:25 ` Jakob Engblom
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=twig.1225990849.39737@swcp.com \
--to=ebo@sandien.com \
--cc=gdb@sourceware.org \
--cc=horos11@gmail.com \
--cc=jakob@virtutech.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