ZZ 老高(Donald E.Knuth)对多核的看法,偶很认同
http://www.informit.com/articles/article.aspx?p=1193856
Andrew: Vendors of multicore processors have expressed frustration at the
difficulty of moving developers to this model. As a former professor, what
thoughts do you have on this transition and how to make it happen? Is it a
question of proper tools, such as better native support for concurrency in
languages, or of execution frameworks? Or are there other solutions?
Donald: I don't want to duck your question entirely. I might as well flame a
bit about my personal unhappiness with the current trend toward multicore
architecture. To me, it looks more or less like the hardware designers have
run out of ideas, and that they're trying to pass the blame for the future
demise of Moore's Law to the software writers by giving us machines that work
faster only on a few key benchmarks! I won't be surprised at all if the whole
multithreading idea turns out to be a flop, worse than the "Titanium"
approach that was supposed to be so terrific-until it turned out that the
wished-for compilers were basically impossible to write.
Let me put it this way: During the past 50 years, I've written well over a
thousand programs, many of which have substantial size. I can't think of even
five of those programs that would have been enhanced noticeably by
parallelism or multithreading. Surely, for example, multiple processors are
no help to TeX.[1]
How many programmers do you know who are enthusiastic about these promised
machines of the future? I hear almost nothing but grief from software people,
although the hardware folks in our department assure me that I'm wrong.
I know that important applications for parallelism exist-rendering graphics,
breaking codes, scanning images, simulating physical and biological
processes, etc. But all these applications require dedicated code and
special-purpose techniques, which will need to be changed substantially every
few years.
Even if I knew enough about such methods to write about them in TAOCP, my
time would be largely wasted, because soon there would be little reason for
anybody to read those parts. (Similarly, when I prepare the third edition of
Volume 3 I plan to rip out much of the material about how to sort on magnetic
tapes. That stuff was once one of the hottest topics in the whole software
field, but now it largely wastes paper when the book is printed.)
The machine I use today has dual processors. I get to use them both only when
I'm running two independent jobs at the same time; that's nice, but it
happens only a few minutes every week. If I had four processors, or eight, or
more, I still wouldn't be any better off, considering the kind of work I
do-even though I'm using my computer almost every day during most of the day.
So why should I be so happy about the future that hardware vendors promise?
They think a magic bullet will come along to make multicores speed up my kind
of work; I think it's a pipe dream. (No-that's the wrong metaphor!
"Pipelines" actually work for me, but threads don't. Maybe the word I want is
"bubble.")
From the opposite point of view, I do grant that web browsing probably will
get better with multicores. I've been talking about my technical work,
however, not recreation. I also admit that I haven't got many bright ideas
about what I wish hardware designers would provide instead of multicores, now
that they've begun to hit a wall with respect to sequential computation. (But
my MMIX design contains several ideas that would substantially improve the
current performance of the kinds of programs that concern me most-at the cost
of incompatibility with legacy x86 programs.)
[ 本帖最后由 prolj 于 2008-5-17 13:10 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
翻译一哈,看得累呢
直白的说就是,以前大家都是修炼武功比比谁更厉害,知道大家都很厉害了,某些人就搞起了七星北斗阵,7个打1个。
老高认为应该继续个人修炼,我觉得一个核很牛X的话,对于多个核是很有帮助的
天下局势,分久必合,合久必分,呵呵
不错,很人性化的说法
有理,技术的发展常常有轮回的现象发生.
LZ看了老高的TAOCP没?
大三的时候浏览过1、3,当时觉得第2卷实在没意思,跟没看一样
第2卷讲随机数,看得很是头疼,数学跟不上,我也没坚持下来,而且感觉翻译的不太好。(没有冒犯前辈的意思 )