Skip to main content

Currently Skimming:

8 A Computer Science Perspective on Computing for the Chemical Sciences
Pages 109-124

The Chapter Skim interface presents what we've algorithmically identified as the most significant single chunk of text within every page in the chapter.
Select key terms on the right to highlight them within pages of the chapter.


From page 109...
... to keep the calculation moving when delays arise in sequential computation; and (3) to overcome fundamental limitations, like the speed of light, that bound the speed of sequential computation.
From page 110...
... That time-sharing technology is actually quite old at this point. Part of the difficulty in exploiting the parallelism available even on a single processor is that the improvements in different aspects of a computer are not occurring uniformly (Figure 8.1~.
From page 111...
... (In a · Intended to mitigate processor/memory gaps · As storage capacity increases, speed of access decreases · Caches hold values that are spatially and temporally close processor control datapath | registers Speed (ns) : is lOs Size (bytes)
From page 112...
... There are data written by a part of the computation executing on one processor and read by other parts of the computation executing on other processors. Maybe the processors are actually physically sharing memory as well; maybe they are not.
From page 113...
... In order to keep the processors busy all of the time doing useful work, the data they need must be in the right place in the right time. That means moving information around from one place to another in the memory hierarchy: from one memory to another, from memory to cache to registers and so on.
From page 114...
... | interconnect memory A: I I I I I I I I I I I I I I I I I I · Multiple processes (threads) use Shared Address Space - each has a set of private variables - collectively have a set of shared variables - communicate implicitly through shared variables - coordinate explicitly by synchronization operations on shared variables FIGURE 8.3 Shared memory machine/programming model.
From page 115...
... If that decomposition of the problem is done wrong, then you have the situation in which some processors sit idly waiting for other processors to complete. That situation sometimes is described as a load imbalance.
From page 116...
... Moving data around only indirectly advances the computation, and too much slow data movement can undo the benefits of high degrees of parallelism. And again, the trade-offs are different for different architectures.
From page 117...
... To what extent can the computational science and computer science community hide from the applications programmer the lower-level details? Can we hide details about sending a message, receiving a message, synchronizing, and so on so that it doesn't clutter up the thinking about what is going on at the higher-level strategy?
From page 118...
... It is difficult enough to think about solving one application on one of these complicated parallel computing systems; now we want to reach out and get data from some other computational platform that has different characteristics. Creating ambitious simulation and modeling systems requires collaboration.
From page 119...
... The strategies one needs to solve scientific problems in the kinds of computing environments I have described require deep knowledge of the domain, in this case chemistry, and also deep knowledge of information technology in order to put things together and make it all work. Ideally, one would have very expert computational chemists, people who are wonderful chemists and wonderful information technologists and understand how to put those two areas together.
From page 120...
... Finally, there is an issue that I know many people in the chemistry community have struggled with, namely, that even though in principle we can build these very high performance, very powerful systems such as the one Paul Messina described, how is the average bench scientist going to get access to them? In closing, let me just say a little bit about the committee I am on, the President's Information Technology Advisory Committee (PITAC)
From page 121...
... By scalable information infrastructure we mean not only networking, but also all of the information that lives on our networks all the Web pages, databases, and mail systems; everything that involves using information in a networked environment. Thus there are significant software issues there as well.
From page 122...
... One of the things that I have been wondering about is the different architectures. I use massively parallel distributed memory computers, but all these shared memory computers are coming along.
From page 123...
... Also, one comment relative to the question that Evelyn GolUfield asked is that we at Pacific Northwest National Laboratory, and people in other places, have developed computing infrastructures. Ours are called global arrays that actually run on distributed memory computer systems, shared memory computer systems, and a collection of workstations, all of which is entirely transparent actually to the applications programmer.
From page 124...
... In your case, the information is obtained asynchronously, yet the computational models that you describe operate synchronously. Although you are parallelizing the computational tasks, under the synchronous model you are forced to wait for the slowest task to execute and you do not use all of the latest information in executing the tasks.


This material may be derived from roughly machine-read images, and so is provided only to facilitate research.
More information on Chapter Skim is available.