Slashdot Mirror


Apple Freezes Snow Leopard APIs

DJRumpy writes in to alert us that Apple's new OS, Snow Leopard, is apparently nearing completion. "Apple this past weekend distributed a new beta of Mac OS X 10.6 Snow Leopard that altered the programming methods used to optimize code for multi-core Macs, telling developers they were the last programming-oriented changes planned ahead of the software's release. ...`Apple is said to have informed recipients of Mac OS X 10.6 Snow Leopard build 10A354 that it has simplified the`... APIs for working with Grand Central, a new architecture that makes it easier for developers to take advantage of Macs with multiple processing cores. This technology works by breaking complex tasks into smaller blocks, which are then`... dispatched efficiently to a Mac's available cores for faster processing."

16 of 256 comments (clear)

  1. G5? by line-bundle · · Score: 4, Interesting

    what is the status of 10.6 on the PowerPC G5?

    1. Re:G5? by Anonymous Coward · · Score: 1, Interesting

      $ uname -r

      10.0.0d7

      $ file `which bash`
      /bin/bash: Mach-O universal binary with 2 architectures
      /bin/bash (for architecture x86_64): Mach-O 64-bit executable x86_64
      /bin/bash (for architecture i386): Mach-O executable i386

    2. Re:G5? by DECS · · Score: 3, Interesting

      The main feature of Snow Leopard is its 64-bit kernel and an upgrade across the board to 64-bit apps.

      The problem for porting this to PowerPC is that the move to 64-bits only makes things slower on PPC because, as it is based on a modern 64-bit architecture with plenty of registers, it's already gained most of the benefits of 64-bits even when using 32-bit apps. Moving to 64-bit apps just means it has to move around more memory.

      On the other hand, 32-bit Intel CPUs are register starved, so the additional memory overhead of the move to 64-bits is far outweighed by the improvement in moving to the 64-bit "Intel" architecture (developed by AMD).

      So faced with spending twice the efforts to optimize SL for PPC machines that Mac users have known to be marked for death since 2006, resulting in a product that only runs 64-bit versions of PPC apps slower than Leopard, Apple decided to target its modern 2009 operating system to its modern hardware platform.

      There are probably some G5 owners who might like the idea of being able to upgrade to SL, but they probably don't realize that it would only result in some new trim and slower overall performance. And if you compare the number of G5 machines Apple was selling in 2005-2006 with the number of Intel machines it has sold since, you'll see another reason why Apple is supporting Intel exclusively.

      FYI:

      Apple sold 0.8 to 1 million PPC Macs per quarter in 2005-2006.
      Apple sold 2.3 to 2.6 million Intel Macs per quarter in the last year.

      Why Windows 7 is Microsoft's next Zune

  2. Re:Why is multicore programming so hard? by A.K.A_Magnet · · Score: 5, Interesting

    I know it was partially true, I should remember not to be too lazy when posting on /. :).

    Note that I was not talking about automatic parallelization which is indeed possible only with pure languages (and ghc is experimenting on it); but simply about the fact that is is easier to parallelize an application with immutable data structures since you need to care a lot less about synchronization. For instance, the Erlang actors model (also in other languages like Scala on the JVM) still requires the developer to define the tasks to be parallelized, yet immutable data structures make the developer's life a lot easier with respect to concurrent access and usually provide better performance.

    My "It is true" was referring to "functional languages" which do usually privilege immutable data structures, not to Haskell or Lisp specifically (which as you said has many variants with mutable structures focused libraries). As you said, Clojure is itself a Lisp-1 and it does privilege immutable data structures and secure concurrent access with Refs/STM or agents. What is more interesting in the Clojure model (compared to Scala's, since they are often compared even though their differences, as functional languages and Java challengers on the JVM) is that it doesn't allow unsafe practices (all must be immutable except in variables local to a thread, etc).

    Interesting times on the JVM indeed.

  3. Re:Living in the past by evohe80 · · Score: 2, Interesting

    I just hope the Optical Drive goes the same way on notebooks. Most people use it very few times a year (not more than 4 or 5 in my case), and it is more than 250gr (~ half a pound) to carry every time the notebook is moved.

  4. Re:What's up with the punctuation by Anonymous Coward · · Score: 0, Interesting

    Shouldn't the ellipsis be in between square brackets, though? (From what I've learned ALL edits to quote should be within square brackets, to indicate that the it's not part of the original quote... this includes changing "he" to "[name]" and "[sic]" etc.)

  5. Re:Why is multicore programming so hard? by Trepidity · · Score: 5, Interesting

    Yeah that's fair; I kind of quickly read your post (despite it being only one sentence; hey this is Slashdot!) so mistook it for the generic "FP means you get parallelization for free!" pipe dream. :)

    Yeah, I agree that even if the programmer has to specify parallelism, having immutable data structures makes a lot of things easier to think about. The main trend that still seems to be in the process of being shaken out is to what extent STM will be the magic bullet some people are proposing it to be, and to what extent it can be "good enough" as a concurrency model even in non-functional languages (e.g. a lot of people are pushing STM in C/C++).

  6. Why rush to use all the cores? by BlueScreenOfTOM · · Score: 5, Interesting

    Alright guys, I know the advantages (and challenges) of multi-threading. With almost all new processors coming with > 1 core, I can tell there's now a huge desire to start making apps that can take advantage of all cores. But my question is why? One thing I love about my quad-core Q6600 is the fact that I can be doing so many things at once. I can be streaming HD video to my TV while simultaneously playing DOOM, for example. However, when I fire up a multithreaded app that takes all 4 of my cores and I start doing something heavy, like video encoding for example, everything tends to slow down like it did back when I only had one core to play with. Yeah, my encoding gets done a lot faster, but honestly I'd rather it take longer than make my computer difficult to use for any period of time...

    I realize I can throttle the video encoding to a single core, but I'm just using that as an example... if all apps start using all cores, aren't we right back where we started, just going a little faster? I love being able to do so much at once...

    1. Re:Why rush to use all the cores? by jedidiah · · Score: 4, Interesting

      Yup. If applications start getting to good at being able to "use the whole machine"
      again then that's exactly what they will try to do. The fact that they really can't
      is a really nice "release valve" at this point. As an end user managing load on my
      box I actually like it better when an app is limited to only 100% cpu.
      (IOW, one core)

      --
      A Pirate and a Puritan look the same on a balance sheet.
    2. Re:Why rush to use all the cores? by slimjim8094 · · Score: 4, Interesting

      You ought to be able to set your program to only run on certain processors. I know Windows has this feature (set affinity in task manager) so I assume Linux/Mac does as well.

      I'd recommend putting heavy tasks on your last core or two, and anything you particularly care about on the second core - leave the first for the kernel/etc.

      --
      I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
    3. Re:Why rush to use all the cores? by curunir · · Score: 2, Interesting

      Applications shouldn't be concerned with limiting themselves so that they cannot under any circumstances slow down other applications. It's the job of the OS to provide the tools to prioritize applications according to the desires of the user.

      OS X, by virtue of its Unix underpinnings, should support nice/renice to alter the priorities of processes. One would hope that with additional support for developers to make use of multiple cores, Apple would also provide users with increased ability to easily alter the priorities of processes.

      This should give the best of both worlds. You can prioritize your video encoding below your other activities and it will slowly prod along in the background without you noticing all that much. But if you get up to fix yourself a sandwich and pause your DOOM game and your HD video stream, your encoding would speed up to utilize the newly available cores. And once you've made your sandwich and are ready to resume your other activities, your encoding slows back down again.

      The important part is to start learning how to write these kinds of parallelized applications now so that when we have 32+ cores, applications can benefit from the extra processing power. Sure, with 4 cores, there's a good chance that you're running at least as many applications as you have cores, but once the cores start to scale up, that will no longer be the case. And Apple is doing the right thing by encouraging this type of development now so that it enables either Apple (at the OS level) or the user control over how resources are shared. That's the only way that we'll ever get the most out these multi-core machines.

      --
      "Don't blame me, I voted for Kodos!"
  7. Re:What's up with the punctuation by MisterSquid · · Score: 1, Interesting

    There has been a slight shift in the adding of ellipses to passages to indicate omission. In a text that has ellipses in the text itself (for example, Pynchon's Gravity's Rainbow), some scholars use square-bracketed ellipses to indicate omission. In general, the use of bracketed ellipses redundantly and unambiguously signals editorialization.

    That is, until some clever writer begins including square-bracketed ellipses in his or her text [. . .].

    --
    blog
  8. Why would my Mom upgrade to Snow Leopard? by Corrado · · Score: 2, Interesting

    My biggest problem with this upgrade is that it seems more like a Windows Service Pack than a true Mac OS X upgrade. Are we going to have to pay for "new APIs" and "multi-core processing"?

    How does all this help the average user (i.e. my Mom)? WooHoo! They are building a YouTube app and you can record directly off the screen! Big whoop. You can do that today without too much trouble with third party applications. Is the Mac OS X user interface and built-in apps already so perfect that they can't find things to improve?

    I'm usually a pretty big Mac fan-boy but I just can't seem to get excited about this one. Hell, I'm even thinking (seriously) about ditching my iPhone and getting a Palm Pre. sigh...how the world is changing. Has Apple lost it's Mojo?

    --
    KangarooBox - We make IT simple!
    1. Re:Why would my Mom upgrade to Snow Leopard? by MightyYar · · Score: 1, Interesting

      My biggest problem with this upgrade is that it seems more like a Windows Service Pack than a true Mac OS X upgrade.

      I much prefer frequent, incremental updates. The $100 that Apple charges for the OS is peanuts compared to the amount of use it gets.

      Maybe you like the MS upgrade cycle, but look at all the bad press they get for it... you can hardly blame Apple for wishing to avoid that.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  9. Re:Living in the past by Cheech+Wizard · · Score: 2, Interesting

    My only point is Apple saw the demise of the significance of, and need for, floppy drives early and was the first major computer company to stop putting them in their Macs as a standard device. While it took a while, PC makers followed, some sooner than others. I'm sure there are some out there somewhere that to this day have a floppy drive as standard. Nor am I saying Apple was telling anyone, except Apple Mac customers, that floppy drives were no longer of much value. As to the Amiga CDTV, having been an early Amiga 1000 owner, the Amiga was a great computer. It contained a lot of innovations. I wish the Amiga had become main stream. I liked it and was happy when Apple finally switched systems to 'nix after OS 9 because I like access to a command line. And I prefer 'nix systems. None the less, with all the innovation in the Amiga it was not a trend setter.

  10. Cleanup by copponex · · Score: 4, Interesting

    From what I've read, they are cleaning up the code and optimizing it for the Intel platform. Supposedly it will take up less hard drive space and memory, but I'll believe that when I see it. Even if they fail, I'm glad they attempted this cleanup, even if it just inspires Microsoft to do some similar scrubbing with Windows 8. It's about time someone stopped and said, "Hey, instead of shiny feature 837, can we make sure that our web browser isn't leaking memory like a paper boat?"

    It's not really for your mom - it's so she doesn't call you as often.

    I'm usually a pretty big Mac fan-boy but I just can't seem to get excited about this one. Hell, I'm even thinking (seriously) about ditching my iPhone and getting a Palm Pre. sigh...how the world is changing. Has Apple lost it's Mojo?

    I had the same thought. Apple is getting too greedy with their hardware prices, and they continue to screw customers over with their overpriced parts for repair. Plus, the computer world is changing, and they don't seem to understand what's happening.

    Try remotely controlling a Mac with VNC over a cellular broadband connection. It's like sucking a watermelon through a straw. Try creating a virtual network of virtual machines for testing before deployment, which is illegal under Apple's TOS except for their server software. You'll be dragging your toaster into the bathtub by the end of the day.

    Netbooks are evidence that people want computers for convenient access to information, usually located on the internet, and to have something to sync their iPod to. I'm not sure how much longer Apple can charge twice what their competitors are charging and get away with it. And they still have no chance of entering the enterprise market with their hardware costs and licensing restrictions.

    I'm due for a laptop upgrade, and given the choice of a Dell Precision, RGBLED screen, and a dock that supports legacy ports and dual 30" displays, or a slower MacBook Pro with a crappier display for the same price, they're really making the decision for me. I'll continue recommending Macs for friends and family that may call me with technical questions, but if Windows 7 offers the same kind of robustness for half the price, what's the point?