Suppose I have an arbitrary number of threads that need to read from different memory locations. What parameters do I need to estimate the maximum number of threads that can do this simultaneously without bus contention? Where can this information be found for commercially available hardware?
Asked
Active
Viewed 37 times
0
-
1That depends too much on cache design, sizes, configuration, OS memory management and the locations addressed to be answerable on SO. – Martin James May 13 '21 at 06:42
-
Is there a rule of thumb or average for commercial hardware? – lubriderm May 13 '21 at 21:03
-
Not really, no. – Martin James May 13 '21 at 21:36
-
Is there a way to measure when contention occurs? If I start with 1 thread and progressively increase the number of threads, is there a way to know? – lubriderm May 13 '21 at 22:11
-
I don't know. Bus contention has not surfaced as a performance constraint on any app that I have developed, so I have not researched it. I don't use multiple threads to specifically improve data processing throughput - I use them to logically seperate blocks of asynchronous functionality. – Martin James May 14 '21 at 05:36