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."

18 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 chabotc · · Score: 4, Informative

      Snow Leopard is going to be the first version of Mac OS X that only runs on Intel Macs, so I'm afraid you're going to be stuck on plain old leopard

  2. Re:What's up with the punctuation by Anonymous Coward · · Score: 5, Funny

    Perhaps the editor doesn't know how to edit?

    Oh wait, kdawson, never mind.

  3. Re:Snow leopard is such an apt codename by Anonymous Coward · · Score: 5, Funny

    I almost threw up.

  4. Re:What's up with the punctuation by noundi · · Score: 4, Informative

    Because it's a qoute. You see there are rules to any language and one of them in the English language is regarding quoting. When you quote a source the text written must be matching every word of the source. When the quote contains unnecessary text to the topic at hand you cut out that part and replace it with three periods. This indicates that there's a piece missing from the original quote, in case e.g. someone is questioning the quote at hand. So you see quoting is not interpreting, and must be, at all times, matching every word of the source.

    Turn to side B for the next lesson.

    --
    I am the lawn!
  5. Re:Why is multicore programming so hard? by A.K.A_Magnet · · Score: 5, Informative

    Haven't video game programmers been doing it forever, doing some things on the CPU, some on the graphics card?

    The problem is shared-memory, not multi-processor or core itself. Graphics card have dedicated memory or reserve a chunk of the main memory.

    And I heard functional languages like Lisp/Haskell are good at these multi-core tasks, is that true?

    It is true, because they privilege immutable data structures which are safe to access concurrently.

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

    And I heard functional languages like Lisp/Haskell are good at these multi-core tasks, is that true?

    It is true, because they privilege immutable data structures which are safe to access concurrently.

    Only partly true. Even in pure functional languages like Haskell, the functional-programming dream of automatic parallelization is nowhere near here yet; in theory the compiler could just run a bunch of thunks of code in parallel, or speculatively, or whatever it wants, but in practice the overhead of figuring out which are worth splitting up has doomed all the efforts so far. It does make some kinds of programmer-specific parallelism easier; probably the most interesting experiments in that direction, IMO, is Clojure's concurrency primitives (Clojure's a Lisp-derived language with immutable data types, targeting the JVM).

    Lisp, FWIW, doesn't necessarily privilege immutable data structures, and isn't even necessarily used in a functional-programming style; "Lisp" without qualifiers often means Common Lisp, in which it's very common to use mutable data structures and imperative code.

  7. 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.

  8. 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++).

  9. Re:Living in the past by Ash-Fox · · Score: 5, Insightful

    Alas, as when Apple stopped putting floppy drives in Macs, others followed.

    Not really, PCs had disk drives for many more years. It was only when DVD writers became standards did it stop appearing in models.

    Also, what other PC manufacturers even use PPC?

    --
    Change is certain; progress is not obligatory.
  10. Re:What's up with the punctuation by jbolden · · Score: 4, Informative

    No ellipse is not a change to the text but a deletion from the text.

  11. 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.
  12. i don't know you but... by Anonymous Coward · · Score: 5, Funny

    I always read it as "Slow Leopard"

  13. Thanks for Playing by Anonymous Coward · · Score: 4, Informative

    I'm one of the seed testers, and even posting anonymously, I am concerned not to violate Apple's NDA. So, I'll put it like this: I have 2 PPC machines and an Intel machine. I have only been able to get the SL builds to work on the Intel machine due, I'm pretty sure, to no fault of my own.

  14. 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?

  15. Re:Why would my Mom upgrade to Snow Leopard? by Homer1946 · · Score: 5, Insightful

    My impression of most Apple users is that they want not to use Microsoft products and do hide inside an elitist little club where there is no need for most of them to be concerned about technical issues. That's fine if that is what they want but those same people should not try to argue with people who do know what they are talking about when it comes to OSes - at least, in my case, when it comes to UNIX, Linux or Windows.

    Most Apple people I know are very knowledgeable about other operating systems and make informed choices to use Macs. What does drive us nuts are those who criticize our choices but also freely admit...

    I don't use Apple.

    and

    I know nothing about OSX.