Previous | Next --- Slide 30 of 41
Back to Lecture Thumbnails
Split_Personality_Computer

If you wanted to hyperanalyze this demo, one could consider a variety of programming 'parallels'. For instance, the paper could be considered a global variable with the pencil is the write mutex that allows a variable to modify that resource. Also, when the student had to be told by our professor that he should do the computation in place and then come up, one could consider this setting up a device and establishing communication protocols between it and the CPU. Lastly, having the student have to come up to the front desk to communicate illustrates just how costly it is to have the GPU and CPU communicate to one another. On the other hand, when all four students were next to each other at the table, this could more be considered as cores of a GPU where it isn't quite as costly to communicate between each other (since everyone is already on the GPU).

One thing I was surprised about was that when the four people were adding numbers in parallel with uneven amounts of work, the person with only one number only started adding up the results when everyone else had already finished. I'm interested in whether it would have been any faster had she added the other two numbers to her own while waiting for the final person to finish his summation. I believe this idea of giving starved threads more work while they're waiting for the other threads to finish is sometimes useful.

tcm

Excellent observations!