周学海 xhzhou@ustc.edu.cn 0551-63606864 中国科学技术大学 2018/11/6 计算机体系结构 周学海 xhzhou@ustc.edu.cn 0551-63606864 中国科学技术大学
Welcome to …… 主讲:周学海(xhzhou@ustc.edu.cn) 2018/11/6 Welcome to …… 主讲:周学海(xhzhou@ustc.edu.cn) 助教:程玉明(yumingc@mail.ustc.edu.cn) 夏昊珺(xhjustc@mail.ustc.edu.cn) 俞天灿(ytc2013@mail.ustc.edu.cn) 办公地点: 嵌入式系统实验室 (网络中心西区服务部内) 办公电话:0551-63606864 0551-63492149 课程主页: http://staff.ustc.edu.cn/~xhzhou/CA-Spring2018/CA.html 11/6/2018 中国科学技术大学
2018/11/6 教材与主要参考书 John L. Hennessy, David A. Patternson, Computer Architecture: A Quantitative Approach. Fifth Edition. 机械工业出版社,2012 David A. Patternson, John L. Hennessy, Computer Organization & Design : The Hardware/Software Interface, Third Edition. San Francisco: Morgan Kaufmann Publishers, Inc. 2005 张晨曦等,计算机系统结构教程,清华大学出版社 11/6/2018 中国科学技术大学
What is Computer Architecture? Application Gap too large to bridge in one step (but there are exceptions, e.g. magnetic compass) Physics In its broadest definition, computer architecture is the design of the abstraction layers that allow us to implement information processing applications efficiently using available manufacturing technologies. 11/6/2018 中国科学技术大学
现代计算机系统的抽象层次 Application Algorithm Programming Language 2018/11/6 现代计算机系统的抽象层次 Application Algorithm Programming Language Operating System/Virtual Machine Instruction Set Architecture (ISA) Microarchitecture Gates/Register-Transfer Level (RTL) Circuits Devices Physics 11/6/2018 中国科学技术大学
What is Computer Architecture? 描述计算机系统的功能、组织和实现的一组规则和方法。 计算机体系结构是研究如何选择(设计)功能部件和互联方法来满足计算机系统的功能、性能、价格约束的科学 计算机体系结构是软件设计者与硬件设备(VLSI)之间的中间层,是软件与硬件的接口(Interface) 11/6/2018 中国科学技术大学
2018/11/6 计算机体系结构的定义 过去的定义: 程序员可见的计算系统的属性。包括:概念性的结构和功能行为。不包括:数据流和控制流的组织、逻辑设计以及物理实现。 – Amdahl, Blaauw, and Brooks, 1964 Instruction-Set Architecture 广义的定义: 计算机体系结构研究如何 设计、组织,以及使用可用的生产技术实现一个计算系统,该计算系统可有效地执行软件应用,满足价格、功耗和性能约束 Amdahl: IBM360系列机的主要设计者 Frederick P. Brooks, 曾任万国商用机器公司(即IBM公司或国际商务用机器公司)系统部主任,主持开发过OS/360等大型电脑(计算机)用的操作系统软体。后来,Brooks离开IBM公司进大学任教,并著书立说。 Gerrit Anne (Gerry) Blaauw (born July 17, 1924) is a Dutch computer scientist, known as one of the principal designers of the IBM System/360 line of computers, together with Fred Brooks, Gene Amdahl, and others.[1] 11/6/2018 中国科学技术大学
计算机体系结构的定义(续) 过去的观点: 目前的观点: Instruction Set Architecture (ISA) 设计 2018/11/6 计算机体系结构的定义(续) 过去的观点: Instruction Set Architecture (ISA) 设计 即 体系结构设计需要关注并确定: 寄存器组织、如何访问存储器、寻址方式、指令操作数、硬件支持的操作种类、指令编码方式 目前的观点: 根据目标机器的特定需求,在成本、功耗、可用性等约束下最大化机器性能 包括 ISA, 计算机组织(微体系结构), 硬件实现 11/6/2018 中国科学技术大学 Chapter 2 — Instructions: Language of the Computer
ISA: a Critical Interface 2018/11/6 ISA: a Critical Interface instruction set software hardware 11/6/2018 中国科学技术大学
ISA需说明的主要内容 Memory addressing Addressing modes Types and sizes of operands Operations Control flow instructions Encoding an ISA …… 优秀的ISA所具有的特征 可持续用于很多代机器上(portability) 可以适用于多个领域 (generality) 对上层提供方便的功能(convenient functionality) 可以由下层有效地实现(efficient implementation ) …… 11/6/2018 中国科学技术大学
指令集结构举例 Digital Alpha (v1, v3) 1992-97 HP PA-RISC (v1.1, v2.0) 1986-96 2018/11/6 指令集结构举例 Digital Alpha (v1, v3) 1992-97 HP PA-RISC (v1.1, v2.0) 1986-96 Sun Sparc (v8, v9) 1987-95 SGI MIPS (MIPS I, II, III, IV, V) 1986-96 Intel(8086,80286,80386, 1978-96 80486,Pentium, MMX, ...) 11/6/2018 中国科学技术大学
MIPS R3000 Instruction Set Architecture (Summary) 2018/11/6 MIPS R3000 Instruction Set Architecture (Summary) Registers 指令类型 Load/Store Computational Jump and Branch Floating Point coprocessor Memory Management Special R0 - R31 PC HI LO 3 种指令格式: all 32 bits wide R型 OP rs rt rd sa funct I 型 OP rs rt immediate J 型 OP jump target 11/6/2018 中国科学技术大学
计算机组成与实现 计算机组成(Computer Organization or Microarchitecture): ISA的逻辑实现 2018/11/6 Logic Designer's View ISA Level FUs & Interconnect 计算机组成与实现 计算机组成(Computer Organization or Microarchitecture): ISA的逻辑实现 物理机器级中的数据流和控制流的组成以及逻辑设计等 计算机实现(Computer Implementation):计算机组成的物理实现 CPU ,MEMORY等的物理结构,器件的集成度、速度,模块、插件、底板的划分与连接、信号传输、电源、冷却及整机装配技术等 例如 确定指令系统中是否有乘法指令 (Architecture) 确定用加法器实现乘法 还是用专门的乘法实现(Organization) 器件的选定及所用的微组装技术 (Implementation) 11/6/2018 中国科学技术大学
Example Organization TI SuperSPARCtm TMS390Z50 in Sun SPARCstation20 2018/11/6 Example Organization TI SuperSPARCtm TMS390Z50 in Sun SPARCstation20 Floating-point Unit Integer Unit Inst Cache Ref MMU Data Store Buffer Bus Interface SuperSPARC L2 $ CC MBus Module MBus L64852 MBus control M-S Adapter SBus DRAM Controller DMA SCSI Ethernet STDIO serial kbd mouse audio RTC Floppy Cards 2014-2-19 Boot PROM 11/6/2018 中国科学技术大学
体系结构 vs.微结构 Architecture / Instruction Set Architecture (ISA) 2018/11/6 体系结构 vs.微结构 Architecture / Instruction Set Architecture (ISA) Class of ISA: register-memory or register-register architectures Programmer visible state (Register and Memory) Addressing Modes: how memory addresses are computed Data types and sizes for integer and floating-point operands Instructions, encoding, and operation Exception and Interrupt semantics Microarchitecture / Organization Tradeoffs on how to implement the ISA for speed, energy, cost Pipeline width and depth, cache size, peak power, bus width, execution order, etc 11/6/2018 中国科学技术大学
计算机体系结构设计者的任务 设计和实现不同档次的计算机系统 最大化性能、可编程性等指标 体系结构现状: Understand software demands Understand technology trends Understand architecture trends Understand economics of computer systems 最大化性能、可编程性等指标 在一定的技术和成本的限制下 体系结构现状: Today’s microprocessors are multiprocessors Several cores on a single chip Each core capable of executing multiple threads 11/6/2018 中国科学技术大学
计算机体系结构设计过程 体系结构设计是循环渐进的过程: Search the possible design space 2018/11/6 计算机体系结构设计过程 体系结构设计是循环渐进的过程: Search the possible design space Make selections Evaluate the selections made Creativity Good Ideas Mediocre Ideas Cost / Performance Analysis Bad Ideas Good measurement tools are required to accurately evaluate the selection. 11/6/2018 中国科学技术大学
计算机工程方法学 Analysis Imple- mentation Design Technology Trends 2018/11/6 计算机工程方法学 Simulate New Designs and Organizations Technology Trends Evaluate Existing Systems for Bottlenecks Benchmarks Workloads Implement Next Generation System Implementation Complexity Analysis Imple- mentation Design 11/6/2018 中国科学技术大学
课程目标 掌握系统定量分析的基本方法和技术 深入理解提高CPU性能的基本方法 深入理解存储系统的基本原理和优化方法 2018/11/6 课程目标 掌握系统定量分析的基本方法和技术 深入理解提高CPU性能的基本方法 深入理解存储系统的基本原理和优化方法 理解数据级并行、线程级并行的基本原理和方法 11/6/2018 中国科学技术大学
本课程的主要内容 Simple machine design(Chapter 1, Appendix A, Appendix C) 2018/11/6 本课程的主要内容 Simple machine design(Chapter 1, Appendix A, Appendix C) ISAs, Iron Law, simple pipelines Memory hierarchy (Chapter 2,Appendix B) DRAM, caches, virtual memory systems Complex pipelining (Chapter 3) score-boarding, out-of-order issue Explicitly parallel processors (Chapter 4) vector machines, VLIW machines, multithreaded machines Multiprocessor architectures (Chapter 5, Chapter 6) memory models, cache coherence, synchronization 11/6/2018 中国科学技术大学
为什么学这门课 深入理解计算机体系结构: 开展体系结构研究与设计的基础 There are still many challenges left Example: the CPU-memory gap ……. 更好地设计与实现操作系统、编译器 Need to re-evaluate the current assumptions and tradeoffs Example: gigabit networks, Parallel systems, Heterogeneous systems Modern computers need better optimizing compilers and better programming languages 更好地设计与实现应用程序 Understand the performance implications of algorithms, data structures, and programming language choices 11/6/2018 中国科学技术大学
评分规则 评分 授课 授课总学时60学时,实验30学时 3C101: 1(3,4),3(3,4) 平时作业 10% 实验 30% 2018/11/6 评分规则 授课 授课总学时60学时,实验30学时 3C101: 1(3,4),3(3,4) 评分 平时作业 10% 实验 30% 期中考试 25% 期终考试 35% 11/6/2018 中国科学技术大学
2018/11/6 关于作弊 作业 实验 考试(测验) 11/6/2018 中国科学技术大学
02/28-review 过去的观点: 目前的观点: Instruction Set Architecture (ISA) 设计 2018/11/6 02/28-review 过去的观点: Instruction Set Architecture (ISA) 设计 即 体系结构设计需要关注并确定: 寄存器组织、如何访问存储器、寻址方式、指令操作数、硬件支持的操作种类、指令编码方式 目前的观点: 根据目标机器的特定需求,在成本、功耗、可用性等约束下最大化机器性能 包括 ISA, 计算机组织(微体系结构), 硬件实现 11/6/2018 中国科学技术大学 Chapter 2 — Instructions: Language of the Computer
1.1 引言 1.2 定量分析基础 Chapter1 量化设计与分析基础 计算机体系结构的定义 计算机的分类 现代计算机系统发展趋势 11/6/2018 中国科学技术大学
Computing Devices Then… 2018/11/6 Computing Devices Then… EDSAC, University of Cambridge, UK, 1949 11/6/2018 中国科学技术大学
Computing Systems Today 2018/11/6 Clusters Massive Cluster Gigabit Ethernet Computing Systems Today The world is a large parallel system Microprocessors in everything Vast infrastructure behind them Internet Connectivity Scalable, Reliable, Secure Services Databases Information Collection Remote Storage Online Games Commerce … Refrigerators Sensor Nets Robots Cars MEMS for Sensor Nets Routers 11/6/2018 中国科学技术大学
2018/11/6 体系结构发展的驱动力 Compatibility Cost of software development makes compatibility a major force in market Applications suggest how to improve technology, provide revenue to fund development Improved technologies make new applications possible Applications Technology ISCA, HPCA,MICRO,ASPLOS,FAST 11/6/2018 中国科学技术大学
计算机系统设计方面的巨大变化 在过去的50年,Moore’s law和Dennard scaling(登纳德缩放比例定律)主宰着芯片产业的发展 Moore 1965年预测:晶体管数量随着尺寸缩小按接近平方关系增长(每18个月2X) Dennard 1974年预测:晶体管尺寸变小,功耗会同比变小(相同面积下功耗不变) 工艺技术的进步可在不改变软件模型的情况下,持续地提高系统性能/能耗比 最近10年间,工艺技术的发展受到了很大制约 Dennard scaling over (supply voltage ~fixed) Moore’s Law (cost/transistor) over? Energy efficiency constrains everything …… 功耗问题成为系统结构设计必须考虑的问题 软件设计者必须考虑: Parallel systems Heterogeneous systems 11/6/2018 中国科学技术大学
Personal Mobile Devices New “Great Ideas” 11/6/2018 中国科学技术大学
Old Machine Structures I/O system Processor Compiler Operating System (Mac OSX) Application (ex: browser) Digital Design Circuit Design Instruction Set Architecture Datapath & Control transistors Memory Hardware Software Assembler 11/6/2018 中国科学技术大学
New “Great Ideas” Software Hardware Parallel Requests Parallel Threads Assigned to computer e.g., Search “Katz” Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions >1 instruction @ one time e.g., 5 pipelined instructions Parallel Data >1 data item @ one time e.g., Add of 4 pairs of words Hardware Descriptions All gates functioning in parallel at same time Programming Languages Warehouse Scale Computer Smart Phone Leverage Parallelism & Achieve High Performance Core … Memory Input/Output Computer Cache Memory Core Instruction Unit(s) Functional Unit(s) A3+B3 A2+B2 A1+B1 A0+B0 Logic Gates 11/6/2018 中国科学技术大学
Warehouse Scale Computer 11/6/2018 中国科学技术大学
计算机的分类 个人移动设备 (PMD) 桌面计算(Desktop Computing) 服务器(Servers) 2018/11/6 计算机的分类 个人移动设备 (PMD) smart phones, tablet computers >1 billion sold/year Market dominated by ARM-ISA-compatible general-purpose processor in system-on-a-chip (SoC) Plus sea of custom accelerators (radio, image, video, graphics, audio, motion, location, security, etc.) Emphasis on energy efficiency and real-time 桌面计算(Desktop Computing) Emphasis on price-performance 服务器(Servers) Emphasis on availability, scalability, throughput 11/6/2018 中国科学技术大学 Chapter 2 — Instructions: Language of the Computer
Cost of downtime Figure 1.3 Costs rounded to nearest $100,000 of an unavailable system are shown by analyzing the cost of downtime (in terms of immediately lost revenue), assuming three different levels of availability, and that downtime is distributed uniformly. These data are from Landstrom (2014) and were collected and analyzed by Contingency Planning Research.
计算机的分类(续) 集群/仓储级计算机(Clusters / Warehouse Scale Computers) 2018/11/6 计算机的分类(续) 集群/仓储级计算机(Clusters / Warehouse Scale Computers) 100,000’s cores per warehouse Market dominated by x86-compatible server chips Dedicated apps, plus cloud hosting of virtual machines Starting to see some GPU usage, but mostly general-purpose CPU code Used for “Software as a Service (SaaS)” Sub-class: Supercomputers, emphasis: floating-point performance and fast internal networks Emphasis on availability and price-performance 嵌入式计算机(Embedded Computers) Wired/wireless network infrastructure, printers Consumer TV/Music/Games/Automotive/Camera/MP3 Emphasis: price 11/6/2018 中国科学技术大学
五类主流计算系统特点 Figure 1.2 A summary of the five mainstream computing classes and their system characteristics. Sales in 2015 included about 1.6 billion PMDs (90% cell phones), 275 million desktop PCs, and 15 million servers. The total number of embedded processors sold was nearly 19 billion. In total, 14.8 billion ARM-technology-based chips were shipped in 2015. Note the wide range in system price for servers and embedded systems, which go from USB keys to network routers. For servers, this range arises from the need for very large-scale multiprocessor systems for high-end transaction processing.
Great Ideas in Computer Architecture Design for Moore’s Law Abstraction to Simplify Design Make the Common Case Fast Dependability via Redundancy Memory Hierarchy Performance via Parallelism/Pipelining/Prediction 11/6/2018 中国科学技术大学
Moore’s Law “Cramming More Components onto Integrated Circuits” http://baike.baidu.com/view/17904.htm?fromId=968563 1.集成电路芯片上所集成的电路的数目,每隔18个月就翻一番。 2.微处理器的性能每隔18个月提高一倍,或价格下降一半。 3.用一个美元所能买到的电脑性能,每隔18个月翻两番。 “Cramming More Components onto Integrated Circuits” Gordon Moore, Electronics, 1965 # on transistors on cost-effective integrated circuit double every 18 months 11/6/2018 中国科学技术大学 39
Abstraction via Layers of Representation High Level Language Program (e.g., C) temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; Compiler lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) Anything can be represented as a number, i.e., data or instructions Assembly Language Program (e.g., MIPS) Assembler 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Machine Language Program (MIPS) Machine Interpretation Hardware Architecture Description (e.g., block diagrams) Architecture Implementation Logic Circuit Description (Circuit Schematic Diagrams) 11/6/2018 中国科学技术大学
Make the Common Case Fast 在进行设计选择时,经常发生的事件优先 优化不经常执行的代码意义不大 选择一种(性能)度量方式来确定经常性事件(Common case) Capability Capacity Capability computing vs. capacity computing 11/6/2018 中国科学技术大学
Dependability via Redundancy 2018/11/6 Dependability via Redundancy 通过冗余使得部分部件失效不影响整个系统的运行 1+1=2 2 of 3 agree FAIL! 1+1=2 1+1=2 1+1=1 Increasing transistor density reduces the cost of redundancy 11/6/2018 中国科学技术大学
Memory Hierarchy Fast, Expensive, but Small Cheap, Large, but Slow 11/6/2018 中国科学技术大学
Parallelism/Pipelining/Prediction 2018/11/6 Parallelism/Pipelining/Prediction 03/04-Lecture 1 11/6/2018 中国科学技术大学
现代体系结构发展趋势 总体发展趋势:并行 应用需求 工艺发展的趋势 体系结构发展的趋势 提高单处理器性能花费的代价呈现上升趋势 计算的需求不断增长,如Scientific computing, video, graphics, databases, … 工艺发展的趋势 芯片的集成度不断提高,但提升的速度在放缓 时钟频率的提高在放缓,并有降低的趋势 体系结构发展的趋势 指令集并行受到制约 线程级并行和数据级并行是发展的方向 提高单处理器性能花费的代价呈现上升趋势 11/6/2018 中国科学技术大学
Application Trends 应用需求驱动硬件技术的发展 科学计算 网络服务、移动计算….. 硬件技术的发展催生新的应用 微处理器的性能随着主频的提升大幅提高 对性能的需求推动着并行体系结构的发展 For most demanding applications New Applications More Performance 11/6/2018 中国科学技术大学
21st 信息通信技术新的应用层出不穷 以数据为中心的个性化医疗 以计算驱动的科学发现 其他应用….. 社交网络及分析 11/6/2018 中国科学技术大学 其他应用…..
21st 应用特征 用户始终在线 大数据 安全/隐私 未来技术进步的推动力? 11/6/2018 中国科学技术大学
2018/11/6 21世纪体系结构发展 面临的挑战 11/6/2018 中国科学技术大学
21世纪体系结构发展 面临的机遇 11/6/2018 中国科学技术大学
Growth in processor performance over 40 years 2018/11/6 Growth in processor performance over 40 years Slowed down by power and memory latency Almost 10000x improvement between 1978 and 2005 [ Hennessy & Patterson, 2017 ] 11/6/2018 中国科学技术大学
Closer Look at Processor Technology 2018/11/6 Closer Look at Processor Technology 特征尺寸不断减小(feature size ( )),芯片集成度不断提高 Circuits become faster Die size is growing too Clock rate also improves (but power dissipation is a problem) Number of transistors improves like 性能> 100× per decade Clock rate is about 10× (no longer the case!) DRAM size quadruples every 3 years 如何使用这些晶体管? Parallelism in processing: more functional units Multiple operations per cycle reduces CPI - Clocks Per Instruction Locality in data access: bigger caches Avoids latency and reduces CPI, also improves processor utilization 11/6/2018 中国科学技术大学
Moore’s Law “Cramming More Components onto Integrated Circuits” 2018/11/6 Moore’s Law http://baike.baidu.com/view/17904.htm?fromId=968563 1.集成电路芯片上所集成的晶体管数目,每隔18个月就翻一番。 2.微处理器的性能每隔18个月提高一倍,或价格下降一半。 3.用一个美元所能买到的电脑性能,每隔18个月翻两番。 “Cramming More Components onto Integrated Circuits” Gordon Moore, Electronics, 1965 # on transistors on cost-effective integrated circuit double every 18 months 11/6/2018 中国科学技术大学
CPU Transistor Count (1971 – 2008) 10-Core Xeon Westmere-EX introduced in 2011 has 2.6 billion transistors and uses a 32 nm process on a die size = 512 mm2 11/6/2018 中国科学技术大学
Storage Trends 内存的容量和性能的提高差别较大 Capacity increased by 1000x from 1980-95, speed only 2x Gigabit DRAM in 2008, but gap with processor speed is widening 处理器与存储器之间的Gap在增大 Need to transfer more data in parallel Need cache hierarchies, but how to organize caches? 存储系统需关注并行和局部性问题 Fetch more bits in parallel Pipelined transfer of data 采用缓存和并行技术提高磁盘存储器的性能 Using parallel disks to improve performance Caching recently accessed data 新的存储技术的出现为体系结构设计提供了新的途径 11/6/2018 中国科学技术大学
Growth of Capacity per DRAM Chip DRAM capacity quadrupled almost every 3 years 60% increase per year, for 20 years 11/6/2018 中国科学技术大学
Improvements in Disk Storage (1983 - 2003) CDC Wren I, 1983 3600 RPM 0.03 GBytes capacity Tracks/Inch: 800 Bits/Inch: 9550 Three 5.25” platters Bandwidth: 0.6 MBytes/sec Latency: 48.3 ms Cache: none Seagate 373453, 2003 15000 RPM (4X) 73.4 GBytes (2500X) Tracks/Inch: 64000 (80X) Bits/Inch: 533,000 (60X) Four 2.5” platters (in 3.5” form factor) Bandwidth: 86 MBytes/sec (143X) Latency: 5.7 ms (8X) Cache: 8 MBytes 11/6/2018 中国科学技术大学
Disk Latency vs. Bandwidth (~20 years) Performance Milestones Disk: 3600, 5400, 7200, 10000, 15000 RPM Bandwidth improvement = 143X Latency Improvement = 8X 11/6/2018 中国科学技术大学
Memory Latency vs Bandwidth (~20 years) Performance Milestones Memory Module: 16bit plain DRAM, Page Mode DRAM, 32b, 64b, SDRAM, DDR SDRAM Bandwidth Improvement = 120X Latency Improvement = 4X DRAM: 120X BW, 4X latency Jog between 3rd and 4th point is because a lot of time between 32b Fast page mode and 64b 11/6/2018 中国科学技术大学
Network Latency vs Bandwidth (~20 years) Performance Milestones Ethernet: 10Mb/s, 100Mb/s, 1000Mb/s, 10000 Mb/s Bandwidth Improvement = 1000X Latency Improvement = 16X Network: 1000X BW, 13X Latency 11/6/2018 中国科学技术大学
Architectural Trends 体系结构将技术的进步转化为系统能力和性能 的提升 主要解决并行性和局部性的权衡 Current microprocessor: 1/3 compute, 1/3 cache, 1/3 off-chip connect Tradeoffs may change with scale and technology advances 基础元件经历了4代: tube, transistor, IC, VLSI Here focus only on VLSI generation VLSI的最大趋势是不断地挖掘并行性 11/6/2018 中国科学技术大学
Architecture: Increase in Parallelism Bit level parallelism (before 1985) 4-bit → 8-bit → 16-bit Slows after 32-bit processors Adoption of 64-bit in late 90s, 128-bit and beyond for vector processing Great inflection point when 32-bit processor and cache fit on a chip Instruction Level Parallelism (ILP): Mid 80s until late 90s Pipelining and simple instruction sets (RISC) + compiler advances On-chip caches and functional units => superscalar execution Greater sophistication: out of order execution and hardware speculation Today: thread level parallelism and chip multiprocessors Thread level parallelism goes beyond instruction level parallelism Running multiple threads in parallel inside a processor chip Fitting multiple processors and their interconnect on a single chip 11/6/2018 中国科学技术大学
How far will ILP go? Limited ILP under ideal superscalar execution: infinite resources and fetch bandwidth, perfect branch prediction and renaming, but real cache. At most 4 instruction issue per cycle 90% of the time. 11/6/2018 中国科学技术大学
Thread-Level Parallelism “on board” 2018/11/6 Thread-Level Parallelism “on board” Proc MEM Microprocessor is a building block for a multiprocessor Makes it natural to connect many to shared memory Faster processors saturate bus Interconnection networks are used in larger scale systems 11/6/2018 中国科学技术大学
2018/11/6 Power & Energy 11/6/2018 中国科学技术大学
Power Intel 80386 consumed ~ 2 W 3.3 GHz Intel Core i7 consumes 130 W Heat must be dissipated from 1.5 x 1.5 cm chip This is the limit of what can be cooled by air 11/6/2018 中国科学技术大学
Limiting Force: Power Density 2018/11/6 Limiting Force: Power Density 电热板 核反应堆(原子炉) 火箭喷管 11/6/2018 中国科学技术大学
有关体系结构的新旧观念 Uniprocessor performance now 2X / 5(?) yrs Old Conventional Wisdom: Power is free, Transistors expensive New CW: “Power wall” Power expensive, Transistors free (Can put more on chip than can afford to turn on) Old CW: 通过编译、体系结构创新来增加指令级并行 (Out-of-order, speculation, VLIW, …) New CW: “ILP wall” 挖掘指令级并行的收益越来越小 Old CW: 乘法器速度较慢,访存速度比较快 New CW: “Memory wall” 乘法器速度提升了,访存成为瓶颈 (200 clock cycles to DRAM memory, 4 clocks for multiply) Old CW: Uniprocessor performance 2X / 1.5 yrs New CW: Power Wall + ILP Wall + Memory Wall = Brick Wall Uniprocessor performance now 2X / 5(?) yrs Sea change in chip design: multiple “cores” (2X processors per chip / ~ 2 years) More, simpler processors are more power efficient 11/6/2018 中国科学技术大学
Sea Change in Chip Design 2018/11/6 Sea Change in Chip Design Intel 4004 (1971): 4-bit processor, 2312 transistors, 0.4 MHz, 10 micron PMOS, 11 mm2 chip RISC II (1983): 32-bit, 5 stage pipeline, 40,760 transistors, 3 MHz, 3 micron NMOS, 60 mm2 chip 125 mm2 chip, 0.065 micron CMOS = 2312 RISC II+FPU+Icache+Dcache RISC II shrinks to ~ 0.02 mm2 at 65 nm Caches via DRAM or 1 transistor SRAM? Processor is the new transistor? 11/6/2018 中国科学技术大学
2018/11/6 “We are dedicating all of our future product development to multicore designs. … This is a sea change in computing” Paul Otellini, President, Intel (2004) Difference is all microprocessor companies have switched to multiprocessors (AMD, Intel, IBM, Sun; all new Apples 2+ CPUs) Procrastination penalized: 2X sequential perf. / 5 yrs Biggest programming challenge: from 1 to 2 CPUs 11/6/2018 中国科学技术大学
ManyCore Chips: The future is here 2018/11/6 ManyCore Chips: The future is here Intel 80-core multicore chip (Feb 2007) 80 simple cores Two FP-engines / core Mesh-like network 100 million transistors 65nm feature size Intel Single-Chip Cloud Computer (August 2010) 24 “tiles” with two IA cores per tile 24-router mesh network with 256 GB/s bisection bandwidth 4 integrated DDR3 memory controllers Hardware support for message-passing “ManyCore” refers to many processors/chip 64? 128? Hard to say exact boundary How to program these? Use 2 CPUs for video/audio Use 1 for word processor, 1 for browser 76 for virus checking??? Something new is clearly needed here… 11/6/2018 中国科学技术大学
The End of the Uniprocessor Era 2018/11/6 The End of the Uniprocessor Era Single biggest change in the history of computing systems ——摘自 Berkeyley CS252 11/6/2018 中国科学技术大学
Summary 计算机体系结构的基本概念 本课程将涉及的主要内容 体系结构设计面临的新问题 2018/11/6 Summary 计算机体系结构的基本概念 ISA+Organization+Implementation 本课程将涉及的主要内容 简单机器设计(ISA, 基本流水线)指令级并行 存储系统 (Cache, Virtual Memory) 复杂流水线 (动态指令流调度、动态分支预测) 显式并行处理器(向量处理器、VLIW,多线程处理) 多处理器结构 体系结构设计面临的新问题 Power Wall + ILP Wall + Memory Wall = Brick Wall 11/6/2018 中国科学技术大学
03/05-review 计算机体系结构的基本概念 计算机系统 个人移动设备 (PMD) 桌面计算(Desktop Computing) ISA+Organization+Implementation 计算机系统 个人移动设备 (PMD) Emphasis on energy efficiency and real-time 桌面计算(Desktop Computing) Emphasis on price-performance 服务器(Servers) Emphasis on availability, scalability, throughput 集群/仓储级计算机(Clusters / Warehouse Scale Computers) Emphasis on availability and price-performance 嵌入式计算机(Embedded Computers) Emphasis: price 11/6/2018 中国科学技术大学
03/05-review Great Ideas in Computer Architecture 体系结构设计面临的新问题 2018/11/6 03/05-review Great Ideas in Computer Architecture Design for Moore’s Law Abstraction to Simplify Design Make the Common Case Fast Dependability via Redundancy Memory Hierarchy Performance via Parallelism/Pipelining/Prediction 体系结构设计面临的新问题 Power Wall + ILP Wall + Memory Wall = Brick Wall 11/6/2018 中国科学技术大学
2018/11/6 1.2 定量分析技术基础 性能的含义 CPU性能度量 计算机系统性能度量 11/6/2018 中国科学技术大学
Defining CPU Performance 2018/11/6 Defining CPU Performance X比Y性能高的含义是什么? Ferrari vs. School Bus? 2013 Ferrari 599 GTB 2 passengers, 11.1 secs in quarter mile 2013 Type D school bus 54 passengers, quarter mile time? http://www.youtube.com/watch?v=KwyCoQuhUNA 响应时间: e.g., time to travel ¼ mile 吞吐率/带宽: e.g., passenger-mi in 1 hour 11/6/2018 中国科学技术大学
性能的两种含义 哪个性能高? Time to do the task (Execution Time) 2018/11/6 性能的两种含义 Plane Boeing 747 BAD/Sud Concorde Speed 610 mph 1350 mph DC to Paris 6.5 hours 3 hours Passengers 470 132 Throughput (pmph) 286,700 178,200 哪个性能高? Time to do the task (Execution Time) – execution time, response time, latency Tasks per day, hour, week, sec, ns. .. (Performance) – throughput, bandwidth 这两者经常会有冲突的。 11/6/2018 中国科学技术大学
举例 我们主要关注单个任务的执行时间 程序由一组指令构成,指令的吞吐率(Instruction throughput)非常重要! 2018/11/6 举例 Time of Concord vs. Boeing 747? Concord is 1350 mph / 610 mph = 2.2 times faster = 6.5 hours / 3 hours Throughput of Concorde vs. Boeing 747 ? Concord is 178,200 pmph / 286,700 pmph = 0.62 “times faster” Boeing is 286,700 pmph / 178,200 pmph = 1.60 “times faster” Boeing is 1.6 times (“60%”) faster in terms of throughput Concord is 2.2 times (“120%”) faster in terms of flying time 我们主要关注单个任务的执行时间 程序由一组指令构成,指令的吞吐率(Instruction throughput)非常重要! 11/6/2018 中国科学技术大学
以时间(Time)度量性能 Response Time CPU Execution Time 从任务开始到任务完成所经历的时间 通常由最终用户观察和测量 也称Wall-Clock Time or Elapsed Time Response Time = CPU Time + Waiting Time (I/O, scheduling, etc.) CPU Execution Time 指执行程序(指令序列)所花费的时间 不包括等待I/O或系统调度的开销 可以用秒(msec, µsec, …) , 或 可以用相对值(CPU的时钟周期数 (clock cycles)) 11/6/2018 中国科学技术大学
以吞吐率度量性能 Throughput = 单位时间完成的任务数 任务数/小时、事务数/分钟、100Mbits/s Example: 使用更快的处理器 执行单个任务时间少 ⇒ 单位时间所完成的任务数增加 硬件并行可提高吞吐率和响应时间(response time) Example: 采用多处理器结构 多个任务可并行执行, 单个任务的执行时间没有减少 减少等待时间可缩短响应时间 11/6/2018 中国科学技术大学
2018/11/6 相对性能 某程序运行在X系统上 X 性能是Y的n倍” 是指 11/6/2018 中国科学技术大学
CPU性能度量 Response time (elapsed time): 包括完成一个任务所需要的所有时间 2018/11/6 CPU性能度量 Response time (elapsed time): 包括完成一个任务所需要的所有时间 User CPU Time (90.7) System CPU Time (12.9) Elapsed Time (2:39) 例如:unix 中的time命令 90.7s 12.9s 2:39 65% (90.7/159) 11/6/2018 中国科学技术大学
CPU 性能公式-CPI 11/6/2018 中国科学技术大学
不同类型的指令具有不同的CPI 11/6/2018 中国科学技术大学
2018/11/6 CPI计算举例 Base Machine (Reg / Reg) Op Freq CPIi CPIi*Fi (% Time) ALU 50% 1 .5 (33%) Load 20% 2 .4 (27%) Store 10% 2 .2 (13%) Branch 20% 2 .4 (27%) 1.5 11/6/2018 中国科学技术大学
Inst Count CPI Clock Rate Program X (X) Compiler X X 2018/11/6 Inst Count CPI Clock Rate Program X (X) Compiler X X Inst. Set. X X (X) Organization X X Technology X 11/6/2018 中国科学技术大学
2018/11/6 03/06-Lecture 2 11/6/2018 中国科学技术大学
Amdahl's Law 假设对机器的部件进行了改进(加速比的概念) 2018/11/6 Amdahl's Law 假设对机器的部件进行了改进(加速比的概念) ExTime w/o E Performance w/ E Speedup(E) = -------------------- = --------------------- ExTime w/ E Performance w/o E 假设可改进部分E在原来的计算时间所占的比例为F,而部件加速比为S,任务的其他部分不受影响,则 ExTime(with E) = ((1-F) + F/S) X ExTime(without E) Speedup(with E) = 1/((1-F)+F/S)) 重要结论(性能提高的递减原则):如果只针对整个任务的一部分进行优化,那么所获得的加速比不大于1/(1-F) 11/6/2018 中国科学技术大学
Theoretic vs. Real Performance XBOX One Theoretic vs. Real Performance 11/6/2018 中国科学技术大学
2018/11/6 举例 假设给定一体系结构硬件不支持乘法运算,乘法需要通过软件来实现。在软件中做一次乘法需要200个周期,而用硬件来实现只要4个时钟周期。如果假设在程序中有10%的乘法操作,问整个程序的加速比?如果有40%的乘法操作,问整个程序的加速比又是多少? 假设一计算机在运行给定的一程序时,有90%的时间用于处理某一类特定的计算。现将用于该类计算的部件性能提高到原来的10倍。 如果该程序在原来的机器上运行需100秒,那么该程序在改进后的机器上运行时间是多少? 新的系统相对于原来的系统加速比是多少? 在新的系统中,原来特定的计算占整个计算的比例是多少? 2014-2-21 11/6/2018 中国科学技术大学
基本评估方法-市场评估方法 MIPS:每秒百万条指令数 MIPS = IC/(CPI*IC*T*106)=1/(CPI*T*106) 2018/11/6 基本评估方法-市场评估方法 MIPS:每秒百万条指令数 MIPS = IC/(CPI*IC*T*106)=1/(CPI*T*106) MIPS依赖于指令集 在同一台机器上,MIPS因程序不同而变化,有时差别较大 MIPS可能与性能相反 举例。在一台load-store型机器上,有一程序优化编译可以使ALU 操作减少到原来的50%,其他操作数量不变。 F = 500MHZ ALU (43% 1) loads (21% 2) stores (12% 2) Branches (24% 2) MFLOPS 基于操作而非指令,它可以用来比较两种不同的机器。但MFLOPS也并非可靠,因为不同机器上浮点运算集不同。CRAY-2没有除法指令,Motorola 68882有 SPEC测试(Standard Performance Evaluation Corporation) 11/6/2018 中国科学技术大学
Computer Performance Name FLOPS yottaFLOPS 1024 zettaFLOPS 1021 exaFLOPS 1018 petaFLOPS 1015 teraFLOPS 1012 gigaFLOPS 109 megaFLOPS 106 kiloFLOPS 103 11/6/2018 中国科学技术大学
基本评估方法-benchmark测试 五种类型的测试程序(预测的精度逐级下降) 真实程序:这是最可靠的方法。 2018/11/6 基本评估方法-benchmark测试 五种类型的测试程序(预测的精度逐级下降) 真实程序:这是最可靠的方法。 修改过的程序:通过修改或改编真实程序来构造基准程序模块。原因:增强移植性或集中测试某种特定的系统性能 核心程序(Kernels) :由从真实程序中提取的较短但很关键的代码构成。Livermore Loops及LINPACK是其中使用比较广泛的例子。 小测试程序(toy programs) :一般在100行以内。 合成测试程序(Synthetic benchmarks):首先对大量的应用程序中的操作进行统计,得到各种操作比例,再按这个比例人造出测试程序。Whetstone与Dhrystone是最流行的合成测试程序。 11/6/2018 中国科学技术大学
基准测试程序套件 Embedded Microprocessor Benchmark Consortium (EEMBC) Desktop Benchmarks SPEC2017 SPEC2006 SPEC2000 SPEC 95 SPEC 92 SPEC 89 Server Benchmarks Processor Throughput-oriented benchmarks (基于SPEC CPU benchmarks->SPECrate SPECSFS, SPECWeb Transaction-processing (TP) benchmarks (TPC-A, TPC-C, …) ….. Standard Performance Evaluation Corporation (www.spec.org) 11/6/2018 中国科学技术大学
Figure 1.17 SPEC2017 programs and the evolution of the SPEC benchmarks over time, with integer programs above the line and floating-point programs below the line. Of the 10 SPEC2017 integer programs, 5 are written in C, 4 in C++., and 1 in Fortran. For the floating-point programs, the split is 3 in Fortran, 2 in C++, 2 in C, and 6 in mixed C, C++, and Fortran. The figure shows all 82 of the programs in the 1989, 1992, 1995, 2000, 2006, and 2017 releases. Gcc is the senior citizen of the group. Only 3 integer programs and 3 floating-point programs survived three or more generations. Although a few are carried over from generation to generation, the version of the program changes and either the input or the size of the benchmark is often expanded to increase its running time and to avoid perturbation in measurement or domination of the execution time by some factor other than CPU time. The benchmark descriptions on the left are for SPEC2017 only and do not apply to earlier versions. Programs in the same row from different generations of SPEC are generally not related; for example, fpppp is not a CFD code like bwaves.
Figure 1.18 Active benchmarks from SPEC as of 2017.
性能的综合评价 算术平均或加权的算术平均 规格化执行时间,采用几何平均 SPEC采用这种方法(SPECRatio) 2018/11/6 性能的综合评价 算术平均或加权的算术平均 SUM(Ti)/n 或 SUM(Wi×Ti)/n 规格化执行时间,采用几何平均 SPEC采用这种方法(SPECRatio) 11/6/2018 中国科学技术大学
SPEC 性能综合 11/6/2018 中国科学技术大学
几何平均的两个重要特性 几何平均的比率等于比率的几何平均 几何平均的比率 等于 性能比率的几何平均 与参考机器的选择无关 11/6/2018 2018/11/6 几何平均的两个重要特性 对于A和B系统,以及两组相对性能 SPECRatio Ai, SPECRatio Bi 比率的几何平均 等于 几何平均的比率 几何平均的比率 等于 性能比率的几何平均 (与参考机器的选择无关) 几何平均的比率等于比率的几何平均 几何平均的比率 等于 性能比率的几何平均 与参考机器的选择无关 11/6/2018 中国科学技术大学
SPECfp2000 Execution Times & SPEC Ratios 11/6/2018 中国科学技术大学
2018/11/6 为什么对规格化数采用几何平均? 11/6/2018 中国科学技术大学
03/06-review 性能度量 CPU 执行时间 = IC × CPI × T 响应时间 (response time) 吞吐率 (Throughput) CPU 执行时间 = IC × CPI × T CPI ( Cycles per Instruction) MIPS = Millions of Instructions Per Second Latency versus Bandwidth Latency指单个任务的执行时间,Bandwidth 指单位时间完成的任务量(rate) Latency 的提升滞后于带宽的提升 (在过去的30年) Amdahl’s Law 用来度量加速比(speedup) 性能提升受限于任务中可加速部分所占的比例 Benchmarks:指一组用于测试的程序 比较计算机系统的性能 SPEC benchmark : 针对一组应用综合性能值采用SPEC ratios 的几何平均 11/6/2018 中国科学技术大学
几何平均的两个重要特性 几何平均的比率等于比率的几何平均 几何平均的比率 等于 性能比率的几何平均 与参考机器的选择无关 11/6/2018 2018/11/6 几何平均的两个重要特性 对于A和B系统,以及两组相对性能 SPECRatio Ai, SPECRatio Bi 比率的几何平均 等于 几何平均的比率 几何平均的比率 等于 性能比率的几何平均 (与参考机器的选择无关) 几何平均的比率等于比率的几何平均 几何平均的比率 等于 性能比率的几何平均 与参考机器的选择无关 11/6/2018 中国科学技术大学
Power in Integrated Circuits 功耗问题是当今计算机设计面临的最大挑战之一 芯片内部和外围电路都存在功耗问题 功耗会产生热,须解决散热问题 散热设计功耗(Thermal Design Power (TDP)) Intel:Thermal Design Power, A power dissipation target based on worst-case applications. 表达了设备的功耗特征 主要用于电源和冷却系统的设计 通常它低于峰值功耗,但高于平均功耗 TDP和功耗的关系? 答案是没有关系。很多测试表明,CPU的最大真实功耗小于TDP值,但是在加压超频后峰值功耗有可能超过TDP。 降低频率可导致功耗下降 11/6/2018 中国科学技术大学
Power versus Energy 功耗(Power) 指单位时间的能耗:1 Watt = 1 Joule / Second 一个任务执行的能耗 (energy) = Average Power × Execution Time Power or Energy? 哪个指标更合适? 针对给定的任务,能耗是一种更合适的度量指标(joules) 针对电池供电的设备,我们需要关注能效 Example: which processor is more energy efficient? Processor A consumes 20% more power than B on a given task However, A requires only 70% of the execution time needed by B Answer: Energy consumption of A = 1.2 × 0.7 = 0.84 of B Processor A consumes less energy than B (more energy-efficient) 11/6/2018 中国科学技术大学
动态能耗和功耗 针对CMOS技术, 动态的能量消耗是由于晶体管的on和off状态的切换引起的 Dynamic Energy ∝ Capacitive Load × Voltage2 the energy of pulse of the logic transition of 0-1-0 or 1-0-1 Capacitive Load = Capacitance of output transistors & wires Voltage has dropped from 5V to below 1V in 20 years Dynamic Power ∝ Capacitive Load × Voltage2× Frequency Switched 降低频率可以降低功耗 降低频率导致执行时间增加 ->不能降低能耗 降低电压可有效降低功耗和能耗 11/6/2018 中国科学技术大学
举例:动态能耗和功耗 Some microprocessors today have adjustable voltage and clock frequency. Assume 10% reduction in voltage and 15% reduction in frequency, what is the impact on dynamic energy and dynamic power? Answer: 10% reduction in Voltage ->Voltagenew= 0.90 Voltageold 15% reduction in Frequency ->Frequencynew= 0.85 Frequencyold 11/6/2018 中国科学技术大学
Trends in Clock frequency Intel 80386 consumed ~ 2 W 3.3 GHz Intel Core i7 consumes 130 W Heat must be dissipated from 1.5 x 1.5 cm chip This is the limit of what can be cooled by air 11/6/2018 中国科学技术大学
Trends in Power & Clock Frequency 2018/11/6 Trends in Power & Clock Frequency 11/6/2018 中国科学技术大学
运算与访存部件的能耗及占用面积比较 11/6/2018 中国科学技术大学 Figure 1.13 Comparison of the energy and die area of arithmetic operations and energy cost of accesses to SRAM and DRAM. [Azizi][Dally]. Area is for TSMC 45 nm technology node. 11/6/2018 中国科学技术大学
减少动态功耗的技术 关闭不活动模块或处理器核的时钟 (Do nothing well) Such as a floating-point unit when there are no FP instructions Dynamic Voltage-Frequency Scaling (DVFS) 在有些场景不需要CPU全力运行 降低电压和频率可降低功耗 针对典型场景进行特殊设计 (Design for the typical case) 电池供电的设备常处于idle状态,DRAM和外部存储采用低功耗模式工作以降低能耗 Overclocking (Turbo Mode) 当在较高频率运行安全时,先以较高频率运行一段时间,直到温度开始上升至不安全区域 一个core以较高频率运行,同时关闭其他核 11/6/2018 中国科学技术大学
低功耗技术-DVFS Figure 1.12 Energy savings for a server using an AMD Opteron microprocessor, 8 GB of DRAM, and one ATA disk. At 1.8 GHz, the server can handle at most up to two-thirds of the workload without causing service-level violations, and at 1 GHz, it can safely handle only one-third of the workload (Figure 5.11 in Barroso and Hölzle, 2009).
静态功耗(Static Power) 当晶体管处于off状态时,漏电流的流动产生的功耗称为静态功耗 随着晶体管尺寸的减少漏电流的大小在增加 Static Power = Static Current × Voltage Static power increases with the number of transistors 静态功耗有时会占到全部功耗的50% Large SRAM caches need static power to maintain their values Power Gating: 通过切断供电减少漏电流 To inactive modules to control the loss of leakage current 11/6/2018 中国科学技术大学
有关功耗和能耗小结 给定负载情况下能耗越少,能效(energy efficiency)越高, 特别是对电池供电的移动设备。 功耗应该被看作一个约束条件 A chip might be limited to 120 watts (cooling + power supply) Power Consumed = Dynamic Power + Static Power 晶体管开和关的切换导致的功耗为动态功耗 由于晶体管静态漏电流导致的功耗称为静态功耗 通过降低频率可节省功耗 降低电压可降低功耗和能耗 11/6/2018 中国科学技术大学
与能效相关的其他指标 EDP (Energy Delay Product) EDP = Energy ∗ Delay = Power ∗ Delay2 Performance per Power FLOPS per watt ( Scientific computing) SWaP (space, wattage and performance) Sun Microsystems metric for data centers, incorporating energy and space. SWaP = Performance / (Space ∗ Power) 11/6/2018 中国科学技术大学
本章小结 设计发展趋势 运行任务的时间 单位时间内完成的任务数 “X性能是Y的n倍 ” : Capacity Speed 2018/11/6 本章小结 设计发展趋势 Capacity Speed Logic 2x in 3 years 2x in 3 years DRAM 4x in 3 years 2x in 10 years Disk 4x in 3 years 2x in 10 years 运行任务的时间 Execution time, response time, latency 单位时间内完成的任务数 Throughput, bandwidth “X性能是Y的n倍 ” : ExTime(Y) Performance(X) --------- = -------------- ExTime(X) Performance(Y) 11/6/2018 中国科学技术大学
本章小结(续) Amdahl’s 定律: CPI Law: 执行时间是计算机系统度量的最实际,最可靠的方式 Speedupoverall = 2018/11/6 本章小结(续) Amdahl’s 定律: CPI Law: 执行时间是计算机系统度量的最实际,最可靠的方式 Speedupoverall = ExTimeold ExTimenew = 1 (1 - Fractionenhanced) + Fractionenhanced Speedupenhanced CPU time = Seconds = Instructions x Cycles x Seconds Program Program Instruction Cycle 11/6/2018 中国科学技术大学
Acknowledgements These slides contain material developed and copyright by: John Kubiatowicz (UCB) Krste Asanovic (UCB) David Patterson (UCB) Chenxi Zhang (Tongji) UCB material derived from course CS152、CS252、CS61C KFUPM material derived from course COE501、COE502 11/6/2018 中国科学技术大学
定点性能测试 SPECint95:反映评测系统的单处理器的定点运算性能 2018/11/6 定点性能测试 SPECint95:反映评测系统的单处理器的定点运算性能 SPEC:Standard Performance Evaluation Corporation www.spec.org 8个真实的应用:仿真技术、人工智能、图像处理、压缩算法、编译器、解释器、数据库 用运行8个应用的标准时间(SUN Ultra5_10, 300MHZ),除以实际运行时间得到一个比值,SPEC_int95是这8个比值乘积的开8次方得到的值 SPECint_base95: 采用最保守的优化策略 SPECint_rate95:反映具有多个处理器系统的性能的可扩展性,允许每个应用同时运行多个实例 比值的计算方法:运行次数*(应用标准运行时间*1天中的秒数/8个应用中最长的标准运行时间)/多次运行的总时间,SPECint_rate95是这8个比值的乘积开8次方。 SPECint_base_rate95 —采用最保守的编译优化策略 11/6/2018 中国科学技术大学
2018/11/6 定点性能 SPECint2000 12个应用:压缩算法、编译器、优化组合、棋类游戏、字处理、可视化、PERL语言、群论解释器、面向对象数据库、仿真技术. Written in C (11) and C++ (1) Dhrystone 发布于1984年,主要包含两类语句,字符串赋值和字符串比较。 11/6/2018 中国科学技术大学
浮点性能评测 SPECfp95 SPECfp_base95 SPECfp_rate95 SPECfp_base_rate95 2018/11/6 浮点性能评测 SPECfp95 评测系统的单处理器的浮点运算性能 10个真实的应用:流体力学、天气预报、量子 物理、天文、电子 SPECfp_base95 采用最保守的编译优化策略 SPECfp_rate95 反映具有多个处理器系统的浮点性能的可扩展性 SPECfp_base_rate95 11/6/2018 中国科学技术大学
浮点性能评测 SPECfp2000 Flops 14个应用:量子色动、浅水模型、三维电势场、 抛物线/椭圆偏微分方程、三维图像库、计算流体 2018/11/6 浮点性能评测 SPECfp2000 14个应用:量子色动、浅水模型、三维电势场、 抛物线/椭圆偏微分方程、三维图像库、计算流体 力学、图像识别/神经网络、地震波传播仿真、图 像处理/人脸识别、计算化学、数论、有限元碰撞 仿真、高性能物理加速器设计、污染分布计算 Flops 反映系统单处理器的峰值浮点运算能力 通过指令的不同组合来得到浮点加、减、乘、除 的计算能力,尽量使用寄存器,少与内存交互 11/6/2018 中国科学技术大学
Web服务性能 SPECweb96 SPECweb99 评价Web响应用户Web点击的性能 由客户端向服务器发送HTTP GET请求 2018/11/6 Web服务性能 SPECweb96 评价Web响应用户Web点击的性能 由客户端向服务器发送HTTP GET请求 SPECweb96值是服务器每秒能够支持的连接数量 SPECweb99 评价了Web服务器综合性能 每个客户端运行于400Kb/s的线路上 服务器最多支持320Kb/s以上的客户端连接数 不仅支持HTTP GET操作,还支持POST和Cookie 11/6/2018 中国科学技术大学
2018/11/6 数据处理性能 Debit Credit 1984年Tandem公司的Jim Gray提出 模拟一个具有多家分支机构银行的出纳操作,采用California银行1970年的数据 只包含银行存款帐户行为一种类型的事务 存款行为记录文件:帐户文件、分支机构文件、出纳文件、操作顺序的历史数据文件 帐户的规模、分支机构数据是系统吞吐量函数,例如:每个TPS应配置10个分支机构,100个出纳员,100000个帐户信息 规定每次出纳操作的时间固定为100秒,合法的结果应有95%的事务在1秒内完成 11/6/2018 中国科学技术大学
数据处理性能 评测计算机系统进行事务处理和数据库操作的性能 使用不同的输入和查询数据 修改密集型事务 评价联机事务处理(OLTP)的性能 2018/11/6 数据处理性能 TPC:Transaction Processing Performance Council,成立于1988年 (www.tpc.org) 评测计算机系统进行事务处理和数据库操作的性能 TPC-A 使用不同的输入和查询数据 修改密集型事务 评价联机事务处理(OLTP)的性能 1995年后不再使用 TPC-B 集中式数据库处理 不需要终端和网络 数据库操作有大量的磁盘I/O 中等量级的系统和应用执行时间 有很多处理之间的集成操作 11/6/2018 中国科学技术大学
数据处理性能 TPC-C 1992年开发 用远程终端模拟器模拟大量的终端用户 模拟存在大量地理上分散部门的企业的行为 2018/11/6 数据处理性能 TPC-C 1992年开发 用远程终端模拟器模拟大量的终端用户 模拟存在大量地理上分散部门的企业的行为 数据库结构复杂,多种事务处理模型、执行模式,热点现象, 全屏终端I/O格式化数据,透明的数据分区和事务处理的回滚 一般表示为tpmC和$/tpmC(Transactions Per Minute Computer) 五种事务:付款(payment)、订单状态查询(order-status)、 发货(delivery)、库存级别(stock-level)、新订单(new-order) 每种事务都有响应时间的要求,如new-order设置为5秒 tpmC是系统在满足其它4类事务响应时间要求的前题下, 在1分钟内处理new-order事务的数量 11/6/2018 中国科学技术大学
数据处理性能 TPC-D 决策支持应用,用于测试系统支持耗时的、只读的数据库操作的性能 2018/11/6 数据处理性能 TPC-D 决策支持应用,用于测试系统支持耗时的、只读的数据库操作的性能 每个复杂的查询都要存取数据库的大部分数据,进行多次join, sort, group, scan等操作 17个复杂查询和2个修改操作 极大程度地依赖于查询的优化、数据库表格的划分方法、SQL的效率、和高级索引技术 11/6/2018 中国科学技术大学
系统软件性能 Lmbench:SGI开发,测试操作系统性能 Netperf 2018/11/6 系统软件性能 Lmbench:SGI开发,测试操作系统性能 操作系统指标:空系统调用时间,进程切换时间,pipe、UDP、TCP、RPC的延迟和带宽,内存、Cache、TLB的读写性能,存储映射的性能 既能反映计算机系统的一些基本性能指标,也能反映操作系统实现的优劣 Netperf 评测计算机系统的网络性能,也可用来评测DLPI(Data Link Provider Interface),Unix Domain Socket的性能 TCP、UDP的带宽和请求应答数 按照客户机/服务器模式设计,结果数据是在用户设定的时间段内,两者之间传递的最大数据量 11/6/2018 中国科学技术大学
系统软件性能 SPECsfs97 SPECjvm98 评测系统的NFS性能 2018/11/6 系统软件性能 SPECsfs97 评测系统的NFS性能 采用客户机/服务器模式,客户机向服务器发送特定的NFS请求,得到NFS文件服务器的吞吐量和响应时间 SPECjvm98 使用8个应用来评测JAVA虚拟机的性能 11/6/2018 中国科学技术大学
科学与工程计算性能 Linpack Top500 LINear algebra PACKages 解线性方程组和线性最小二乘问题 2018/11/6 科学与工程计算性能 Linpack LINear algebra PACKages 解线性方程组和线性最小二乘问题 1000x1000标准 计算饱和峰值 Top500 11/6/2018 中国科学技术大学
科学与工程计算性能 SPLASH ParkBench:评价大型可扩展系统的计算性能 Stanford大学开发,评测共享存储系统性能 2018/11/6 科学与工程计算性能 SPLASH Stanford大学开发,评测共享存储系统性能 7个完整的应用和5个计算核心程序 科学与工程计算,计算机图形学方面的并行程序 ParkBench:评价大型可扩展系统的计算性能 micro-benchmark:获取单处理器的有关体系结构和编译器的基本性能参数;测试内容包括时钟调用、算术运算、内存带宽和延迟、通信延迟和带宽、全局同步操作性能等 kernel-benchmark:矩阵运算、FFT、偏微分方程、NAS核心,I/O Benchmark compact application:气候模型、计算流体动力学、财务模型、分子动力学、等离子物理、量子化学、水库模型 compiler:评价HPF编译器 11/6/2018 中国科学技术大学
2018/11/6 评价服务器性能的基本方法 基本性能参数:CPU、内存、I/O、网络、操作系统、文件系统、编译器、数据库 核心Benchmark:SPECweb, TPC-C, TPC-D, TPC-W, Linpack,MM5,PRIS,FFT,Guass98 实际应用:较真实的硬件配置和软件环境下,用实际应用或简化的、规模缩小的实际应用评价系统的真实性能 11/6/2018 中国科学技术大学
评价计算机系统的常见误区 误区一:处理器主频越高的系统性能越好。 误区二:SPEC值越高系统性能越好。 2018/11/6 评价计算机系统的常见误区 误区一:处理器主频越高的系统性能越好。 误区二:SPEC值越高系统性能越好。 误区三:用户A的应用运行效果很好,所以 计算机系统的性能很好。 误区四:系统配置越大,性能越好。 误区五:采用最新先进技术的系统,性能 越好。 11/6/2018 中国科学技术大学
只局限于计算机系统的某一层次,不能得到系统整体的性能特征 2018/11/6 评测程序缺陷 只局限于计算机系统的某一层次,不能得到系统整体的性能特征 只关心系统的性能,不关心评测结果的产生原因,无法探知系统的瓶颈,只能为用户选择系统提供帮助,不能对优化提供帮助。 11/6/2018 中国科学技术大学
Example Suppose we have two implementations of the same ISA For a given program Machine A has a clock cycle time of 250 ps and a CPI of 2.0 Machine B has a clock cycle time of 500 ps and a CPI of 1.2 Which machine is faster for this program, and by how much? 11/6/2018 中国科学技术大学
The first code sequence has 5 instructions: 2 of A, 1 of B, and 2 of C Problem: A compiler designer is trying to decide between two code sequences for a particular machine. Based on the hardware implementation, there are three different classes of instructions: class A, class B, and class C, and they require one, two, and three cycles per instruction, respectively. The first code sequence has 5 instructions: 2 of A, 1 of B, and 2 of C The second sequence has 6 instructions: 4 of A, 1 of B, and 1 of C Compute the CPU cycles for each sequence. Which sequence is faster? What is the CPI for each sequence 11/6/2018 中国科学技术大学
-review(续) 计算机体系结构的定义 Instruction Set Architecture (ISA) 设计 2018/11/6 -review(续) 计算机体系结构的定义 过去的观点: Instruction Set Architecture (ISA) 设计 即 体系结构设计需要关注并确定: 寄存器组织、如何访问存储器、寻址方式、指令操作数、硬件支持的操作种类、指令编码方式 目前的观点: 根据目标机器的特定需求,在成本、功耗、可用性等约束下最大化机器性能。包括 ISA、计算机组织(微体系结构)和硬件实现。 11/6/2018 中国科学技术大学