Linux Gains Support for NUMA 143
soosterh writes "CNet has an article about a NUMA patch from IBM. It says that the improvement adds some support in Linux for nonuniform memory access, or NUMA, a design for higher-end servers with many processors. Linus Torvalds, the original creator of the operating system and still its top authority, accepted the update this month into version 2.5, the current test version of the software."
Isn't there some other numa stuff already in? (Score:5, Insightful)
Re:Isn't there some other numa stuff already in? (Score:3, Informative)
Re:Isn't there some other numa stuff already in? (Score:4, Informative)
(BTW. Everyone should subscribe to LWN. It's an exceptional value)
Re:Isn't there some other numa stuff already in? (Score:1, Interesting)
And how does this relate to SGI? (Score:3, Interesting)
32/64 (Score:1)
Re:32/64 (Score:3, Informative)
Also, I seriously doubt if any desktop machine will use NUMA; it's primarily about systems which use system boards, where there are CPUs & RAM on a board which slots into the system & a CPU can access memory on a local board faster than that on other boards. Desktops tend to use one "system board" (i.e. the motherboard) so there isn't the difference in speed for accessing the data.
Re:32/64 (Score:3, Informative)
That is an incredibly naive comment. NUMA systems have been around for quite a while (think Sequent), the current generation of IBM x440 are NUMA. These are all 32-bit Intel architectures.
This patch didn't even address memory, it only dealt with scheduling processes anyway.
SGI's systems (was Re:32/64) (Score:3, Informative)
Origin [sgi.com]
Altix [sgi.com]
Imagine a beowulf... (Score:4, Informative)
Re:Imagine a beowulf... (Score:1)
A) Where this patch has come from
B) What the guts of the p690 look like
C) What the guts of the x440 look like
Death of AIX predicted. Film at 11.
Re:Imagine a beowulf... (Score:2)
Give Linux running on such boxes better process affinity and this could very well cause Solaris to be the OS that needs to catch up. Process affinity on E12K systems is simply attrocious.
That is why I've been following the lastest SGI developments in this area with some anticipation.
Re:Imagine a beowulf... (Score:2)
And AMD... (Score:5, Informative)
Re:And AMD... (Score:5, Insightful)
Re:And AMD... (Score:2)
Re:A lot of talk about NUMA (Score:4, Informative)
That said, I'll give you a hint: non-uniform memory access. If you've got a computer that uses different banks of memory as a single physical address space, then that computer has a NUMA architecture.
If you want to maintain cache coherency across a NUMA system, you have to employ some tricks. These tricks are sufficiently complex to warrant their own name: ccNUMA.
Re:A lot of talk about NUMA (Score:1)
Whereas everyone in Asshatlandia is wise and good and would never be mean and bad like us bad and mean Americans.
Re:A lot of talk about NUMA (Score:1)
Like being able to ignore the speed diffrerences (although they affect perormance).
ram question then (Score:1)
thanks in advance to yon knowledgeable ones
Re:ram question then (Score:1)
Re:ram question then (Score:3, Interesting)
Of course, actually doing this would involve jumping through a few hoops, and I have to think hard to come up with situations why this would be the way to go.
Gees, any MB I've bought in the last several years can take more RAM than I'm willing to buy for it. I wonder what kind of memory limits the OP was asking about.
Re:ram question then (Score:4, Informative)
However, the main way you might be able to add RAM over and above the MB limit is via some kind of PCI card with DIMMS on it. I'm not sure how that would work over PCI (even 66MHz/64bit) or how it would work at a lower level, but it might get by some limits. The limits OP was asking about may be of the order of trying to get over 1GB of RAM for some simulation code. Of course if you need over 1GB of RAM, buy a system which supports it.
In any event, from what people are saying, the NUMA patch is a change to the scheduler, to ensure that processes run on the CPU nearest the RAM bank storing the data. I don't think it addresses trying to add RAM from other sources (either disk or hypothetical PCI card)
Re:ram question then (Score:2, Insightful)
Remember those good ol' days?
Re:ram question then (Score:2)
Re:ram question then (Score:1)
What do you mean, a 'little' slower? A 'normal' 32 bit 33 MHz PCI bus is very slow. A 1000 MBit network card already manages to fill that bus completely. The maximum PCI speed (64 bit / 66 MHz) is 4 times that. Still, only the speed of 3 gigabit network cards :(.
Still it would be way faster than a hard disk drive. And it would off-load quite a lot of hdd activity needed for handling the swap file. Not to mention seek times. Obviously you wouldn't want to address the memory directly - even a big cache wouldn't hide the awfull performance.
Memory is cheap and you would not need fast memory. You could also use it for disk cache, though that might really saturate the PCI bus (2 transfers minimum!!!).
All in all, I would welcome such a PCI card. Obviously the 32 / 33 PCI bus is walking on it's last legs though.
MaartenRe:ram question then (Score:2)
Re:ram question then (Score:2)
In order to achieve moving to the prior record, all records must be buffered. I'd almost bet this is the cause of your memory usage. Try using a unidirectional cursor instead which doesn't buffer the resultset and you should notice your memory stay low and performance go way up.
If that's not possible, can you possibly add to your where clause so you can select 10% of the results at a time and re-execute the query 10 times to get at the different sections? (eg. by pkey range).
If you've tried all of the above, there must be a memory leak somewhere. But I don't know your system, so take it with a grain of salt.
I have to say I'm amazed that a machine swapping all day long every day can have a very long uptime!
Re:ram question then (Score:1)
We do end up with lots of PCI buses, etc. With careful programming, this gives you a shitload of IO bandwidth.
Martin J. Bligh.
NUMA (Score:5, Informative)
Re:NUMA (Score:2)
What about the feature freeze? (Score:4, Informative)
Someone correct me if I'm wrong.
Re:What about the feature freeze? (Score:5, Informative)
See the good discussion in the LWN article [lwn.net] on this topic.
Re:Feature freeze: NO NEW FEATURES! (Score:1)
Cheers
Stor
Re:Feature freeze: NO NEW FEATURES! (Score:1)
It just got cleaned up since then.
Secondly, the reason Linus accepted this was not that it came from IBM, it's that it was split up into small readable pieces, well documented, and obviously had no effect WHATSOEVER on standard machines.
It's pathetic that you think Linus has so little personal integrity that he'd take bribes to put patches into the kernel. And who said this code was untested?
Martin J. Bligh.
You're experiencing BRAIN FREEZE (Score:2)
Re:What about the feature freeze? (Score:1)
NUMA? (Score:2, Funny)
This article says the code was submitted by Martin Bligh, not Dirk Pitt [google.com].
Clearly it's a typo. I'll have to e-mail Clive about this.Not just for big iron (Score:5, Interesting)
it's often faster for a process to reside on the same CPU but not necessary the same 'virtual' CPU when accessing memory.
And alot of 8way+ systems are NUMA whether or not they are advertised as such.
Re:Not just for big iron (Score:2)
Re:Not just for big iron (Score:1)
Of course, a single-CPU HT system has no need for this.
Re:Not just for big iron (Score:2)
Not different from each other, different from the other virtual CPUs, on other chips.
If you have two threads, both accessing the same chunk of memory, think about these two options:
1. Put both threads on different virtual processors of the same chip. That block of memory gets cached once, and both threads get cache hits.
2. You put each thread on a different physical chip. Now, that block of memory is being cached by both chips at once, which means lots more bus traffic for each modification (each chip needs to tell the other what just happened); meanwhile, both threads are 'fighting' for cache with threads from other programs.
Clearly, the first is better (more efficient) from a memory point of view: more data cache hits, less traffic between CPUs as they invalidate each other's cache lines. Similarly, it's better for the I-cache (instruction cache): you only cache and execute a single set of instructions, because both threads will tend to use the same code.
Re:Not just for big iron (Score:3, Informative)
There is a very good reason for doing it this way. The P4 cache uses VIRTUAL addresses so if each virtual cpu is executing in a different virtual address space(which is allowed) then you need a way to differentiate which cache lines belong to each virtual cpu since they might very well both reference lets say virtual address 0xDEADBEEF which translates into a different physical address (and hence different data). Intel engineers went with the simple solution of splitting the cache in two, instead of adding an extra tag to each cache line which would have created extra overhead/latency on every cache access.
I apologize for overusing the word virtual
Re:Not just for big iron (Score:3, Interesting)
What about P4s? (Score:2)
On that note, does one also need a hyperthreading mobo? I've searched, but after reading several linux kernel archives that google pointed me to, I'm still not sure whether my lowly 1.8 GHz P4 can hyperthread.
Re:What about P4s? (Score:2)
CLIVE CUSSLER IS GOING TO BE PISSED (Score:1)
~S
Dirk (Score:2)
Oh wiat. You mean _that_ NUMA.
Re:Dirk (Score:2)
All I ever read was the one with Howard Hughes' secret moon base. I think I stopped after I realized Dirk was gonna try and fuck the rich old Jackie-O impersonator. Actually, no, it was after they got on the blimp the second time. I always say you can't have more than one blimp scene in a story. Did Indy go back to the Nazi blimp? Nooo. He moved on to exciting new vehicles. Dirk can't let go of the damn blimp. It's like Hamlet or something. Blimps are Dirk's tragic flaw. They'd probably have been his downfall if I'd finished the story, too. I'll bet he has dreams where the blimp talks to him, the poor bastard.
Re:Dirk (Score:1)
One learns something new every day (Score:5, Funny)
Re:Accepted by? (Score:2, Insightful)
Re:Accepted by? (Score:1)
Re:Accepted by? (Score:3, Insightful)
Linus decides what goes into his tree. You decide what goes into your tree. If you don't have the time or skill to build your own tree, pick someone you trust, and use thiers.
You know Slashdot is going "mainstream" when ... (Score:5, Funny)
You know Slashdot is going "mainstream" when people have to explain who Linus is.
Re:You know Slashdot is going "mainstream" when .. (Score:2)
You know Slashdot is going "mainstream" when people have to explain who Linus is.
Or when they have to even use his last name.
Re:You know Slashdot is going "mainstream" when .. (Score:1)
Or when they claim that Linus created the OS GNU/Linux.
Linux Torvalds (Score:1)
SGI must have added NUMA support as well (Score:2, Interesting)
SGI must have added NUMA support for their Itanium-based Altix-servers as well. On their web-page [sgi.com] it says: "Enhanced Operating System for High-Productivity Computing" [aka Linux] with "High-performance NUMA support".
Anyone ever seen a patch for this?
- jarman
Re:SGI must have added NUMA support as well (Score:1)
This is about stuff that's designed to be non-invasive enough to go into the mainline kernel, less bells and whistles, but a longer term goal, designed to work on every architecture. We'll slowly add features to it as they come up, if they're well tested across multiple arches and make sense.
Martin J. Bligh.
Linus' Acceptance... (Score:2, Informative)
It's time to stop reading slashdot when... (Score:4, Informative)
OT: Is Linus' fame diminishing or what?!? (Score:1)
to fame, it seems a sign that the History of Linux
must be fading from the modern
I really -doubt- that it has...
Recent Patch Modification (Score:5, Informative)
Extracted from:
http://lwn.net/Articles/20741/ [lwn.net]
where are the GNU folx? (Score:2)
I was waiting for someone to jump all over this...
T
IBM Replacing AIX? (Score:1)
In Other News (Score:2, Funny)
Kernel, not OS [boring] (Score:1)
NUMA support was improved, not added (Score:3, Informative)
National Underwater and Marine Agency? (Score:1)
Re:National Underwater and Marine Agency? (Score:2)
;)
Sequent technology? (Score:1)
Re:Sequent technology? (Score:2)
That was probably true in the 80s. It hasn't been true for a while though, I think.
I used a cluster of Sequent NUMA-Q machines running DYNIX 4.4.2 in 1999 (in fact, I still use them occasionally). I find DYNIX (at least, that version) to be the most annoying Unix implementation I've ever used. It's so antiquated!
It also had annoying features like telnetd defaulting to stripping the 8th bit of the data stream (turning the UK sterling symbol into a #). Oh, yes, and there was a hard-coded limit on the number of lines "tail" would cope with.
The support is good though (but I've only used the support since Sequent were bought by IBM).
Just what I've been looking for... (Score:2)
Seriously, though, this is one of the strengths of the GPL and is proof that the Linux kernel can only advance in time as it sucks up more and more features that will never go away (I hope 'refactoring' is in the developers' vocabularies!).
hmm (Score:2)
If it were possible to scale a cluster of PCs easily and keep a single concurrent system image there would be no limits to what we're capable of doing. Encode a video in 30 minutes or less, play the latest games with 2 year old hardware, etc.
Make it so.
Linux v. Windows (Score:1)
~S
Re:Linux lacks democracy (Score:1, Offtopic)
Re:Linux lacks democracy (Score:1, Offtopic)
We already have lots of "democratic" systems. They come from vendors like Microsoft and the voters are paying customers. The result is a mess of screwed up priorities and feature bloat.
According the article, and my own knowledge of the NUMA debate on linux-kernel, Linus objected to the original implementation from IBM because it was too intrusive and caused performance degradation on non-NUMA systems. I, for one, was pleased to see this prevented. I will explain why.
Had this been a commercial operating system the NUMA work would have been incorporated right over the heads of whatever moral equivalent of Linus existed among the engineers within the organization. This would happen because the marketdroids would insist the NUMA feature check box be filled. The bosses would buy the marketdroid line and overrule the engineers. This is how systems like Windows get to be how they are. This is your "democratic" system at work.
Martin Bligh approached this from the perspective that his work was indemnified from critical review due to it's importance. This is typical when an engineer thinks he has the marketdroids on his side. He made unnecessary technical compromises in his implementation and expected it to be overlooked. When you believe you have the blessing of the powers-that-be you will try to get away with murder.
Unfortunately for our Martin, the Linux kernel isn't controlled by sales people. It's controlled by a man who has earned his credibility over a decade of public scrutiny. He has the power to make objective decisions based on technical merit. Linus forced the issue and the engineer was forced to reconsider his approach. The proof that Linus was entirely correct is that when the engineer was forced to reconsider his approach, he not only achieved the desired result, but now appears quite proud that his new implementation compromises nothing.
Linus makes lots of decisions about the work of others. Often, this results in someone's hard work being excluded. This happens so frequently that if the community at large believed he a motive other than technical excellence he would have run out of credibility with all of us long ago. He hasn't, and there is no sign he's about to.
We see these calls for "democracy" of some sort whenever a controversy appears. Perhaps we wonder if they have any merit? I don't, because I understand the motivation and I don't like it. Raw talent is a rare thing. When we witness extraordinary talent at work without a full understanding of the reasons we are often mystified and unsettled. When our own desires and motivations are in conflict with those who possess such talent, we are frustrated. This leads us to couch our desire to confound this mysterious force by suggesting "obviously" superior methods, such as "democracy".
I do not fear the talent of others. I lack the means to make reasoned decisions on these matters and, probably, so do you. The difference is that I accept this and rely on my faith in certain people to do the correct thing. Linus is right far more often that he is wrong. He has my faith. I, too, was annoyed to see the select NUMA audience denied the features they wanted in the mainstream kernel. Clearly this sort of thing impedes World Domination (tm). In the end, however, I took it on faith that Linus had the clues necessary to make the call.
Re:Linux lacks democracy (Score:5, Insightful)
The only reason that Linus is still the controlling authority on the Linux kernel is that he is doing it pretty well. And he isn't without advice from others - there are hundreds of people only too willing to favour him with their advice.
Every functioning organisation needs a chief executive - someone who makes the final decision. Even when you have executive committees - and, informally, most Open Source projects do - someone still has to make the final decision, to jusdge what the consensus actually is.
Anybody can "call an election" on an Open Source project any time, by proposing a fork. That is much closer to perfect democracy, it seems to me, than one where you only choosw the Chief Exec every few years.
As it is, Linux is a roaring success with Linus in charge. It ain't broke. don't fix it.
Re:Linux lacks democracy (Score:3, Interesting)
Unfortunately it's not JUST showing someone you're better, it's "marketing" too. That's pretty hard in the case of Linux, because you can't use the name "Linux" anywhere - it's trademarked by Linus. If i made some funkyass Linux fork and called it Finnix, it wouldn't get the press Linux would, and you'd effectively be ten years back in time, building up a name etc. With BSD it's a little easier, because "BSD" in and of itself isn't trademarked, though it's doubtful whether you'd be able to get away with calling your Soviet Russia fork "NyetBSD".
That said, i pretty much agree. Linux has so much stuff in it right now as a kernel (in the sense of running on a zillion architectures with a zillion features) i'd say Linus is pretty much pleasing everyone in the end. Most Alan Cox stuff gets rolled in, most commercial stuff does too. It's all good.
Linux has history (Score:2, Insightful)
Sorry if this seems rude, but it sounds like someone crying 'sour grapes.' Do a little research and you can easily find news group discussions about the profiteer [google.com] who wanted to charge people to use the name Linux. The parent post is correct about your opportunity to fork a better implementation. It's a good thing my moderation points elapsed. I would have been looking for a crybaby option ;-)
Re:Linux lacks democracy (Score:1)
Re:Linux lacks democracy (Score:3, Informative)
Not two vendors ship the same kernel. So in the end it's up to the vendor you use to tweak your kernel. Redhats are heavily patched to suit (what they belive) is there users needs..
I think thats a good system.
Re:Linux lacks democracy (Score:5, Insightful)
Surely this is quality control at its finest? every project has its project manager. Everyone is free to write their own applications without Linus controlling them, he just looks after his project which happens to be the kernel. Without strict quality control the kernel would be a right old dogs dinner by now.
Re:Linux Community Can't Hack It (Score:3, Insightful)
Proproetary companies are not despised. Most proprietary software is. Hardware companies that refuse to release driver level documentation are. Companies are not (unless everything that they do falls into the above catagories).
Thus: Proprietry hardware companies that give open documentation are not 'despised'. Companies that write GPL code are not 'despised'. They are valuable members of the linux comunity.
Because if it's GPL, and good, it gets in. It's not any more a handout than if you wrote some code, and submited it. There is nothing special about corporate ownership. If you have a problem with corporate submissions, you can modifiy the kernel, to remove their work. It's not a problem for me, or for the vast majority of the linux using comunity. I think that you seem to percive (or hold) an anti-corporate stance that is not representative of the comunity at large.