From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 15 Jul 2011 17:15:35 +0200 From: tlaronde@polynum.com To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <20110715151535.GA2405@polynum.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Subject: [9fans] NUMA Topicbox-Message-UUID: 01a94184-ead7-11e9-9d60-3106f5b1d025 This a generic question and not peculiar to plan9. In my main software (KerGIS), there are often two versions of the data. One version is saved, in a filesystem, in a portable format (size of int and float defined; endianness defined) so that the data can be served by a fileserver and used by whatever kind of CPU. In memory, the structures used to manage processing, and the data itself, are as expected by the CPU as a result of the C types used and the compilation. Writing down an explanation about the differences between the on file saved version, and the runtime structures, I wrote that portable was for sharing between whatever CPU architectures, while the in memory was fitting a particular architecture because the memory is tightly coupled to the cores and not shar... Oups! Hence the question. In my limited view and knowledge on this subject, an elemetary CPU (an atom) is not only a processing unit, but also the main memory tightly coupled with it by some main bus. I guess that the main NUMA _hardware_ are composed of same architecture cores, and there is no mix with different cores architecture. But there are also "software" NUMA. Even if I don't plan at all to change this runtime "localization"---so the question is a theoretical one---are there systems designed for migrating portions of main memory between different architecture cores? Thanks for any lesson. -- Thierry Laronde http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C