Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
IBM Supercomputing Software Transportation Science Technology

Stanford Uses Million-Core Supercomputer To Model Supersonic Jet Noise 66

coondoggie writes "Stanford researchers said this week they had used a supercomputer with 1,572,864 compute cores to predict the noise generated by a supersonic jet engine. 'Computational fluid dynamics simulations test all aspects of a supercomputer. The waves propagating throughout the simulation require a carefully orchestrated balance between computation, memory and communication. Supercomputers like Sequoia divvy up the complex math into smaller parts so they can be computed simultaneously. The more cores you have, the faster and more complex the calculations can be. And yet, despite the additional computing horsepower, the difficulty of the calculations only becomes more challenging with more cores. At the one-million-core level, previously innocuous parts of the computer code can suddenly become bottlenecks.'"
This discussion has been archived. No new comments can be posted.

Stanford Uses Million-Core Supercomputer To Model Supersonic Jet Noise

Comments Filter:
  • by Nadaka ( 224565 ) on Tuesday January 29, 2013 @06:23PM (#42732669)

    Pfft. I can simulate supersonic jet noise just by overclocking my Radeon 7970.

    • Re: (Score:3, Funny)

      by Anonymous Coward

      Pfft is my simulation of jet noice

    • by flyneye ( 84093 )

      I can get it by flipping the switch on my amp and running a pick down the low E string on my Ibanez. They seriously needed a million processors? Sounds like government had a hand in that one.

    • by mikael ( 484 )

      My first tower desktop left dark dust-marks against the wall where the fans were. Told my parents that I forgot to turn the after-burners off after take-off.

  • by Anonymous Coward

    I don't know. The word just popped into my head.

  • everything is in the subject

    • It's not really about cores... per se. Titan, which is faster than Sequoia, has about one third of the cores. ( I realize you just wanted to say something related to the number 4 to point out the weirdness that is being able to name yourself perfectly in line with the UID you should have randomly been assigned... to which I say... wtf how)
  • Fwoooooooooooosh. Fwoooooooooooooooooooooooooosh. KWEEEOW. Fwooooooooooooooosh.
    • That sounds amazingly similar to the sound I hear when slashdaughters make programming jokes.
      • Slashdotters don't have sex, and so they cannot have slashdaughters. Ergo, slashdaughters do not exist. QED.

        • There's that sound again.
        • Slashdotters don't have sex, and so they cannot have slashdaughters. Ergo, slashdaughters do not exist. QED.

          Slash has had sex with many, many women over the years.
          I'm sure he has at least a few Slashdaughters.

  • ... CPU fans ought to do the trick.

  • by girlinatrainingbra ( 2738457 ) on Tuesday January 29, 2013 @07:09PM (#42733049)
    Okay, so I see that they have 1,572,864 cores which happens to be
    1 572 864 = 2**19 + 2**20 = (2**19)*3 = (524288)*3
    I'm wondering about how they've connected the CPUs. There's probably 4 cores per cpu, so drop the powers of 2 by two above. There's a link on the Wired article [wired.com] that says:
    But Sequoiaâ(TM)s processors are organized and networked in a new way â" using a âoe5D Torusâ interconnect. Each processor is directly connected to ten other processors, and can connect, with lower latency, to processors further away. But some of those processors also have an 11th connection, which taps into a central input/output channel for the entire system. These special processors collect signals from the processors and write the results to disk. This allowed most of the necessary communications to occur between the processors without a need to hit the disk.

    But searching for "5-d torus interconnect" gets you nothing on wikipedia. Here's the 2-dimensional version explanation: http://en.wikipedia.org/wiki/Torus_interconnect [wikipedia.org]
    and the K computer by Fujitsu [wikipedia.org] at Riken uses a 6-d (six dimensional) torus network. So how does the 5-d torus interconnect lead to the 2**19 + 2**20 cores or possibly 2**17+2**18 cpus? I'm not seeing it in my head clearly. Off to a paper-napkin to sketch it out!
    .
    Each core connects 5-dimensionally going forward or back in each dimension gives 10 interconnects from one core to the 10 5-dimensional neighbors one distance away. But the number of cores is divisible only by twos and a three (factor number of cores = 3 * 2^19) so I'm not seeing the construct...

  • simulate the Matrix?

  • I believe Wikipedia still lists this as the world's fastest... which is in fact false. That title currently goes to ORNL's Titan.
  • But what was the question?

  • by Dadoo ( 899435 ) on Tuesday January 29, 2013 @08:28PM (#42733609) Journal

    You get some pretty interesting problems, when you increase the number of cores in your computer.

    A couple of years ago, we replaced a 4-core IBM P5 with a 32-core HP DL 580. We tested it for a couple of months with just a user, or two, at a time. Then, we took a day and tested with the entire company (roughly 250 users). Thank goodness we did before we put it into production because, for some people, it was actually slower than the P5. It looked like it was going to be a disaster.

    Fortunately, I had seen this problem before (on a Sequent Symmetry, of all things). I ran "strace" on the offending process, and sure enough, we were having problems with lock contention. We talked to our software vendor and, while it took a while for them to admit it was their problem (and probably cost us multiple thousands of dollars to have them fix it), they rewrote the code to use fewer locks. Problem solved.

    • by fatphil ( 181876 )
      I do hope you got to review the patches?

      "Using fewer locks" often means "data integrity goes down the drain".
      That race condition could never to happen to us, right?
      • by Dadoo ( 899435 )

        I do hope you got to review the patches?

        Of course not. It's closed-source software.

        Thankfully, they were only reading the file. Why they were locking it, in the first place, I'll never know.

  • I was able to calculate the noise from the jet *inside the cabin* without so much as a calculator...

  • "The waves propagating throughout the simulation require a carefully orchestrated balance between computation, memory and communication."

    This statement seems to imply the outcome of the simulation depends somehow on the tuning of the system hardware. That has dire implications for whatever method they are using.

    If a simulation becomes non-deterministic depending on how the hardware communicates, and gives different solutions to the same problem because of that, then I would say it is not a good approach to

    • by HuguesT ( 84078 )

      I think the way the sentence is constructed is slightly confusing. They are not talking about the simulated sound waves but about the computation waves. This type of code is not monolithic, but runs through various phases during computation (as in map-reduce for instance). To remain efficient, you have to orchestrate the nodes to remain in sync to avoid costly idling locks.

      Typically, some parts of CFD or other scientific simulations may include non-deterministic steps, e.g. mathematical optimization often b

    • by mikael ( 484 )

      It means they have to match the speed at which calculations are performed on chunks of data against the speed that these chunks can be propagated to and from neighbors. Then every now and again they need to save checkpoints or saves of the entire simulation, so they don't lose months of calculations.

  • by 140Mandak262Jamuna ( 970587 ) on Tuesday January 29, 2013 @08:54PM (#42733787) Journal
    Most of these CFD problems are time marching problems, governed by hyperbolic differential equations. Basically the state of fluid at some point X, at time t, is influenced only by the state of the fluid prior to that time. So when they are marching from t to t+delta(t), only the solution at the previous time step matters. Even in space, only a small region at T-Delta(t) affects any give point at T. Such problems are inherently parallel in data dependency. Such problems lend themselves for parallelism. This is not to minimize what they have achieved. If it was that easy, they would have done it long time ago. Physics governed by elliptical (and to some extent parabolic) equations are not that lucky.
    • Thank you for this info.

      Do you have some example of physics related to other classes of equations ?

      Wikipedia [wikipedia.org] confirms this and also tells us that heat equations are parabolic, but there aren't much examples.

      • Laplace's Equation and Poisson's Equation are examples of elliptic equations. Among other things, Laplace's equation can be used to model irrotational fluid flows, and Poisson's equation can be used to relate spatial electric charge distributions to electric potential, which can in turn be related to an electric field.

        I'm not extremely experienced with the details of numerically solving these equations numerically in parallel, but generally the solution of an elliptic equation at a given grid point depend
      • by HuguesT ( 84078 )

        Whereas wave equation problems are propagation problems, the theory to solve the corresponding PDEs is well understood and can rely on explicit finite differences or finite element schemes which are known to be stable, for instance under the Courant–Friedrichs–Lewy condition (look this up if you want). The corresponding code "only" requires matrix additions and multiplications, this is why for this problems the Linpack benchmark is relevant.

        On the other hand the parabolic Laplace and Poisson equ

        • On the other hand the parabolic Laplace and Poisson equations can only be solved by matrix inversion.

          You can, but you don't have to. A common undergrad PDE computing task is to solve Laplace's equation using finite differencing. If at each time step you make the value of the current point equal to the average of the 4 surrounding points at the previous step, then you converge to the solution.

          All you're doing is solving Ax=b, so any style of solver will work just fine, including but not limited to direct sol

    • by fatphil ( 181876 )
      They may be inherently parallel, but they aren't "embarassingly parallel". When partitioning 3-space (or whatever dimension you're working in), you need to know what your neighbouring cells' boundaries look like before you can progress. The more cells you have, the smaller the cells are, and the larger the ratio of border data to internal data.

      With 1.5 million nodes, space could be partitioned into 64x64x384 cubical regions (from the piccy in the article they are simulating a non-cubic region). Not having *
  • by PhrostyMcByte ( 589271 ) <phrosty@gmail.com> on Wednesday January 30, 2013 @12:40AM (#42735011) Homepage

    At the one-million-core level, previously innocuous parts of the computer code can suddenly become bottlenecks.

    When they say this, they mean it. To put this in perspective: with 1,572,864 cores, an application which is 99.9999% scalable will use LESS THAN HALF of the hardware! Over 60% of the hardware will be tied up waiting for that 0.0001% of serial code to execute.

    This problem is explained by Amdahl's law [wikipedia.org], an important (yet depressing) observation which shows just how difficult writing an effective parallel algorithm actually is -- even when you're only writing for 4 cores.

    • by fatphil ( 181876 )
      Amdahl's law can't sensibly be applied to this problem, it's inherently too simplistic (Amdahl's law, that is).

      You can use Amdahls law to go in the reverse direction from the speedup seen to a figure for the "parallelisabiliy" of the implementation of the solution to the problem, but that's just a meaningless number. You're more interested in the speedup you achieved, there's no need to bring Amdahl's law into discussions at all.

      I'm not saying Amdahl's law is useless, I frequently have to bring it to the at
    • There's Gustafson's Law [slashdot.org] exactly for this. Amdahl's law is not appropriate at this case. In fact, even the Wikipedia page of Amdahl's law mentions this. You are never going to use a computer with 1 million cores to do something done manageable time for a 4 core cpu or whatever. If the portion of the code that is serial is consistently small (let's suppose just reading the initial conditions from a text file) then you make sure you are applying the 1 million-cpu machine to a large enough job.

      People don't want

How many hardware guys does it take to change a light bulb? "Well the diagnostics say it's fine buddy, so it's a software problem."

Working...