|
From: Edward W. <ew...@ta...> - 2006-10-07 00:13:53
|
>> >> I'm researching ways of adding speculative (or non-speculative) >> parallelism into the translation-run component in Valgrind. > >Can I ask what is the motivation for this? I'm curious... The motivation is actually pretty simple: performance. I'm investigating alternative BB issue techniques and methods for breaking input/output/anti dependencies. The pervasiveness of multi-core makes this very relevant and speculative thread speculation is just _one_ possible technique which enables this. > I don't think you're doing something trivially stupid, rather something that=20 > Valgrind is not at all designed to handle. Valgrind's execution is=20 > deliberately serialised, for reasons described in the first paragraph of=20 > section 2.3.9 in http://www.valgrind.org/docs/phd2004.pdf. I'm surprised it=20 > ran successfully for as long as it did. Sure. I'm in an area where I hear that comment quite often: "this application can't be parallelized". That's often not true if we can identify all the data dependencies, and investigate novel issuing techniques that can break those dependencies. Just curious if you have any ideas as to where this stack exception could be coming from? Any help would be greatly appreciated. I don't have this problem if I do it in QEMU for example, but valgrind makes for a better platform to start from because of its more efficient implementation. Alternatively, I'll be moving back to QEMU if this is just not possible. Many thanks in advance, Ed |