嘟嘟老窝

上帝给了我一双黑色的眼睛,我却用它来翻白眼......

导航

« 挑“百度搜藏”的刺 [转]Java 2007:新年展望 »

多核带来的质变

这两年已经没多少人提摩尔定律了,按照18个月CPU性能翻一番,价格减一半的说法,如今起码也应该奔六,奔七。可经过30多年的发展,CPU的主频速度已经接近物理极限,很难再提高CPU的主频了,Intel、AMD、IBM、SUN这些主流CPU厂商在发现这种现象后已经不情愿的开始转变研发方向,从以往的单一提高主频,到如今的超线程、多核CPU转变。

多核时代才会真正的带来多线程编程技术的流行和实用,以往的多线程编程最多基于OS层,而向C、C++这些编程语言要想实现多线程还得借助于语言本身的扩展和操作系统底层API扩展。

Java、C#这些天生具有多线程功能的语言将会更加大行其道,而向PHP、Ruby这些没有多线程支持、或者假多线程的语言将遇到发展的大障碍。

除过多线程编程的普遍,集群、分布式计算也会迎来真正的春天,以往碰到复杂计算和需要超负荷运行支撑系统时最简单的解决办法就是提高硬件性能,以后单纯的提高硬件已经不实际了,只能依靠多核和分布式计算,所以像P2P、网格计算、分布式数据库、集群计算这些东西会越来越普及,甚至SOA这种组件复用为主的技术也会沾分布式的光而大放异彩。

  • 该日志的引用地址:
  • http://www.duduwolf.com/cmd.asp?act=tb&id=322
  • 相关文章
  • 1.cap | (home)
  • 我觉得java, c# 反而不会大行其道, 因为这些语言仅仅是支持多线程而已,并没有对其做syntax sugar,如果真的大规模运用, 还是不方便的
    再说了,分布式计算关键是架构,这个方面以后恐怕还是functional的天下
  • 2006-12-14 19:57:01
  • 2.LOUSHAO.COM | (home)
  • 多核对服务器带来的性能提升最明显
  • 2006-12-15 8:43:01
  • 4.Cloudream | (home)
  • Google服务器都多核么?呵呵……
  • 2006-12-18 17:52:43
  • 6.ice | (home)
  • 没什么道理的论证。
    以PHP为例,在PHP最主要的应用领域web服务器端处理上,多核给它带来的好处可以说是零成本的:PHP本身不需要任何改变,只要web服务器支持将并发的访问请求分配到各个不同的物理核心处理就可以立刻享受到多核的好处。而主流的web服务器基本都有这个能力。各个访问之间完全没有关系,可以彻底并行,彻底发挥并行处理的优势。
    反倒是java这类的“支持”多线程语言,编译器如何将线程合理的对应分配到各个核心(还得考虑更复杂的情况,一套程序可是要同时运行在各种平台上的,其中很多还是单核心呢)?程序员写程序的时候有多大比例会使用多线程?使用多线程的程序各个线程之间的相关性有多大,由此导致的并行度下降又该怎么计算?综合考虑种种因素,享受到的优势实在非常、非常有限。
  • 2007-1-3 22:48:28
  • 7.ice | (home)
  • 至于分布式计算,p2p居然也能和多核心放在一起说,只能说,作者的根本对这些概念都不了解就出来吹牛了。
  • 2007-1-3 22:49:48
  • 8.netkiller | (home)
  • 我看好php,同意# 6.ice | (home)
    目前PHP人才短缺,搞Java的人一堆。
    php程序员的¥¥已经和Java一样或超过java.
  • 2007-1-13 8:30:32
  • 9.netkiller | (home)
  • 不知有玩分布式计算的朋友没。
    有时间去看看BOINC代码,就知他是怎么分配CPU资源。
  • 2007-1-13 8:32:03
  • 10.janry | (home)
  • 赫赫!
    友情连接呢!
    谢谢!
  • 2007-1-23 20:05:03
  • 13.freddy | (home)
  • 我觉得作者纯粹就是在想当然的猜测,缺乏对于计算机底层的了解。
    并发跟多线程是两个概念。java对多线程的支持良好,并不代表它对并发编程的抽象足够。对于高IO请求的web应用来说,在单核服务器上异步IO多进程方式性能远高于多线程,多核服务器相差会小一些,但异步IO无疑还是更好的选择。多核对于服务端编程的影响并没有想象中大,当然,还有更多的工作要做。对于客户端需要高CPU计算的应用,才是多线程发挥优势的地方,表现在图形处理,游戏等等,而事实上,java在这些地方并不是长项。
    未来多核时代并发编程要求函数编程语言如erlang,更好的抽象模型,这些目前所有编程语言都不具备,相比之下,至少ruby这类动态语言在函数编程抽象上是强于java的,至于在客户端高CPU应用中,ruby当然不会有用武之地,也从来没有过。
    看过作者不少blog了,很多评论都是非常想当然的,技术名词了解了一点就开始下结论。
  • 2007-2-7 13:04:35
  • 15.alleffort | (home)
  • 您好,请问在您blog上购买文字链接的每个月价格是多少,如果能合作的话请发价格到advertising@alleffort.com,希望合作愉快:)
  • 2007-2-15 15:59:52
  • 17.Kenny | (home)
  • 摩尔定律是说半导体的集成度翻一倍,不是说速度。

    都怪国内的编辑记者,把这个给宣传错了。
  • 2007-4-12 10:11:25
  • 19.安利 | (home)
  • 你的博客顶强,以后多来学习!
  • 2007-8-2 21:11:37
  • 20.junphine | (home)
  • php这么垃圾的语言竟然有人看好。刚开始就是几个学生自己玩出来的,怎么能和Java比。
  • 2007-8-8 23:50:18

反向链接列表

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

<< 2008·11 >>

Sun

Mon

Tue

Wen

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

Search

Powered By Z-Blog 1.4 SP1 Build 50824 - modify by duduwolf

Copyright 1999-2005 duduwolf.com Some Rights Reserved.