Alexander Terekhov wrote: > Pavel Vasiliev wrote: > [...] >> I really think that having the only mutex for all short smart >> pointer-related interlocked operations will not harm performance of >> real-life applications in mp systems. In my code this mutex is used >> only for really short operations like "lock, increment, save to >> temporary, unlock, test the temporary". It is hard to imagine that >> contention will often occur for so short operations.
> Well, "raw" contention aside, with "ping-pong" I mean that with your > design clients might rather quickly get into trouble with respect to > "false sharing" effect(s) -- writing to "cache line" that is also > held by another processor. The problem here is rather expensive > communications needed to invalidate the other processor's cache-line, > feed it with "up-to-date" data [that's most likely an additional > "slow trip" to memory], etc. Well, you might want to take a look at: > < "Performance Management Guide" [AIX 5L Version 5.1] > > >http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixbman/prftungd/2365c31.htm#HDRI42667 > (Lock Granularity) > >http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixbman/prftungd/2365c31.htm#HDRI26126 > (Cache Coherency) > >http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixbman/prftungd/2365c33.htm#HDRI14109 > (Multiprocessor Throughput Scalability) > < etc. "general" stuff from this publication > Thank you! I'll probably have more suggestions after reading these articles. Pavel _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost