许多学校机房有大量闲置的 PC,把它们利用起来做分包计算,可行吗

以前曾用几台闲置机器做过三维动画的集群渲染。总的来说,由于摩尔定律导致的处理性能的高速发展,老了几年,虽然看起来多的吓人,但数量真的不怎么顶用了。花的电费还不如去买几台新CPU的机子,顶几十台老的。如果想以此来做商业服务,那更不用考虑了——否则也轮不到你来利用了。
■网友
楼上几位没有考虑到一点,在学校里面电是不用钱的,所以能耗不算什么问题。机房非常大,空调也不用钱,维护找学生也是不用给钱的。不过,用这些电脑组起来不是很划算,能力提高不了很多。计算能力并不是1+1=2的概念,两个每秒完成100次的计算机,拼在一起可能只能达到每秒120次的能力。因此,超级计算机的主要困难不是硬件数量问题,而是互联架构和任务分配调度的问题。超级计算机上也需要大量的节点做调度和分配,RoadRunner(现在世界排名第十)上不参与计算的处理器的计算能力是RoadRunner计算能力的十分之一量级。所以,这个要看你的计算需求,如果是一些规模很大,数据量很大的计算的话,这样的东西是不太适合的。因为总计算能力也不是很强,也没有比较好的互联结构和控制调度。如果是处理像Web请求这样简单轻松,每一个节点可以独立完成,但是是因为数量巨大难以完成这样的任务的话,前面挂一个负载均衡倒是可以达到,不过负载均衡不便宜呢。如果是组分布式的数据库的话,如果这些老机器的硬盘空间能满足要求,我觉得可以考虑。结论是,要这么搞的话,也就自己玩玩或者丢给像学校教务处这样的地方高峰时刻用一用就罢了,或者立一个科研项目玩玩,商用还是不太现实。
■网友
借用一个前人的比喻:你可以让一个人在十分钟内挖五米深的坑,但你无法让十个人在一分钟内挖五米深的坑。——》这就是无法用集群运算来解决的一类问题。但存在这样一类问题:如果你可以让一个人在一小时内挖出十平方米、一米深的坑,那么你就可以让六个人在十分钟内挖出一样的坑。——》这就是可以用集群计算来解决的问题。所以主要还是看用途,如果用途合适,拿来当一个科技立项之类的还是不错的。
■网友
见此帖:为何至今没有一款商业化的应用能利用大量PC闲置的计算能力?
■网友
现有的计算软件中只有很少的软件做了针对这种情况的优化,所以上面的答案都是告诉你不可行。我印象中这种计算只有PS3上有一个,还有一些演示的例子。但都是基于志愿原则的,而不是能做收费服务的。我建议你基于明确的限制条件自己探索适合的领域,或者建立一个新的网络结构。只有这样你的资源(这一堆计算机)才能得到充分利用。好像BT也算能利用这种情况的一个例子。这就是你的榜样,他们为了利用其零散的带宽资源设计了一个新的下载协议:就是BT
■网友
虽然没仔细估算,但是想来能耗不会是个小数字。。


    推荐阅读