Software Archive
Read-only legacy content
17061 Discussions

User Event API datation

St__233_phan_Rafin
895 Views

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

0 Kudos
4 Replies
Kirill_R_Intel
Employee
895 Views
Hello Stephan,

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
0 Kudos
St__233_phan_Rafin
895 Views
Hi Kirill,

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 ?


0 Kudos
Kirill_R_Intel
Employee
895 Views
You are right, I open the results from Ubuntu on Windows, this is more convenient for me. When I open your result on Windows, I see exactly what is on your screenshot, this is not some OS-specific display issue.

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.
0 Kudos
St__233_phan_Rafin
895 Views
Any news regarding this datation issue ?
0 Kudos
Reply