- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi there,
Im currently evaluating the Linux version of VTune Amplifier (build 186533), here is my setup:
- Intel VTune Amplifier XE 2011 for Linux
- Ubuntu 10.10
- Core i5 M560
- Gcc 4.4.5
Ive tried using User Event API to identify a few events in my multi-process application, at first sight this seems to work fine, but when looking more closely at the timeline, I noticed that events and cpu usage between two different processes are sometime shifted.
I reproduced this issue with a simple application, that execute the following:
- Create a unix domain socket pairs
- Fork into two processes
- First process execute:
o Socket read (blocking)
o User event RX
- Second process execute:
o User event TX
o Send data to socket
Using Amplifier concurrency analysis (or lock and waits analysis), I observe that the event RX happens before the event TX, which is clearly impossible (the shift is about 100 microseconds). I couldnt reproduce the issue with two threads instead of two processes, so I suspect the problem is related to processes.
I attached the source code reproducing the issue and a screenshot of amplifier showing the problem.
Best regards,
Stphan Rafin
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've compiled your sample on a similar setup, but with different CPU:
- Ubuntu 10.10 x64
- gcc 4.4.5
- Intel Xeon CPU E31280
- Intel VTune Amplifier XE 2011 update 5
The things seem to work fine, I couldn't reproduce your problem. The event sequence is the following:
child TX -> parent RX -> parent TX -> child RX
Are you able to try it on another machine? Also, could you please attach your result folder?
Regards,
Kirill
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Many thanks for your feedback.
First I am sorry but our trial version has just expired and we are unable to run additional tests on another computer for now. Yet here is the raw results archive (which is attached to this post).
I also have to be a little more precise regarding this "time shift"
In fact, the events are not always in reverse order : It seems that timestamps are not based on the exact same clock source between processes and we have a kind of jitter : From times to times the receive event appears before the send event (which is of course impossible) and some other times it is in a correct chronological order...
Again, Many thanks for your answer and support...
Best regards,
Stphan
PS : On your screenshot, you seem to use Amplifier on a windows OS (windows style looks like win7 or win vista) : I suppose you ran the test on ubuntu then displayed the results on windows : May the issue be related to display ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The time difference is quite small, yes, this can be due to some jitter. I'll talk to developers about this and come back to you if I get some news.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page