exp吧 关注:5,798贴子:229,719
  • 12回复贴,共1

【蛋疼属性】“老子”是伟大的多核计算科学家

只看楼主收藏回复

1楼2008-11-14 23:46回复
    “老子”是伟大的多核计算科学家

     

    道家的思想可谓博大精深,“老子”的《道德经》成为翻译为外国文字最多的中国书籍,同时也是世界上翻译成外国文字第二多的书籍,仅次于圣经。要知道,《圣经》子所以成为翻译成外国文字第一多的书籍,是因为有10多亿的基督教徒。不要说在国外,即使在中国国内,现在也没有多少道教徒,道家的思想却能在世界上流传如此之广,实在让人觉得是“玄之又玄”。

     

    也许有人会纳闷,“老子”为道家思想的创始人,生活于春秋末期,那时不要说计算机,连能用来进行手工计算的草稿纸都没有发明,怎么会成为了伟大的多核计算科学家呢?这该不会是瞎忽悠人吧。

     

    我要说的是,这决不是瞎忽悠人。虽然“老子”所处的时代没有计算机,但是它提出的道家思想中,蕴含了现代多核计算的一些基本原理和思想在内。从这个角度讲,“老子”确实是一位伟大的多核计算科学家。

     

    道家的思想中,无非就是“无为”、“小国寡民”、“大智若愚”、“大巧若拙”、“大音希声”、信言不美、美言不信、…等各种思想。这些思想普遍都认为是一些哲学思想,这和作为科学的多核计算看上去好像是风牛马不及的事啊!老子又怎么能成为科学家呢?难道道家思想里真的蕴含了我们所不知道的多核计算原理和思想在里面?

     

    没错,道家思想里确实蕴含了现代多核计算的原理和思想在内。当然,这不是说白话,得拿出实际证据来证明它才行。下面就以一些多核计算方面的实例来论证道家思想中蕴含的深刻思想,从中也许可以窥见它的“众妙之门”中的冰山一角。

     
    小国寡民与多核计算

    不妨先从“小国寡民”思想说起,“小国寡民”历来被看成是近似乌托帮式的无法实现的理想,在人类社会史中,好像还没有见过那朝那代实现过这个理想。更有人认为这是一个不切实际的想法,甚至认为是错误的思想。可喜的是,这个理想不仅非常正确,而且现在在多核计算中变成了现实,也就是说它得到了科学的证实。下面以多核中查找设计思想和 “小国寡民”思想来作一番比较,以窥其中的奥妙。

     

    “多核查找-顺序查找也疯狂” 一文介绍了多核查找设计的基本思想,其基本思路是为了避免其中式锁竞争导致的串行化执行,必须将一个大的查找数据结构拆分成多个独立的小的子数据结构,然后给每个小的子数据结构加一把锁,这个当多个线程访问不同的子数据结构时,就不会出现锁竞争现象。“小国寡民”思想是在一个大国中,许多分解成许多独立的小国,这可以说和多核中查找设计的思路是一模一样的。

     

    不妨再回顾一下《道德经》中第八十章中关于小国寡民的原文描述:

     

    “小国寡民;使有什伯之器,而不用;使民重死,而不远徙;虽有舟舆,无所乘之;虽有甲兵,无所陈之;使民复结绳,而用之。至治之极民各甘其食,美其服,安其俗,乐其业。邻国相望,鸡犬之声相闻,民至老死,不相往来。”

     

    先看最后一句,“邻国相望,鸡犬之声相闻,民至老死,不相往来。”,这也就是说各个小国都是独立的,并且由于不能相往来,相当于每个小国都有一把“锁”,这和多核查找中的各个子数据结构都加了一把锁的场景是一样的。

     

    再看第一句“小国寡民;使有什伯之器,而不用;使民重死,而不远徙;虽有舟舆,无所乘之;虽有甲兵,无所陈之;使民复结绳,而用之。”,这是最容易被人产生误解的一句话,许多人认为老子想把人民倒退回结绳而治的原始状态,是一种愚民思想。事实上这些人根本没有理解透这句话中包含的深刻思想。普通老百姓都知道有先进的工具和技术却不使用,却要倒退回结绳而治的状态是一种倒退,除非发了疯才会这么做。

     

    “老子”是不是疯子?当然不是,不仅不是,而且老子比他同时代的人要聪明得多。正所谓“大智若愚”,老子一生中遇到过许多聪明人,包括儒家创始人孔子也曾向老子请教过,然而老子却发现没有一个人能理解他的思想,最后只好“骑青牛,出函关”。
    


    2楼2008-11-14 23:46
    回复
      2025-09-19 00:52:50
      广告
      不感兴趣
      开通SVIP免广告

       

      再看看“自私”,试问有那个人能一点都不“自私”。如果去观察一下小孩子的行为,很容易得出“人之初,性自私”的结论。“自私”也是大自然赋给人类的一种自然力量。

       

      “自私”也能用来设计多核算法吗?答案是不仅可以,而且“自私”还是一种最有效的设计多核算法的优化策略之一。这里举个简单的例子,比如多核中的内存管理,如果每个线程都带有一个私有的内存管理器的话,那么分配内存时就只要从私有的内存管理器里进行分配就可以了,不需要进行加锁解锁操作,效率能提高多少可想而知。有兴趣者不妨去试试Intel开源项目TBB中的内存管理算法,就知道使用“自私”这种自然力量来设计多核算法有多大的好处了。

       

      最后再看看“偷窃”,这可能会让大多数人产生怀疑,“偷窃”在人类社会中历来都是被看成是非法行为,这难道也是大自然赋给人类的自然力量?试看看自人类有史以来,有那个朝代和那个时期能够根绝“偷窃”这种现象,偷窃路人之物者有之,偷窃公家财物者有之,偷情者有之,甚至窃国者亦有之,…。不难发现,这个世界中充满了“偷窃”现象。再看看小孩子的行为,当小孩子看到自己想要的东西时,马上就会去把它拿到自己手中,可以说,“人之初,性喜偷”。所以“偷窃”也是一种大自然赋给人类的自然力量。

       

      也许有人要问了,我就姑且先承认“偷窃”是一种自然力量吧,难道“偷窃”也可以用来设计多核算法不成?这可问到点子上了,“偷窃”这种自然力量还真的在多核算法中得到了使用,在多核的动态任务调度算法中,就用到了“偷窃”的思想,有兴趣的不妨去看看Intel的开源项目TBB中的任务调度算法,里面就用到了“偷窃”的思想,当然这个任务调度算法也使用“自私”的思想。

       

      值得一提的是,动态任务调度算法可不是一个普通的算法,这可是多核中最酷的三大算法之一(另外两个就是前面提到的多核查找和多核内存管理算法)。许多的并行算法都可以通过这个算法来实现,并且你只要写一个串行的算法,那么就可以动态任务调度的方式自动将它变成并行算法,用它可以实现并行排序,并行数值计算,并行搜索等各种并行算法。这意味着程序员不需要学习并行计算的知识就可以复用以前单核时代的串行算法,由动态任务调度器自动将其变成并行算法,酷毙了吧!同时这也意味着多核程序中,大量的并行计算都在调用动态任务调度算法,都在进行“偷窃”动作。可见多核程序中也将充满“偷窃”现象。在南怀瑾的《老子他说》一书中p90页最后一行写道,“照道家的看法,这个世界本来就是一个相互偷盗的世界,彼此相偷,互相混水摸鱼”,这和多核程序中的相互偷盗可谓不谋而合。

       

      看了上面这些内容,可以发现,道家的“无为”思想在多核计算中已经得到了充分的实践,道家思想中确实蕴含了深刻的多核计算原理和思想。虽然如此,但是也许有人要不高兴了,上面说的这些自然力量怎么尽是一些“贪心”、“自私”、“偷窃”,看起来像是人类阴暗面的东西。难道要让每个人都去尽情地“贪心”、“自私”、“偷窃”,才算符合道家的顺其自然之理,这不是要让人学坏吗?如果这样理解的话,我想就从根本上误会了道家的“无为”思想。

       

      道家之所以提倡“无为”的顺其自然之理,在于它认为最优的东西必然是使用自然力量才能达到,并不等于使用了自然力量就一定可以达到最优。如果“老子”说使用了自然的力量就一定最优,那么我不仅不会说“老子”伟大,而且会认为他是一个浑蛋。世界上的任何东西都有它的使用范围,即需要合理使用它。当“贪心”变成“贪婪”,“自私”变成“损人利己”的时候,自然就超越了这些自然力量的使用范围,当然没有人会认同这种现象的发生。

       

      话要说回来,世界是复杂的,有圣人就有浑蛋,“圣人不死,大盗不已”,总会有人做“贪婪”、“损人利己”的事情而不自知,而且他们偏偏认为这是最优的。所谓“有无相生”,滥用自然力量的人,最终逃脱不了自然的惩罚。看看最近华尔街的金融海啸,也许可以有所启示。


      4楼2008-11-14 23:46
      回复
        这蛋疼文章尽然出自INTEL工程师博客~


        IP属地:江苏5楼2008-11-14 23:53
        回复
          老子泪流满面.....


          6楼2008-11-15 01:10
          回复
            • 58.48.6.*
            泪流满面+1


            7楼2008-11-15 02:05
            回复
              泪流满面+2


              IP属地:北京8楼2008-11-15 07:00
              回复
                • 211.136.222.*
                泪流满面+3


                9楼2008-11-15 12:13
                回复
                  2025-09-19 00:46:50
                  广告
                  不感兴趣
                  开通SVIP免广告
                  这作者魔道了…


                  IP属地:吉林10楼2008-11-15 13:52
                  回复
                    无分正邪,一旦过于执着,就是入了魔道


                    IP属地:吉林11楼2008-11-15 13:53
                    回复
                      很不幸推动生产力发展的几乎都是些魔族


                      12楼2008-11-15 14:00
                      回复
                        我只是精讶于某暗的连续签


                        IP属地:广东13楼2008-11-15 18:08
                        回复
                          泪流满面…


                          14楼2008-11-15 18:50
                          回复