linux之父linus说:并行计算基本上就是浪费大家的时间 -买球官网平台




并行计算有什么好的?

硬件的性能无法永远提升,当前的趋势实际上趋于降低功耗。那么推广并行技术这个灵丹妙药又有什么好处呢?我们已经知道适当的是必要的,因为人们需要合理的性能,并且已被证明比顺序执行效率更高。

推崇所谓的“并行”极大地浪费了大家的时间。“并行更高效”的高大上理念纯粹是扯淡。大容量缓存可以提高效率。在一些没有附带缓存的微内核上搞并行毫无意义,除非是针对大量的规则运算(比如图形处理)。

没人会回到从前了。那些复杂的乱序运行内核不会消失。扩展不会一直进行下去,人们需要的是移动性,因此那些主张扩展至上百内核的都是疯子,不要鸟他们。

他们究竟是如何幻想那些神奇的并行算法会有用武之地的呢?

并行只有对图形计算和服务器有意义,而在这些领域我们已经大量应用并行了。把并行推广到其他的领域没有意义。

所以说忘记并行吧。它不会到来的。4个左右的内核对终端用户来说没有问题,在移动领域里,不大幅增加能耗的情况下,你没办法再塞进更多的核。任何一个理智的人都不会为了要塞入更多的内核而阉割内核以降低其大小和性能,阉割内核的唯一理由是你想进一步降低功耗,因此你还是不会得到大量的核。

所以争论是否要讲究程序的并行性根本就是谬误,其前提条件都是错误的。它只不过是一个早该过时的时髦术语罢了。

并行程序在上面提到的一些地方是有用的,并且已经大量地运用了,比如在服务器领域,人们已经并行很多年了。

在其他的领域,并行不是一定必须的,即便是在将来的一些未知领域也是如此,因为你做不到。假如你要做低功耗通用计算机视觉,我基本可以保证你不会使用通用图形处理器(gp cpu)。你甚至不会用图形处理器,因为其功耗也太高了。你大概会用特殊的硬件,很可能是基于某些神经网络的硬件。

放弃吧。“并行就是未来”的说法就是一片浮云。

linus

本文来自:linux 之父 linus torvalds 最近发表的一个。
  • 大小: 104.5 kb
来自:
4
0
评论 共 1 条 请登录后发表评论
1 楼 2015-01-05 22:31
擦,说的是在客户端没有意义,please say qingchu

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 本文将为大家说明session如何保存在sql数据库中的相关介绍,具体实例请看下文   asp.net中,session默认以inproc模式存储,也是保存在iis进程中,这样有个优点是效率高,但不利于为本负载均衡扩展。可以把session信息保存在sql server中,据说,该种方式比起inproc性能损失为10%-20%。如何实现呢,主要分两步介绍:   1、初始化sql server中的状态数据库   asp.net sql server 提供注册工具aspnet_regsql.exe,用于创建供 asp.net 中的 sql server 提供程序使用的 microsoft s

  •   在做一些应用网站时,我们可能会碰到这样一种情况:整个项目是由多个网站组成的,而我们要实现用户从一个站点登录后,跳转到其他网站不需要重复登录,即实现单点登录。目前实现单点登录的技术也有好几种,这篇文章描述一下如何使用asp.net2.0和sql server来实现单点登录。一般在用户登录成功后,我们需要把用户登录成功的信息保存在session里,但是session的值只能保存在用户当前访问的站点

  • 以下过程是在win 2003 sp2 iis 6.0, asp.net 2.0, sql server 2005下进行的。1. 安装session数据库到framework目录c:/windows/microsoft.net/framework/v2.0.50727运行下面的命令:aspnet_regsql.exe -ssadd -sstype c -d [db]  -s [ser

  •         sqlserver 模式就是,把session 存放在 sql server 数据库里(注意不是 oracle ,动动脚趾都能猜到原因啦),下面开始说明一下设置的具体步骤:1、   启动相关的数据库服务(如图)运行sql server 服务管理器 → 启动 sql server (最好设为开机自动运行) → 启动 sql server agent 服务(最好设为

  •   以前做过,长时间不搞就忘了。昨天忽然有了这个需求,花了一天时间终于又搞清楚了方法,在这里做一个备忘。  首先需要安装用于存放会话的数据库,当然,ms在.net framework中已经提供了现成的工具。在类似于:c:/windows/microsoft.net/framework/v2.0.50727文件夹下可以找到installsqlstate.sql 文件,这其实是一个文本文件,里面存放着

  • asp.net 提供了三种存放 session的方式。1 inproc 2 state server 3 sql server 第一种是我们经常用的,第2中就是使用一个名为 state server 的机器用它的内存来存放其他机器的session 状态,其实,我们还可以在 sql server 里面来存放和取得 session。是不是第一次听说。下面讲述实现过程。 找到这个文件c:...


  • 配置好sqlserver的session后,就可以用它来管理session。
    public bool clientlogin(string uname, string pwd) { usersystemdatacontext sudc = new usersystemdatacontext();//用于保存用户信息的表 sessionstatedatacontext ssdc = new sessionstate

  • asp.net中提供了三种session的存储方式。  一种是常规方式,就是存储在asp.net服务器进程中,这种是最容易丢失的。进程池的回收、服务进程的崩溃,都会导致你网站的访客无缘无故被退出登录。  一种是stateserver,他是服务器上的一个系统服务。如果您已经打开了这项系统服务,即可在任务管理器中可以查看到名为aspnet_state.exe的进程。 一种是保存在sqls...

  • configuration for sql server session mode add <sessionstate mode="sqlserver" sqlconnectionstring="data source=.; user id=sa;password=sa"/> in sql server session mode, we are storin...

  • 1、session保存在sqlserver中配置方法 1)运行.netframework安装目录下对应版本的aspnet_regsql.exe 来创建相关的数据库、表和存储过程等,比如: c:\windows\microsoft.net\framework\v4.0.30319>aspnet_regsql.exe -ssadd -sstype p -s 127.0.0.1 ...

  • 简单来说,session就是服务器给客户端的一个编号,当一台web服务器运行时,可能 是有多个用户都在浏览这台服务器上的网站,当每个用户首次与这台服务器建立连接时,它就与这个服务器建立了一个session,同时服务器就会自动为其分 配一个sessionid,用以标识这个用户的唯一身分,这个session就是有服务器随机产生的一个由24个字符组成的字符串。 这个唯一的sessionid还是有很大的实际意义,当一个用户提交表单时,浏览器就会将用户的sessionid自动附加在http头信息中...

  • session在sql server数据库中的配置方法

  • sqlserver (1).net2.0以上,建议不要使用aspnet_regsql.exe工具,而应该使用命令行,如aspnet_regsql -c "data source=.;integrated security=true" -ssadd -sstype c -d sessionstatedb 原因是使用工具容易产生错误:sql 服务器上未安装 asp.n...

  • sqlserver数据库查看 session 与查看sql的执行计划脚本

global site tag (gtag.js) - google analytics