Next G5 Multitasks Operating Systems 449
A user writes "IBM has big plans for the 970, Apple's so-called "G5". The CPU will support partitioning, similar to IBM's mainframe systems, allowing multiple operating systems to run at the same time on a single CPU. A Mac built around this chip could theoretically run OS X, GNU/Linux, Mac OS 9, and the PowerPC version of Windows NT, all simultaneously and independently."
Re:PowerPC version of Windows NT? (Score:5, Informative)
Re:Isn't this done already? (Score:5, Informative)
They plan to add partitioning support on the chip level, so there will be no performance penalty (like in VMWare) or need to recompile OS (like in QEMU IIRC).
Robert
That's old news.. (Score:5, Informative)
Now it just works better with POWER5. The FSP (Flexible System Processor) that contains the Hypervisor code is just a card that runs an embedded Linux kernel. Plug that in to a IBM "HMC", or a xSeries Xeon box running SuSE Enterprise 8, which boots into Fluxbox. Open a Java-based config utility, and control all your partitions. Do you see a ongoing theme here? That's right folks, IBM trusts Linux enough to stake the reputation of their Big Iron on it.
With POWER5 all the partitioning is transparent to the OSes. WIth out i5/520 I can move RAM and CPU seamlessly without OS reboots. Hell, I can (and do) have my Linux partition specified with just 2/10ths of one of the POWER5's, with a "burst" limit of 8/10ths. You just setup the FSP/Hypervisor with permissions/profiles for the OSes. If it sees that OS/400 needs more CPU and has a higher priority than Linux, it gets it.
However, this is a very cool move for apple. If I could get a Mac that did all that?
Well, yeah. That would own.
Insert profit.
Re:Isn't this done already? (Score:5, Informative)
They require a host OS to run under. This means you can partition your CPUs so they can run multiple OSes at the same time, nativly. No need for a host OS, just some bitching BIOS.
There are multiple server vendors who already offer the same ability, mainframes have had this for years.
Of course, running 2 or more OSes requires 2 or more times the CPU power in order to get similar performance to a one OS machine.
Re:what about dual? (Score:3, Informative)
I've used this (Score:5, Informative)
Interestingly, this brought to mind the Pink operating system that IBM and Apple were working on way-back-when(tm). The idea, if I remember correctly, was to have a low level OS kernel that could run multiple personalities...they talked about a MacOS personality (back when System 8 was still being developed), OS/2 and probably some flavor of Unix.
I remember being at what I believe was the last Unix Convention at the Javits Center in NYC around '92 or '93 and they (IBM) had a prototype Power box that purported to be running a super super early pre-alpha version of it. The guy standing by it wouldn't let me touch it, and all he said he could do was run a "DIR" on what was supposed to be the OS/2 personality (no Mac one in sight, for the obvious reason there never was one). He also mentioned that there was a second box, but they couldn't get it to boot.
*Sigh*
I was actually under the impression it was just going to be a dual core PPC, but I RTFA off os OSNews.com a couple of days ago and I don't really remember it.
Re:Native Mode Java? (Score:3, Informative)
Related stories (Score:5, Informative)
Re:Except that (Score:5, Informative)
The Power5 is not a 970. They scaled down the Power5 to make the 970.
Re:In theory yes (Score:3, Informative)
Current macs won't even boot OS9, so there is no way they would start running that again.
Partitioning the system is essentially the goal so that you could install and configure two separate logical servers with only one machine. It helps with configuration conflict issues. It's a very common practice on mainframes.
xen/pacifica/silvervale (Score:4, Informative)
I want to give credit where credit is due. (Score:3, Informative)
Who's doing the porting hardly qualifies as relevant criteria. When I see that the programmers who make Sky OS ported Firefox (a recent
I want to give credit to the projects that I'm discussing, I want to be more clear in what I'm describing, and I want to be accurate to what I'm describing. Therefore, I don't see a problem with giving GNU a share of the credit when I'm talking about the union of the GNU OS with the Linux kernel. These days, the Linux kernel shows up in so many places that I need to differentiate between where it is being used with GNU, where it is being used alone, and where Linux is being used with something else.
There are other instances where it is simply inaccurate to call something by another name--calling the "free software" movement "open source", for instance, is simply wrong, as is trying to link the open source movement (or Open Source Initiative) to the GNU GPL in a substantive way. I would be happy to explain more on this if you're curious, but generally I think this explains why I use language in a way you claim nobody does.
Re:Except that (Score:2, Informative)
Re:Isn't this done already? (Score:3, Informative)
The CPU has to natively support this as well, at least POWER5 does.
And calling it a BIOS is... almost insulting
Of course, running 2 or more OSes requires 2 or more times the CPU power in order to get similar performance to a one OS machine.
This is depending on what machines you are talking about, all around
WIth IBM, the i5 now has "burstable" limits for CPU. Basically you can assign priority levels for your partitions. Say you have a OS/400 partition and a Linux LPAR. OS/400 gets 80% of CPU and has the highest priority level, and Linux gets 20% and has second priority. Then you throw a AIX partition in and give it some of OS/400's CPU, but assign it the lowest priority. You allow OS/400 and Linux to have burstable limits of CPU, and AIX to not.
So you are running a mailserver on the Linux LPAR. When everyone comes in at 8am, the mailserver gets hammered. Hypervisor sees this, and sees that OS/400 is pretty much unused, so Hypervisor gives Linux 60% of OS/400's CPU allocation.
This all happens without any intervention from you, and without any noticeable different to the OS, aside from the fact that it can suddenly magically kill bits faster.
Then at the same time, let's say everyone starts running DB queries. Hypervisor sees this, and sees that OS/400 has a higher priority than Linux, so it takes back some CPU.
Again, this is all without your input.
And with the higher end Capacity ON Demand systems, you can do really crazy shit. Like a box will ship with 4 active CPUs, but 8 actually installed. You can set that box up so that it will activate those extra CPUs if needed. Completely seemless, completely without your input.
Basically this technology is the future. Intel has nothing, and they know it.
And the really cool thing?
Hypervisor runs on the FSP, which runs linux.
VMS (Score:3, Informative)
on smaller sexier boxes.
Re:Isn't this done already? (Score:3, Informative)
Re:what about dual? (Score:4, Informative)
It depends on your definition of efficiency.
If each OS is running on a separate CPU, they can use a UP (uniprocessor) configuration eliminating the overhead in SMP. This buys back typically 5-10% CPU resource, depending on the OS's SMP implementation. However, if one of the OS's CPU demands exceed a single processor's capacity, it will max out extending the transactions (even if the other CPU is idle). However, if you have need for strict separation of resource (e.g., you sell a guarantee of a CPU's processing to a customer), this may be the only way to achieve it.
If both OS share both CPUs, there is additional overhead from the SMP effects, so some CPU resource is "wasted" (not processing the transactions). However, both OS can utilize the resources of both CPUs completely. This would be great for a desktop environment; as you switch between one OS and another, the switched away OS likely goes mostly idle (aside from background processes). In a multiple virtual server environment, it would be useful too; a virtual server that gets "Slashdotted" would be able to obtain on-demand addition resources.
In a CPU contention situation where both OS want to utilize all of both CPUs, the VM (virtual machine here) scheduler will allocate the resource evenly, unless it has a prioritization/capping capability. This is really an inefficient situation, since you have two (or more) OS with SMP overhead and no available CPU resource (maximum CPU going to non-productive use).
You also need to remember when running in a shared CPU mode, there is no guaranteed response time. Applications that need near-realtime response will see an increase in latency variability.
Re:Except that (Score:4, Informative)
Re:xen/pacifica/silvervale (Score:3, Informative)
Re:what about dual? (Score:3, Informative)
Comes in real handy.
Virtual disks (Score:1, Informative)
Re:xen/pacifica/silvervale (Score:2, Informative)
Xen is a very nice solution, at the moment it is nice for free software due to requiring a port for it, but as you mention that will go away with virtualisation hardware.
CPU Partitioning != Virtual Machine(aka emulation) (Score:4, Informative)
A virtual machine (which for some reason Java-ites seem to believe is *ONLY* a concept which applies to java) "virtualizes" aspects of the host machine. In the case of VMware on intel a technique called a monitor is used to run code natively on the processor for maximum speed. The monitor is basically a pseudo-device which accesses memory directly (you'll see it in the dev dir as vmmon). Other aspects of the machine, such as video, audio, keyboard, network, etc must be "virtualized".
With CPU parititioning, running several operating systems becomes more or less trivial since much of the work of handling all of the ins and outs of virtualizing the hardware is handled for you at the lowest possible level.
So, yes, there may be some performance hit when running several OSes in this way, but not quite as much of one as when this is done totally in software.
GJC
Re:Mac OSX Panther is not the worlds best OS (Score:4, Informative)
I find mail fast enough. I'm not sure what you want from 'postfiltering' but I find the rules which let me place email from particular people or mailing lists into particular folders, or forward to my gmail account flexible enough to do anything I need.
Search works in preview for me.
Tom
Re:great (Score:2, Informative)
WOW (Score:3, Informative)
Apple has always made great OSes for their computers. They are more intuitive for beginners, the interface is clean and easy to read. On kde/gnome It can be quite difficult to find applications. With linux in general there's the massive and complex dependency tree to worry about. I wanna install xmms and i gotta install 5 other things as well (ok I'm exagerating for effect.)
People have to realize that Linux isn't quite ready for the average user desktop. It's great for our parents/releatives because when they have problems they'll ask us. But not everyone has that luxury. Mac and windows, for the most part, you install it and it just works. No worries. Also, lets see you do High quality graphics work on Linux. Mac gives you more true colors for the image and prints the way you see it.
And for those of you that are gonna say so-and-so copied so-and-so, lets just set the record straight. Apple BOUGHT their interface from Xerox PARC [xerox.com] after Microsoft turned it away. Then when MS saw the success apple was having in the early 90's decided to copy and modify the interface and created the "Start" menu (Finder anyone.) Incidently kde/gnome also designed their launcher menus based on the apple one. Which apple had been prototyping for a while, and many Geeks/nerds knew about it before it was released.
So don't bad mouth a company you know nothing about, especially when most of the technology we have is owed to them.
BTW: i feel I should tell you this was written on a Windows/Xandros Dual boot system. I was beta testing Xandros 3.0 prior to release.
Re:Except that (Score:1, Informative)
It's already there (Score:2, Informative)
I don't think Apple enables it when they bootstrap the processor though, but it's just a matter for them of updating the service processor firmware.
However, good partitionning (read: safe) would also require some support at the chipset level, for example, the ability for the IOMMU to prevent a PCI card used by one partition from doing DMA to the memory of anohter partition etc...
IBM hardware has this support in the complete chipset, Apple hardware doesn't, at least not so far.
Re:what about dual? (Score:2, Informative)
If you're interested, IBM have already produced several books about virtualization in their Power5 iSeries and pSeries machines. You can find these (and many more) at www.redbooks.ibm.com.
"IBM e-server p5 Virtualization Performance Considerations, SG24-5768" looks to be the most relevant, but there are several others.
Re:memory (Score:3, Informative)
Take the human genome for instance. Most of it [the real research part] is being done on Xserves currently.
The sequencing program is actually running 1000's of times and taking the calculation that comes up 99.97% of the time to be the correct one. This is then rerun until the calculation reaches an impossibly close number to 100%.
No error correction needed.
Re:Sandboxes? (Score:3, Informative)
You can use either ethernet (ASMI) or serial (HMC).
Fun fact I found out the hard way - you can't attach Power5 servers to the same HMC as Power4 servers. You need to get a seperate HMC for the Power5's. I couldn't get a clear answer on why this is, something to do with a difference in their communication protocols.
As for the manuals, you'll read them in vain, because the information you're looking for isn't in there. I couldn't even find it in the online manuals. I ended up calling support, who didn't have the information either, but were able to hook me up with the backline support people who were at least able to give me enough information to get me started.
Another fun fact I learned the hard way: if you try to set one up by attaching a console to the serial port, be sure you set the termninal to 19200 baud. Most terminals default to 9600, which is fine for most servers, but will only get you garbage on a Power5.
Despite the fact that they look pretty much the same as the Power4's, the Power5's are an entirely different breed of cat. Be sure to allow yourself plenty of time for trial and error experimentation when you go to set one up. Believe me, you'll need it. You're going to be in for a few surprises, and not all of them pleasant.
Re:In theory yes (Score:2, Informative)
Re:great (Score:3, Informative)
Quote: I suppose it's possible that they were really just Motorola-designed chips manufactured at an IBM plant...
Actually, you had it backwards: The PowerPC family of processors are IBM designed and manufactured. Motorola manufactured PowerPC chips under license from IBM with the addition of the [i]Altivec Instruction Set[/i], aka the "Velocity Engine." (Details here. [apple.com])
Apple's OS X relies heavily on the Altivec set. Early on, IBM didn't see a value in Altivec, so Apple's only supplier was Motorola. After seeing how well Alitvec worked in Apple's application, IBM changed their mind, and included Altivec as part of the PowerPC design. So now Apple has two potential suppliers.
Motorola wanted out of the primary chip manufacturing business, wanting instead to concentrate of embedded systems chips which is a much broader and more lucrative market. At the same time, Motorola's chip production division hit on a bad production snag. They were unable to push the G4 chipset beyond 400 MHz. for a painful period of time. Apple turned to IBM to take up the slack. IBM did so.
I'm pretty sure that IBM is now the predominant producer of Apple's CPU chips -- at least the G5 chips. I believe that Motorola still produces G4 chips, but I think they are producing the variety that are used for embedded systems, not for CPU usage. I also think that Motorola has since spun off its CPU division as a separate company.
Since Apple finally released the G5s, I really haven't paid any attention to the production issue any more. So I have to admit, the preceding paragraph may be a bit innaccurate.