Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 17 submissions in the queue.
posted by janrinok on Monday May 07 2018, @09:51AM   Printer-friendly
from the not-yet-solved dept.

Submitted via IRC for SoyCow3941

Simulating complex systems on supercomputers requires that scientists get hundreds of thousands, even millions of processor cores working together in parallel. Managing cooperation on this scale is no simple task. One challenge is assigning the workload given to each processor core. Unfortunately, complexity isn't distributed evenly across space and time in real-world systems. For example, in biology, a cell nucleus has far more molecules crammed into a small space than the more dilute, watery cytoplasm that surrounds it. Simulating nuclei therefore requires far more computing power and time than modeling other parts. Such situations lead to a mismatch in which some cores are asked to pull more weight than others.

To solve these load imbalances, Christoph Junghans, a staff scientist at the Department of Energy's Los Alamos National Laboratory (LANL), and his colleagues are developing algorithms with many applications across high-performance computing (HPC).

"If you're doing any kind of parallel simulation, and you have a bit of imbalance, all the other cores have to wait for the slowest one," Junghans says, a problem that compounds as the computing system's size grows. "The bigger you go on scale, the more these tiny imbalances matter." On a system like LANL's Trinity supercomputer up to 999,999 cores could idle, waiting on a single one to complete a task.

To work around these imbalances, scientists must devise ways to break apart, or decompose, a problem's most complex components into smaller portions. Multiple processors can then tackle those subdomains.

The work could help researchers move toward using exascale computers that can perform one billion billion calculations per second, or one exaflops, efficiently. Though not yet available, the Department of Energy is developing such machines, which would include 100 times more cores than are found in most current supercomputers. Using a process known as co-design, teams of researchers are seeking ways to devise hardware and software together so that current supercomputers and future exascale systems carry out complex calculations as efficiently as possible. Fixing load imbalance is part and parcel of co-design.

Source:
https://www.hpcwire.com/off-the-wire/los-alamos-scientists-attack-load-balancing-challenge


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by bzipitidoo on Monday May 07 2018, @09:27PM

    by bzipitidoo (4388) on Monday May 07 2018, @09:27PM (#676795) Journal

    As you say, an easy way to avoid idling is to work on more than one problem instance at a time. The Great Internet Mersenne Prime Search takes that approach. Each computer is working on one number at a time, no parallelism finer grained than that. No need. Takes a few months for one computer to check one 20 million digit number, but they felt that trying to parallelize it more was not worth doing. More computers are simply given more of the infinite supply of numbers to crunch.

    100 computers all working in parallel to check one number could finish in perhaps 1 day. Or the 100 computers could independently work on 100 separate problem instances and finish them in 100 days. Either way, you get 100 solutions in 100 days.

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2