In the beginning, I show my thanks to the professor, Guy Blelloch.
These days, after listen to the class given by the professor, Guy, who came from the CMU, I benefited a lot from his class.
Although my English is poor, I still want to write this article in English.
Some code for example will be given in ML (a kind offunctional program langrage), and I advise people who are reading this articleto learn this language, it must be much helpful.
First,let me to introduce the beginning part of this thought. We mark the ‘W’ takeplace of the work of the things we want the computer to count it, and also the ‘S’to the span (the longest time spent when there are as many as possible cores wehave to do the things), it will come to that, with the countable cores we have(let me assume it was p), and it will be the answer:
Because, as we all know, only some part ofthe W can be done in the same time, so T must be bigger than W/p, on the otherhand, S was the time when there are enough cores, in fact, we only have pcores, which means that when we do a thing which need more then p cores, some datawill be waiting for others to finish. So, T must be also bigger then S, the left hand has been proved. Now, let’s turn to the right one, I have been made amistake about the define of the span when I listen to my teachers, but with theGuy’s lesson, I make sense of point, which is a little import in the thought,because the span is the time which is cost when we have enough cores, so to thepart of things we can do Paralleled, the time is always closed to a ‘const’ (maybebigger then it),so, span is always stand for the time of the part we can onlydo in seq-time, but not par-time. On the other hand, W/p means the time when all the work we can do in p cores, let me divide the work into two parts, ‘Wseq’add to ‘Wpar’, and it come to be that Wseq<span and Wpar<W/p, so theright part has been proved. ( this article to be continue….)