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
> 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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk