Why is SMP better than the classic client?

From FaHWiki

Jump to: navigation, search

Any Distributed Computing project splits up large jobs into smaller work units, that can be run in parallel. That approach has it's imitations, however, when you're simulating a process that takes a huge amount of CPU time. Significant portions of protein simulation must be done serially and that makes processor throughput/speed an important factor. For this reason, SMP does make better use of multi-cored hardware than parallel uniprocessor clients can.

One fact that is not is obvious is that a FAH project does run out of WUs. (and that's a good thing.) Each project consists of a predefined number of trajectories (paths). Once all the WUs have been assigned to someone, the server must wait for someone to finish their assignment. When a result is returned, a new WU is generated. Similarly, if someone fails to return a result and the deadline expires, the server assumes it is lost and it reissues the same WU to someone else. In either case, the server is no longer out of WUs and someone else will be assigned work for that project again.

You can think of each project as a multitude of paths. Each WU is a step along that path. The goal of the server is to run out of WUs because when it does, somebody is actively working on the current step along each path.

The steps along each path of a simple protein are faster (or fewer) than the steps along each path of a complex protein. Adding more paths doesn't help when you MUST travel a certain distance down each path. If the completion of these serialized steps along a single trajectory cannot be completed in a reasonable time (we're talking Months or Years, here) by assigning them to single CPUs, other methods must be developed. All of the recent improvements to FAH have been focused on improving the turn-around time for the more time-consuming projects. The developments for SMP/PS3/GPU all harness multiple parallel processors on a single assignment, allowing the deadlines to be MUCH shorter than they are for the uniprocessor assignments. Without these improvements, FAH can only study smaller proteins.

There still are scientific advances that can be made by uniprocessor clients but they cannot tackle the projects that are now being processed by SMP/PS3/GPU clients or envisioned for the future. (There also are differences between what those three clients can handle, but I won't go into those details here.)

Personal tools