instrumentation tools choice for detailed simulator

25 views
Skip to first unread message

hftsin

unread,
Apr 22, 2012, 11:51:04 PM4/22/12
to DynamoRIO Users
Hi all,

I am hacking a detailed x86 simulator. I need to employ binary
instrumentation tools to obtain program running trace thus I will feed
it to the simulator engine. However, for Intel PIN and DynamoRIO, I am
not sure which one can fits my requirement. The performance of
instrumentation is important to me, then which one is better? Can you
give any suggestions?

Thanks,
Hanfeng

Timur Iskhodzhanov

unread,
Apr 23, 2012, 10:17:00 AM4/23/12
to dynamor...@googlegroups.com
Hi Hanfeng,

How large are the apps you want to run under the simulator?
An empty PIN client (= no valuable instrumentation) takes about a
minute to start Chrome, for example...
If app loading speed is a concern for you, personally I'd recommend to
stick with DR.

--
Timur

> Thanks,
> Hanfeng
>
> --
> You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.
> To post to this group, send email to dynamor...@googlegroups.com.
> To unsubscribe from this group, send email to dynamorio-use...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/dynamorio-users?hl=en.
>

Qin Zhao

unread,
Apr 23, 2012, 10:58:38 AM4/23/12
to dynamor...@googlegroups.com
If you care about performance, I would say go for DR.

Qin
--
Interested in Yoga? Be careful of The Yoga Cult or The Scary Yoga Obsession.
More information from  Lorie Anderson and Rick Ross.

hftsin

unread,
Apr 24, 2012, 8:44:55 AM4/24/12
to dynamor...@googlegroups.com
Hi Timur,

Thanks for your suggestions.

Specifically, I need to feed the simulator with program trace on the fly instead of offline trace generation. Dynamic trace feeding has been implemented in CMP$im which is based on PIN. Can DR meet this requirement?

To save simulation time, I would select representative code regions as program trace input. But the data set may be another problem. Can DR performs well for large data set?

Best,
Hanfeng

On Monday, April 23, 2012 10:17:00 PM UTC+8, Timur Iskhodzhanov wrote:
On Mon, Apr 23, 2012 at 7:51 AM, hftsin <hanfen...@gmail.com> wrote:
> Hi all,
>
> I am hacking a detailed x86 simulator. I need to employ binary
> instrumentation tools to obtain program running trace thus I will feed
> it to the simulator engine. However, for Intel PIN and DynamoRIO, I am
> not sure which one can fits my requirement. The performance of
> instrumentation is important to me, then which one is better? Can you
> give any suggestions?
Hi Hanfeng,

How large are the apps you want to run under the simulator?
An empty PIN client (= no valuable instrumentation) takes about a
minute to start Chrome, for example...
If app loading speed is a concern for you, personally I'd recommend to
stick with DR.

--
Timur

> Thanks,
> Hanfeng
>
> --
> You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.

> To post to this group, send email to dynamorio-users@googlegroups.com.
> To unsubscribe from this group, send email to dynamorio-users+unsubscribe@googlegroups.com.

Reid Kleckner

unread,
Apr 24, 2012, 8:55:19 AM4/24/12
to dynamor...@googlegroups.com
I would say that running a large *codebase* can be slow, but running an app over lots of data is typically quite fast.

For example, DR without any instrumentation can run bzip2 from SPEC2k6 at near native speeds over large files.

However, launching Chrome under plain DR (no client/tool) has a ~2x slowdown, because it has so much code, as well as the fact that it uses self-modifying code.  (Not sure if that number is quite right.)

Reid

To view this discussion on the web visit https://groups.google.com/d/msg/dynamorio-users/-/6YB_CLepjhIJ.

To post to this group, send email to dynamor...@googlegroups.com.
To unsubscribe from this group, send email to dynamorio-use...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages