|
Re: runtime thread execution monitoring (identify cause of hung code)
This bit system is similar to how the LV diagram does execution hilighting. The bits are cleared by the diagram before node code begins, and nodes flip their bit as they execute. But this data structure is problematic on multi-core architecture performance since you get cache coherency issues as each node sprinkle bits as a side-effect of their run. It is still correct, but the overhead of this tracing goes up significantly with parallel cores and especially parallel packages.
Also, can you give more detail on why you don't need a mutex? From your description I can see folks writing a read/modify/write piece of code with no mutex, and getting very confused. Are you using something like __sync_fetch_and_or()?
Greg McKaskle
|