[云] 1、云服务器——从ILP\DLP\TLP谈起
1) ABOUT:ILP\DLP\TLP

1-1、ILP
- 大约在1985年之后的所有处理器都使用流水线来重叠指令的执行过,以提高性能。由于指令可以并行执行,所以指令之间可能实现这种重叠称为指令级并行(ILP)
- ILP大体有两种不同开发方法:(1)依靠硬件来帮助动态发现和开发并行;(2)依靠软件技术在编译时静态地发现并行。使用基于硬件的动态方法的处理器,包括Inter Core系列,在桌面和服务器市场上占主导地位。在个人移动市场,提高能耗效率通常是一个关键目标,所以设计人员开发较低级别的指令级并行。因此,2011年,PMD市场的大多数处理器采用静态方法,ARM Cortex-A8中即是如此(不过新的A9将采用动态方法)。从20世纪80年代开始到Inter Itanium系列,人们已经无数次尝试基于编译器的积极方法。尽管付出了无数次努力,但除了非常有限有限的科学领域外,这些方法没有获得成功。
- ILP存在一些局限性,正是这些局限性直接导致向多核的转移。
1-2、DLP
- SIMD的三种变体:向量体系结构、多媒体SIMD指令级扩展、图形处理单元GPU体系结构中的数据及并行
- 第一种变体的出现要比其他两个早30年以上,它实际上就是以流水线形式来执行许多数据操作。与其他SIMD变体相比,这些向量体系结构更容易理解和编译,但过去一直认为他们对于未处理起来说太过昂贵,这一看法直到最近才有所改变。这种体系结构的成本一部分用于晶体管上,另一部分用于提供足够的DRAM宽带,因为他广泛依赖于缓存来满足传统微处理器的存储性能要求。
- 第二种变体借用SIMD名称来表示基本同时进行的并行数据操作,在今天支持多媒体应用程序的大多数指令集体系结构中都可以找到这种变体。X86体系结构的SIMD指令扩展是在1996年以MML(多媒体扩展)开始的,在接下来的10年间出现了几个SSE(流式SIMD扩展)版本,一直发展到现在的AVX(高级向量扩展)。为了使X86计算机达到高计算速度,通常需要使用这些SIMD指令,特别是对于浮点的程序。
- 第三种变体来自GPU社区,它的潜在性能要高于当今传统多和计算机的性能。尽管GPU的一些特征与向量体系结构相同,但他们有自己的一些独特特征,部分原因在于他们发展的生态系统。在GPU的发展环境中,除了GPU及其图形存储器之外,还有系统处理器和系统存储器。事实上,为了辨识这些差别,GPU社区将这种体系结构成为异类。
1-3、TLP
- 多处理器:紧耦合处理器组成的计算机,这些处理器协调与使用由单一处理器系统控制,通过共享地址空间来共享存储器。
- 这里所研究的多处理器范围小到一个双处理器,大到包括数十个处理器,通过存储器的共享进行通信与协调。尽管通过存储器的进行共享隐含着对地址空间的共享,但并不意味着只有一个物理存储器。这些多处理器即包括拥有多个核心的单片系统(多核)也包括由多个芯片构成的计算机,每个芯片可以采用多核设计。
- 而集群:是由大量处理器构建而成的超大规模计算机,在其所采用的模型中,要么假定有大量独立请求,要么假定有高度并行、密集计算任务。当这些集群发展到数万个服务器时,我们就称之为仓库级计算机。
- 而多计算机:除多处理器、仓库级系统外的一种特殊的大规模处理器,他们的耦合度要低于多处理器,高于仓库级系统。主要用于高端科学计算。
- 多处理器组织方式:①对称(共享存储器)多处理器(SMP),或集中式共享存储器多处理器。②分布式共享存储器(DSM):为了支持更多的处理器,存储器必须分散在处理器之间而不是集中式的,否则,存储器系统就无法在不大幅延长访问延迟的情况下为大量处理器提供带宽支持。
- 在SMP和DSM这两种体系结构中,线程之间的通信是通过共享地址空间完成的,也就是说,任何一个拥有正确寻址权限的处理器都可以向任意存储器位置发出存储器引用。与SMP和DSM相关联的共享存储器一词是指共享地址空间这一事实。与之相对,集群和仓库级计算机看起来更像是由网络连接的独立计算机,如果两个处理器之间没有运行软件协议加以辅助,那一个处理器就无法访问另一个处理器的存储器。在此类设计中,利用消息传送协议在处理器之间传送数据。
2) ABOUT:公共计算
100多年前,各家公司不再自行用蒸汽机和发电机发电,而是接入新建成的电网中。电力公用设施提供廉价电能所改变的内容并非限制于这些公司的运行方式。这一现象导致了一连串的经济与社会转型,来开了现代世界的序幕。今天,一场类似的革命正在进行之中。海量信息处理工厂挂在相互联网的全球计算机网格上,开始将数据和软件代码诸如我们的家中和公司中。这一次变为公用设施的东西是计算能力。
——Nicholas Carr
《大变革:重新审视世界,从爱迪生到Google》
(The Big Switch: Rewiring the World, from Edison to Google)
3) ABOUT:FAST
谁都可以搭建一块快速CPU。难点在于如何搭建一个快速系统。
——Seymour Cray 公认的超级计算机之父
本文链接:http://www.cnblogs.com/zjutlitao/p/4181440.html
更多精彩:http://www.cnblogs.com/zjutlitao/p/4125085.html
[云] 1、云服务器——从ILP\DLP\TLP谈起的更多相关文章
- 转-阿里云CentOS Linux服务器上用postfix搭建邮件服务器
http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html 注:本文的邮件服务器只用于发送邮件,也就是ST ...
- Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解
Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...
- 【转载】阿里云ECS Linux服务器禁止某些IP访问
在阿里云ECS Linux服务器运维过程中,如果发现某些IP访问异常,如怀疑有攻击行为或者怀疑是别人写的爬虫程序长时间占用你的服务器资源,则可以通过相关的设置来禁止这些IP段的访问,拒绝这些IP的请求 ...
- 阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题
参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里 ...
- 阿里云 putty链接服务器出现 server refused our key
阿里云 putty链接服务器出现 server refused our key 创建了密钥对绑定实例,puttygen生成ppk,putty配置参数,连接,一步一步来的,结果出现 server ref ...
- 购买阿里云的云服务器时选择镜像centos时应该选择哪个版本
购买阿里云的云服务器时选择镜像centos时应该选择哪个版本 方法/步骤首先,我们要清楚的便是每个系统之间的差别,以及在阿里云上的差别:1. Windows1.1) 系统内含正版激活.1.2) 适合于 ...
- 在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误
在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误 解决:增加Swap空间(阿里云缺省没有分配任何 ...
- 【故障公告】阿里云 RDS 数据库服务器 CPU 100% 造成全站故障
非常非常抱歉,今晚 19:34 ~ 21:16 园子所使用的阿里云 RDS 数据库服务器突然出现 CPU 100% 问题,造成全站无法正常访问,由此您带来了很大的麻烦,请您谅解. 故障经过是这样的.1 ...
- 阿里云CentOS7.3服务器通过Docker安装Nginx
前言 小编环境: 阿里云CentOS7.3服务器 docker 下面分享一次小编在自己的阿里云CentOS7.3服务器上使用Docker来安装Nginx的一次全过程 温馨小提示: 如果只是希望单纯使用 ...
随机推荐
- HTTP返回值
100 Continue:初始的请求已经接受,客户应当继续发送请求的其余部分. 101 Switching Protocols:服务器将遵从客户的请求转换到另外一种协议. 200 OK:一切正常,对G ...
- mysql分区查询
SELECT *FROM INFORMATION_SCHEMA.partitions WHERE table_name='表名' and table_schema='数据库名'
- JavaScript ES6 的 let 和 var 的比较
在JavaScript 1.7中, let 关键词被添加进来, 我听说它声明之后类似于"本地变量", 但是我仍然不确定它和 关键词 var 的具体区别. 回答: 不同点在于作用域, ...
- mysql 索引分类
在数据库表中,对字段建立索引可以大大提高查询速度.通过善用这些索引,可以令 MySQL的查询和运行更加高效.索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常 ...
- Delphi 字符数组存入文件
TDMSRequestBuffer=object Head:TDMSHead; Data:array[0..2047] of char; DataSize:Integer; p ...
- Python-类的继承
类的继承 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型关系. 需要注意的地方:继承语法 class 派生类名(基类名):/ ...
- POJ 1113 - Wall 凸包
此题为凸包问题模板题,题目中所给点均为整点,考虑到数据范围问题求norm()时先转换成double了,把norm()那句改成<vector>压栈即可求得凸包. 初次提交被坑得很惨,在GDB ...
- 【iOS问题】The file “XXX.app” couldn’t be opened because you don’t have permission to view it.
当引入第三方的框架的时候 容易产生以下问题: The file "XXX.app" couldn't be opened because you don't have permis ...
- [原创]Matlab获取当前时间信息
本文主要介绍下Matlab中如何获取当前时间的一些方法. 基本变量date.now.clock date 按照日期字符串返回当前系统时间 now 按照连续的日期数值返回当前系统时间 clock按照日期 ...
- JAVA:抽象类VS接口
JAVA中抽象类和接口的区别比较,以及它们各自的用途. 1.JAVA抽象类: 抽象类除了不能实例化以外,跟普通类没有任何区别.在<JAVA编程思想>一书中,将抽象类定义为“包含抽象方法的类 ...