|
Boost : |
Subject: Re: [boost] Cache flushing in the constructors
From: Sid Sacek (ssacek_at_[hidden])
Date: 2010-08-04 11:46:08
> How familiar are you with the term ccNUMA? As I'm not too familiar
> with it myself, I just did a quick look up at Wikipedia
> (<http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access>):
> Cache coherent NUMA (ccNUMA)
> Regards, Thomas
I wasn't familiar with the term and so I read that article. I believe I understand that it's implying that motherboards used in mainstream computers use cache-coherency hardware in order to enforce the 'ccNUMA' architecture.
If all motherboards used this ccNUMA architecture, I don't think there would ever be a problem.
However, I'm under the impression that boost targets CPU's; not ccNUMA-based motherboards.
I can see the possibility that a "Weak Memory Model CPU" is being used in an embedded scenario, and not having a ccNUMA architecture. I don't know if it's still realistic for that hardware to still be using boost at that point, but I suppose it's possible.
My 'take away' from this is that if the programmer knows the hardware doesn't handle cache-coherency, and the code is using boost classes, the programmer has to make special provisions to deal with potential problems by surrounding constructor calls with fences.
Thanks,
-Sid
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk