Road to Snow Leopard: Twice the RAM, half the price, 64-bits

Posted:
in macOS edited January 2014
Snow Leopard's across-the-board leap to 64-bits, from the kernel to all of its bundled apps, will do more than just make more memory available. It will also have a significant positive impact on performance system wide, even more than the same jump to 64-bits in Windows Vista. Here's why.



Following the initial introduction to 64-bit computing leading up to Snow Leopard and a second segment outlining issues related to the amount of RAM that can be installed and actually used by the system, this third segment examines how much memory a specific app can use and how performance will improve with 64-bit addressing despite the additional overhead involved. A follow up segment will look at how the market for 64-bit apps is unfolding and how Apple is pioneering 64-bits on the desktop.



Road to Mac OS X Snow Leopard: 64-bits

Road to Mac OS X Snow Leopard: 64-bits, Santa Rosa and the great PC swindle

Road to Mac OS X Snow Leopard: Twice the RAM, half the price, 64-bits

Road to Mac OS X Snow Leopard: The Future of 64-bit Apps



System RAM vs App RAM



While the 4GB limit described earlier is only just beginning to affect mainstream users, there's another problem that prevents full use of the installed memory by any specific application. In fact, the real problem for RAM-starved apps is not how much RAM can be installed in a machine, but rather the limits on the amount of memory a single application or process can address itself.Â*



The 32-bit versions of Windows, Linux, and Mac OS X handled their 4GB limit differently. That means their transitions to 64-bits offer varying levels of improvement to their users. In 32-bit versions of Linux and Mac OS X, the kernel maps out a 32-bit, 4GB virtual memory space for itself and one for each app (or process). The virtual memory system shuffles memory around as needed to take best advantage of however much RAM is installed. The more RAM the better, of course.



In 32-bit Windows, every app only gets a 2GB virtual address space; the 4GB space afforded by 32-bit addresses is split with the kernel. By default, the split is right down the middle, so the app gets 2GB to work in while the kernel reserves the other 2GB. With a special setting, Windows can be adjusted to a 3GB/1GB split to give the app a bit more room, but there's no way to approach a full 4GB address space in Windows. This impacts every app on the system that wants to use a lot of RAM.Â*



The reason behind Windows' split memory allocation is performance. Windows system calls can address memory locations mapped to the application and to the kernel in the same breath, because the CPU can directly address the app's RAM and the kernel's RAM at the same time using a cached lookup table called the "translation lookaside buffer" or TLB.Â*







With More RAM Comes More Accountability



In contrast, while 32-bit versions of Linux and Mac OS X give each application its own full 4GB of virtual memory, those addresses share (overlap with) those used by the kernel's own 4GB space. That means the CPU's TLB can't maintain its cached addresses because there's no way distinguish between the two.



Every time the virtual memory system moves between the two address spaces, it has to flush the CPU's TLB. Every 32-bit system call flushes the TLB twice, repeatedly setting the cache back to zero and negating any of the performance it was designed to enable. On Windows, this only happens when the system switches between applications, because each application splits its virtual memory space with the kernel (above).Â*



Under the 64-bit Mac OS X Leopard, 64-bit apps get a massive virtual memory allocation that breaks out of the 4GB box. This allows 64-bit apps to occupy high address spaces while the kernel uses its own low addresses. Without any shared address overlap, the TLB doesn't need to be flushed and can therefore function as intended. That potential windfall isn't yet fully realized because Leopard's kernel and most Mac apps are still 32-bit (below left).



Snow Leopard will deliver both a 64-bit kernel and a full set of 64-bit bundled apps, erasing the entire TLB flush issue because the new kernel won't have to share any address space, even when running 32-bit apps (below right). This will benefit all 64-bit Mac users with a Core 2 CPU or better, even those lacking a Santa Rosa platform-style chipset, as being able to run 64-bit code and virtual memory is not tied to the amount of addressable system RAM.Â*







More, Better, Faster



Today's 32-bit Mac apps have access to more memory than 32-bit Windows apps, but incur the TLB flush performance hit every time an app places a system call, rather than only when switching between apps. With 64-bit apps, Leopard offers better performance with virtually unlimited addressing.Â*



In 64-bit Windows, apps finally break out of the 2GB limit (they now split the 16TB address space in half with the kernel), but there's no significant new performance advantage related to the TLB, because Windows wasn't dealing with that problem.Â*



Both platforms will benefit from being able to take advantage of the additional registers on x64 that are so desperately missing from the 32-bit x86 architecture, as noted in the first segment in this series. That factor is also why PowerPC G5 users won't see much performance benefit from general purpose apps ported to 64-bits; 32-bit PowerPC apps already have plenty of registers. In many cases, they will actually get slightly slower due to the extra addressing overhead. That's also a key reason why Snow Leopard will be Intel only.Â*



The dark side of 64-bit



There is also some additional overhead with handling 64-bit addressing on Intel, of course. There's also a "chicken and egg" problem related to developing a market for 64-bit apps before there's any significant installed base of 64-bit operating systems to run them. The mainstream Windows install is still 32-bit. Many 64-bit PCs are sold with and/or end up running 32-bit Windows, because Microsoft doesn't have one OS that runs all apps seamlessly.Â*



Windows 64-bit users complain about many 32-bit apps, drivers, codecs, and utilities not ready or not working properly. That includes Microsoft's own Office Document Imaging tools, Silverlight, and Windows Media Player. And because 64-bit kernels and apps won't work with 32-bit drivers or plugins, the lack of 64-bit Silverlight or Flash prevent many users from running the 64-bit Internet Explorer. Additionally, the way Microsoft delivered 64-bit Windows causes problems for app developers, as simple changes or customizations to the system can hose everything, as Adobe has warned the beta users of 64-bit Photoshop CS4.Â*



In contrast, all of Apple's Macs are now 64-bit and running a 64-bit OS, as there are no problems that prevent adoption of Apple's rather seamless 64-bit deployment. Except for, of course, a paucity of popular 64-bit Mac apps from everyone from Adobe to Apple itself. Apple will also need to provide 64-bit drivers and plugins for its kernel and apps, and get third parties to all do the same. The next article will look at the market for 64-bit apps, and how quickly Apple and third parties are going to be able to take advantage of the technical 64-bit lead on the Mac platform.
«1345678

Comments

  • Reply 1 of 147
    MacProMacPro Posts: 19,727member
    I have to wonder if there will be an outcry from users sold more RAM on PCs than they actually support.
  • Reply 2 of 147
    Quote:
    Originally Posted by digitalclips View Post


    I have to wonder if there will be an outcry from users sold more RAM on PCs than they actually support.



    At least maybe in the U.K they might negate all the advertising that even mentions the amount of memory available on a PC as "false advertising".



    On a more serious note, I think most PC users are a bunch of dolts.

    They don't really know what they are buying or why.

    The problem will be glossed over by a simple "the extra memory you have, sets yo up to handle the new MicroSoft changes coming for 64 bit in the future.

    Nevermind that by the time that stuff really gets it's act together the rest of your hardware is obsolete.....
  • Reply 3 of 147
    Quote:
    Originally Posted by wbrasington View Post


    At least maybe in the U.K they might negate all the advertising that even mentions the amount of memory available on a PC as "false advertising".



    On a more serious note, I think most PC users are a bunch of dolts.

    They don't really know what they are buying or why.

    The problem will be glossed over by a simple "the extra memory you have, sets yo up to handle the new MicroSoft changes coming for 64 bit in the future.

    Nevermind that by the time that stuff really gets it's act together the rest of your hardware is obsolete.....



    Those sort of comments make me ashamed to be a Mac User. What incorrect and arrogant rubbish.
  • Reply 4 of 147
    sxt1sxt1 Posts: 11member
    I have an iMac Core Duo (early 2006), the first Intel iMac's that where shipped.

    Core Duo's still 32 bit ! (Core 2 Duo's 64 bit)

    Does that mean that I'll have NO advantage of Snow Leopard because my CPU is still 32 bit ???

    In fact it's possible that I won't be able to run 10.6 because it could be compiled for Intel-only in 64 bit ?

    Or that it will suffer in speed (the reason they won't support 32 bit PowerPC anymore)



    I'm totally in the black on this ... help :s
  • Reply 5 of 147
    Quote:
    Originally Posted by qualar View Post


    Those sort of comments make me ashamed to be a Mac User. What incorrect and arrogant rubbish.



    Ok, I give up.



    What's incorrect?
  • Reply 6 of 147
    I love the icons on the graph illustrating the RAM ceiling for Snow Leopard apps: Hot air balloon, Jet, satellite, moon...
  • Reply 7 of 147
    ajmasajmas Posts: 601member
    Quote:
    Originally Posted by SXT1 View Post


    I have an iMac Core Duo (early 2006), the first Intel iMac's that where shipped.

    Core Duo's still 32 bit ! (Core 2 Duo's 64 bit)

    Does that mean that I'll have NO advantage of Snow Leopard because my CPU is still 32 bit ???

    In fact it's possible that I won't be able to run 10.6 because it could be compiled for Intel-only in 64 bit ?

    Or that it will suffer in speed (the reason they won't support 32 bit PowerPC anymore)



    I'm totally in the black on this ... help :s



    I too have a Core Duo based Mac, and I can't help interpret much of what is being said as Snow Leopard will be 64-bit only. If this is the case, then a Core 2 Duo will be the new minimum requirement. If I am interpreting this wrong, please correct me.
  • Reply 8 of 147
    What about "half the price"?
  • Reply 9 of 147
    Quote:
    Originally Posted by wbrasington View Post


    Ok, I give up.



    What's incorrect?



    You said:

    Quote:
    Originally Posted by wbrasington


    On a more serious note, I think most PC users are a bunch of dolts.

    They don't really know what they are buying or why.

    The problem will be glossed over by a simple "the extra memory you have, sets yo up to handle the new MicroSoft changes coming for 64 bit in the future.

    Nevermind that by the time that stuff really gets it's act together the rest of your hardware is obsolete.....



    I'll start with the arrogant part first: implying Mac OSX users/buyers don't have those problems.

    I'll continue with the wrong part: assuming buying more than what you need is a PC user inherent problem, and that most PC user are ignorants. I'd say that most PC users I've met were very well informed, but could be misled by a vendor doing its selling speech, much like any market in this world.



    This is not the 90s anymore.
  • Reply 10 of 147
    Quote:
    Originally Posted by Poltras View Post


    You said:





    I'll start with the arrogant part first: implying Mac OSX users/buyers don't have those problems.

    I'll continue with the wrong part: assuming buying more than what you need is a PC user inherent problem, and that most PC user are ignorants. I'd say that most PC users I've met were very well informed, but could be misled by a vendor doing its selling speech, much like any market in this world.



    This is not the 90s anymore.



    Given that PCs hold 90% of the market, and almost everyone these days has a computer, I don't its that controversial to say that most PC users are completely ignorant of most of the technical issues surrounding 32/64 bits, memory etc. After all, 90% of the market encompasses a lot of grandmas.



    That said, I imagine that the Mac market has a similar level of technical doltitude, especially given all the arty farty types that use Macs.
  • Reply 11 of 147
    Quote:
    Originally Posted by Poltras View Post


    You said:





    I'll start with the arrogant part first: implying Mac OSX users/buyers don't have those problems.

    I'll continue with the wrong part: assuming buying more than what you need is a PC user inherent problem.



    Now if you could get a bit of objectivity...



    Ok, let me spell it out for you.

    Almost ALL computer buyers do not have any idea what they are buying. Ok?

    Stand back in a Best Buy, and LISTEN.

    Go to any other store that sells computers, AND LISTEN.

    People do not know what they are doing. They ask "what's the difference between these two computers", (a 600 dollar one and a 900 dollar one)

    "That one is a better gaming machine, it has a better graphics card and more memory".

    The customer says "Oh Frank plays a lot of games we need THAT one....".

    Meanwhile, back at the house.... "Frank" is busy online playing games.

    The graphics card is going to do NOTHING, the better cpu and memory mean NOTHING.

    If they just upgraded the internet service to the higher speed, the gaming would be a ton better.

    And you will have the guy tell you not to worry about the 4BG of ram, which can't all be used yet but because you've got a 64 bit machine you WILL be able to use it when the new OS stuff comes out. Of course, the world is buying Dell computers with the "Free Downgrade" from Vista to XP(normally a 99 dollar Value but a GREAT selling point to throw in for FREE throwing out Vista) so it isn't likely they will actually still be using the hardware with the 4gb of ram that can't all be used...... by the time they actually start running the OS that CAN take advantage of it.



    The board here may be full of people that aren't dolts.

    But the average person that buys a computer today, isn't like the people here.

    (of course, excuse the people claiming they know how Apple stuff works and them quote problems that do not exist"PC-Fanboys")



    Like it or not, Apple set up to avoid the problem of 57 different versions of one computer based on all the different stuff you can "slide in the slots". You CAN buy an Apple that allows you to do all kinds of stuff, and it is very expensive. IMO, the average dolt level person that walks in a Best Buy and says I need to upgrade will do just fine by buying standard configurations of limited combinations. (something Gateway built their entire business around in 1993)



    A final thought:



    <I'll continue with the wrong part: assuming buying more than what you need is a PC user inherent problem.>



    I never said that.

    But I will say this well enough, and with some arrogance so you will be happy, the problem isn't buying more than what you need. The problem is not knowing what you need and buying features that you either can't use (4gb of ram), or features that don't help do what you think they do(faster CPU when your drive speed is a bottleneck), or lacking features you need that you don't realize you need until a while after you get your computer home.(bluetooth or wifi support)



    These problems are not limited exclusively to the PC world, but Apple has solved some of it by doing things like including wifi and bluetooth even if you don;t want it initially. (forcing the comparative cost up at times) If you want better features, they force you

    into the higher lines. It may be true that you can mix and match the graphics, hard drives, cpu, memory, cache, and communication features, better on a PC than the MAC line. But that is not an advantage for the average dolt running into a computer store to buy a computer for the kids or the house. Those people rarely get the right help, and can NOT spend enough time with a sales rep to match it all up.



    The Mini is what it is, if you think it should be more, you should be buying a bigger model in the MAC line. If you are so stuck in the PC world that you can't get that, then you don't understand the Apple model.

    If you don't understand the Apple model, I don't know what you're doing spending all your time here.

    If you do understand the Apple model and are just complaining they should be more like the PC world, then you're just one of the guys that have been saying it since 1984 and expecting it to EVER matter is foolish expecially after all this time.
  • Reply 12 of 147
    Quote:
    Originally Posted by ajmas View Post


    I too have a Core Duo based Mac, and I can't help interpret much of what is being said as Snow Leopard will be 64-bit only. If this is the case, then a Core 2 Duo will be the new minimum requirement. If I am interpreting this wrong, please correct me.



    That's how I interpret it. However, I don't think it will really be a bad thing to stick with Leopard on computers that cannot run on Snow Leopard as it's said to not have significant end-user changes. It's just shedding some fat going forward. It's also at least a year away.
  • Reply 13 of 147
    Quote:
    Originally Posted by KennyWRX View Post


    What about "half the price"?



    that refers to not having to flush the CPU's TLB to make a system call.
  • Reply 14 of 147
    Quote:
    Originally Posted by wbrasington View Post


    MAC



    For the most part, I like what you've written in this thread, despite being somewhat off-topic. However, writing MAC kinda kills your credibility.
  • Reply 15 of 147
    Quote:
    Originally Posted by Poltras View Post


    You said:



    I'll continue with the wrong part: assuming buying more than what you need is a PC user inherent problem



    There is a HUGE difference between buying more computer than you need (which happens all the time, not just with computers) and paying extra for something you cannot use at all. I can't imagine too many people would be happy to learn that most of the extra 2 GIGs of ram they just paid $250 for at DELL's recommendation is almost completely unusable by the OS. Or to learn that the OS hides the fact that it's unusable.
  • Reply 16 of 147
    Quote:
    Originally Posted by rogue27 View Post


    For the most part, I like what you've written in this thread, despite being somewhat off-topic. However, writing MAC kinda kills your credibility.



    Does it bother anyone that I use all caps for PC?
  • Reply 17 of 147
    ajmasajmas Posts: 601member
    Quote:
    Originally Posted by wbrasington View Post


    Does it bother anyone that I use all caps for PC?



    PC = Personal Computer

    MAC = Media Access Control, as in MAC Address

    Mac = short for Macintosh

    Note the difference between acronyms and abbreviations. Its a touchy point for some
  • Reply 17 of 147
    God, more meaningless hype.



    Firstly is "desperately missing" a technical term? The lack of registers isn't as big a deal in x86 as it's made out to be.



    There is no chicken and egg problem. Companies can roll out 64bit procs and OSes (as is being done) and eventually 64bit applications will arrive. You don't need 64 bit apps for 64 bit OSes, 32 bit apps run fine. Recompiling your app for 64 bits is not a big deal if it's been written properly, which of course many haven't. But the main point is that for most people and applications the memory limitation isn't one. Most apps don't have a pressing need for 64 bits.



    And an important downside has been overlooked. 64 bit applications can take up a lot more memory since integers and/or pointers are twice the size. Depending on what the data structures look like it could take up to twice the memory.
  • Reply 19 of 147
    Quote:
    Originally Posted by alandail View Post


    There is a HUGE difference between buying more computer than you need (which happens all the time, not just with computers) and paying extra for something you cannot use at all. I can't imagine too many people would be happy to learn that most of the extra 2 GIGs of ram they just paid $250 for at DELL's recommendation is almost completely unusable by the OS. Or to learn that the OS hides the fact that it's unusable.



    You're missing a more important point, they've already bought a machine that is largely unusable. Not being able to access the 2G makes little difference.
  • Reply 20 of 147
    Why are you laughing?



    Quote:
    Originally Posted by wbrasington View Post


    Does it bother anyone that I use all caps for PC?



Sign In or Register to comment.