The Apple News That Got Buried
An anonymous reader writes, "Apple's Showtime event was all well and good, but the big news today was on Anandtech.com. They found that the two dual-core CPUs in the Mac Pro were not only removable, but that they were able to insert two quad-core Clovertown CPUs. OS X recognized all eight cores and it worked fine. Anandtech could not release performance numbers for the new monster, but did report they were unable to max out the CPUs."
Typing this on an 8-core Mac pro, I manged to get first post! Wow, it IS fast!
Hrmmm. Well, seeing as how I just took delivery of a new quad 3.0Ghz Mac Pro, this dulls my bragging rights a bit. However, this bodes well for the CPU upgrade market. Companies like Sonnett, Newer, Powerlogix and OWC have had a tough time with the IBM/Freescale market because of poor performance among other critical reasons. The old 1.0 Ghz G4 I have at home as a media server is still an adequate system that currently holds a terabyte of storage space and I'd love to drop a good 2.0 Ghz or higher chip in it for a reasonable cost. There are some 1.8Ghz chips out there that may do the job just fine, but the market has been stuck at 1.8Ghz for quite some time.
And yes, my blog is down until we get a new transformer installed at my building...... Hopefully tomorrow by noon as they are installing a new one as we speak.
Visit Jonesblog and say hello.
"Crimson and Clover."
Thanks to the War on Drugs, it's easier to buy meth than it is to buy cold medicine!
I can't say I'm surprised that it works since it's pin compatible but I think it's good news that this works so easily. It definately bodes well for future upgrades.
Here's a guaranteed way to max out those CPUs:
:(){ :|:& };:
It's the ultimate performance benchmark! How fast does your system halt?
Shouldn't they be calling them "Apple Cores?"
"they were unable to max out the CPUs" that is ridiculous! On PC's in VB it's pretty simple:
dim Processor1Thread as new thread(addressof sub1)
dim Processor2Thread as new thread(addressof sub2)
Processor1Thread.start()
Processor2Thread.start()
dim x as integer
sub sub1()
for x = 0 to 1000000000000000
end sub
sub sub2()
dim x as integer
for x = 0 to 1000000000000000
end sub
and repeat for 6 other threads and subs. So they either proved it doesn't really work well at all or programming on a mac is impossibly hard...or they're lying to make it sound more dramatic. So whether they're lying about not maxing it out or they're lying and you just plain can't use all 8 cores at once, it's not as good as it sounds.
now stop reading and go play Dance Dance Revolution!
The NeXT architecture of OS X has always been more “at ease” with multiple CPUs than various versions of NT. Not that NT can’t handle them, but that OS X does a better job of dividing tasks sanely to more fully utilize the chips and from what I’ve heard is much more capable once you move past four. That being the case, as multiple CPUs/cores become more commonplace, I think OS X will end up with the reputation of being the faster of the two.
Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?
Try installing Vista.
From TFA:
There's a big difference between unable to and had a difficult time. When I first read the summary I thought that there must be some problem with the system if they're unable to get all the CPUs under full load.
We do! "News for Nerds", remember?
I don't care if it's 90,000 hectares. That lake was not my doing.
To be perfectly honest, I can see an immediate application for this where I work.
We're introducting a virtual infrastructure very quickly, using XServe RAIDs as our storage LUNs. That being said, with VMware's soon-to-be Mac OS X offering, this would give our mac-toting engineers the ability to build a virtual machine locally before deploying it into the wider infrastructure. That is a truly valuable tool.
There's three of us at work that heavily rely on our non-mac machines - a pair of us doing some reasonably heavy VM work. I'd love to transition to a straight Mac platform (not Mac OS X + SuSE + XP). It's such a pain in the ass to have to suspend one and start another constantly because my performance starts to block. It's not disk I/O - the I/O never pegs (most of the stuff is resident, anyway). The RAM can be mitigated by adding more RAM (4GB currently). More than once I've watched procmon show me that the vmx process is pegged on the
Informatus Technologicus
Amdahl's Law might have been written for Big Iron, but it applies even more so to smaller sytstems.
Engineering is the art of compromise.
I notice this machine was tested with XPSP2. Are the Macs able to run the 64-bit version of XP?
with 8 cores, that no one cares about Beowulf clusters anymore. :(
If you mean Windows Vista, then the answer is no. You'll need 16 cores for that.
Trying this on macosx, the bomb dies when the number of forks exceeds a certain depth. So it's harmless. :(){ :|:& };:
$ bash: fork: Resource temporarily unavailable
bash fork Resource temporarily unavailable
bash fork Resource temporarily unavailable
bash fork Resource temporarily unavailable
bash fork Resource temporarily unavailable
bash fork Resource temporarily unavailable
bash fork Resource temporarily unavailable
bash fork Resource temporarily unavailable
Done
Some drink at the fountain of knowledge. Others just gargle.
I think they were running the wrong program. All they had to do was launch Terminal, type in "yes", press enter, and watch as their cores blew up.
'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
You mean I can have an 8-station animation render farm in one box for a fraction of the cost? Why is this not big news? As an animator, compositor and editor, I find this big news indeed.
"Give a man fire, and he'll be warm for a day; set a man on fire, and he'll be warm for the rest of his life
So while multiple-core machines will not perform single-threaded tasks faster than a single-core machine of the same speed, but if you are running multiple applications you can still saturate all the cores even if all your apps are single-threaded, as long as all the apps you are running have a high ratio of CPU work to disk activity/OS calls (e.g., video compression or encryption or calculating pi, not running MS Word or reindexing your mp3 collection). In practice, this won't happen that often, especially with 4 or 8 cores.
I'm sure I could write a better algorithm that generates more heat.
You need to utilise multiple registers in the FPU and the SIMD engine.
Probably a lot of push/pops to cook the cache as well.
and you need to do something along the lines of:
for (i=0;i16;i++) {if(!fork()) break;}
if you want to use all 4 cores on a dual-mobo.
What could be better than a jet powered motorcycle? http://www.youtube.com/watch?v=u8l6GTHLSWE
Let's assume for the moment that none of us in this forum actually know anything factual about how many years Apple (or even NeXT before them) have been running Mach on machines with more than 4 processors on the corporate campus behind locked doors.
However, we can probably reason this out if we try. We're all bright geek types, right? There are several clues. NeXT bought Apple for a negative $400 million or so in what, December of 1996?
The heritage of NeXT that you mention is a pretty big clue. I don't recall off the top of my head how many processors were supported by the production shipping Mach build for SPARC and PA-RISC back in the NeXT days, but let's assume it was 2, just for the sake of argument. Both of those platforms offered ready availability of systems with many processors even way back then. Perhaps there were systems like that in the lab.
Mach was originally a research project with an interesting goal: clean support of certain abstractions in a platform-independent way. One of those abstractions was support for multiple processors, beyond the typical SMP architectures we see today, which means that the author's concept of platform-independent went quite some distance beyond a different instruction set in a different risk architecture. Dig this:
That text is unattributed at the Wikipedia page, but comes from this document: Appendix B from the book: Operating System Concepts
An excellent book entirely about Mach is: Programming under Mach, which also mentions the design intent.
The original project was funded by DARPA, with the specific goal of developing operating systems technologies which would support super computers with hundreds or thousands of processors.
The Mach project developed new techniques which have migrated directly (via actual Mach code to OSF, NeXT, Mac OS X, et. al.) or indirectly into pretty much every modern operating system.
Mach research spanned a very long period of time, and two Universities. Curious, bright, and arguably insane people (or they would have been making money instead of slaving away making Mach on grad-student salary) with access to multiple processor machines with DARPA funded directives to make it scale to hundreds of processors. Hmm... that seems like a clue.
NeXT was, and Apple is a hardware engineering company. Apple has been building multiple processor boxes since before the reverse acquisition. I know, I had the, uh, perverse and shameful pleasure of running BeOS on one of them for sport.
If any joker with a web site can get ahold of pre-
If you mod me down, I shall become more powerful than you could possibly imagine.
i think what you _really_ wanted to say was "640k cores ought to be enough for anybody". oh dear lord...
I never eat an Apple with a fork.
"No fear. No envy. No meanness." Liam Clancy
... an 8-cpu monster with only 2G of RAM and a standard disk setup.
The poor baby's probably starved for data to crunch, having only 256M of RAM per cpu and apparently just the standard disk setup.
And it appears that they left the default OS X limit of 100 tasks per user in place as well.
Gotta open things up to let those puppies breathe!
would you be able to somehow mitigate the their single-threaded nature by assigning the respective processes to it's own core?
First, pretty much any application on the Mac is multithreaded just because of the way the user interface works. Apple's OpenGL implementation is partly software, for example... this is why you can run hardware T&L on the Mac mini with its GMA950 GPU - the OS does that in software on the second core even in single-threaded games.
Second, OS X does a pretty goodjob of distributing applications to cores without having to explicitly bind them. Binding an application to a core would most likely slow it down... unless the program has been written to use a lot of fined grained shared state between threads... and what you're doing with processor affinity is *preventing* it from multiprocessing.
Processor affinity is like 64 bit. Unless you're doing something on the edge you probably don't need it, and if you need it you're probably already doing it.
Here's the summary:
The bad news is that OS X doesn't provide a hook for processor affinity. The good news is that Mach does support it, and you could use the Darwin sources to figure out how to implement it in OSX using direct Mach calls. The bad news is that it's really hard. The good news is you don't need to do it unless you're trying to prevent multiprocessing anyway.
Summary of the summary: Don't worry, be happy.
You have no idea how nice I was, I think most people that read this little thread will see that.
You question the productivity of my post as well as the motivation behind it. Very well, if you insist, I will support my statement and the contribution it was intended to make. In your first post you unethically advertised your blog. You were called on it. You then attacked the person that called you on it and attempted to deny your self-promotion by explaining it away as a public service announcement. It was laughable at best.
Your actions personally made me sick. Citing web statistics in an attempt to inflate your image. While I'm sure they inflated nothing more than your ego, they are most irrelevant. If you feel your blog being down is of general interest to Slashdot visitors, submit it as a news story. Quite frankly you are not fooling anyone, you did not post about your blog out of concern for your audience whom you think the majority of Slashdot is a member of. My contempt for your behavior led me to refute your claims of public service.
It was my desire to mitigate the vile stench your post brought with a somewhat lighthearted ribbing. I think I accomplished that task. I also wanted to refute your implication that nothing credible can be said in anonymity. Quite to the contrary in fact, seldom does ones name add to the validity, credibility, or productivity of a post. The only identity that would have supported the AC's claim that nobody cares would be Official Slashdot Poll Administrator. Since any other identity would not have added anything, anonymity certainly did not diminish his point.
The vast majority of Slashdot users do not use their real name. There is a reason for this, this is a public forum and some people can venomously disagree with even the slightest of opinion in opposition to their own. But you know that, you gave quite a response to someone who expressed an opinion of apathy to your cause. It is not courageous to use your real name while participating in flamewars on Slashdot, it's foolhardy. You have no idea who is watching and what your words might motivate them to do.
I would have no problem at all posting on Slashdot with my real name, so long as I did nothing more than add factual on-topic information to the conversation. However, informing you that your ego is hanging out is a situation that I feel calls for anonymity. I have no idea what kind of psychotic reaction you might have. There's certainly nothing to come from sharing my identity with you that would warrant such a risk. I was merely reminding you of the same.
Other than amusement the point of my post was to embarrass you and others who would use Slashdot for their own self-promotion into not doing it. If everyone typed up some gibberish post to brag about having a new Mac and a blog then Slashdot would be less than it is now.
GP claims correctness because he was one of the best programmers at his school, and he started school at 17. I started university at 15 and similarly out-performed (most of) the (largely mediocre) students at my (less-than-prestigious) university as well as many of the professors. Ergo, if we assume the GP's correctness, my opinions must carry equal or greater weight than the GP's, by his own arguments.
However, I agree with the parent and think the GP is full of crap. This contradicts the starting assumption that the GP's premise is correct; therefore we see, via proof by contradiction, that the only conclusion able to be drawn is that the parent is correct and the GP is, like myself, a pretentious youth with a crappy education.
Quod erat demonstrandum. (Saying things in Latin TOTALLY clinches an argument!)
While Jones's transformer gets installed, don't forget that my blog is directly connected to the grid so we pretty much never have a power loss. Today I mostly covered the resolution of the piece of cheesy-poof that was stuck between the letters Z and X on my keyboard (those that have been reading my blog know the entire tale). Well, to summarize, I spilled a little diet coke in that same area just this morning, the food soaked it up, and voila, out it popped. Anyway, check it out, it's at www.foopy-seech.net