首页 > 其他分享 >架构 | Dark Silicon 暗硅 经典文章阅读

架构 | Dark Silicon 暗硅 经典文章阅读

时间:2024-07-12 18:42:27浏览次数:6  
标签:Dark 暗硅 架构 单核 建模 Silicon 文章 Law Scaling

Introduction

ITRS [1]每次预测未来 15 年半导体的发展,2024 年恰好是 Dark Silicon 文章写作年份 ITRS 预测最后一年[2]。15 年回首,重温 《Dark silicon and the end of multicore scaling》[3] 这篇伟大文章。

提出背景

架构视角:多核处理器发展

Moore's Law 描述晶体管密度越来越高。然而产品的尺寸由人物理尺寸决定的,笔记本尺寸总不能随着晶体管尺寸缩小吧!有那么多面积可以放电路板子,自然都要利用上,对于一个固定的场景,设计往往不会变动面积,而 transistor count 越来越多。

按理说算力正比于 transistor count,核做得越大,性能自然越强。然而代码天然的顺序执行结构导致单核性能存在边际递减效应。Polloack's Rule 描述单核性能和面积成开方增长关系。

Polloack's Rule。横纵是对数坐标

比如执行某数据格式 A + B 的指令,计算量就是固定的,并且由于顺序结构不能提前执行后面的指令。transistor count 增大计算能力上升了,但要处理的指令和数据就那么多,计算的容器没有那么多数据的水来装。这是单核处理器边际递减效应笼统的理解,实际情况单核也可以提前执行后面的指令(超标量,分支预测),也不一定按顺序执行(乱序),更确切地说,应该是数据依赖导致无法填满容器。

一看到非线性收益曲线,搞研究的特别高兴,非线性意味着存在优化问题,可以 trade-off 水文章呐!想要更大发挥每一个晶体管收益,便发掘程序中可以并行处理的部分,增大同时需要处理的数据量以匹配增长的计算能力,这就是多线程编程和多核处理器。

在相同面积下,多核处理器对比单个大核处理器,相当于降低单核性能,提高核的数量增大并行能力。其收益取决于代码中可以并行的部分,也就是以 Amdahl's Law 衡量多核收益,代码中可以并行的部分以并行系数 \(f\) 囊括。

\[S(p,s)=\frac{1}{(1-p)+\frac{p}{s}} \]

工艺视角:Dennard Scaling 失灵

几种 Scaling 方法,并没有考虑漏电流

2011 年 Moore's law 还能依靠 FinEFT 续几年命,然而由于低节点下漏电流问题越来越显著 Dennard Scaling 已经快要失灵 [4]。不像 Dennard Scaling 其 power density 不随工艺变化,漏电流势必导致更先进节点下功耗设计更加重要。

十年的预言:Dark Silicon

文章站在这俩个大背景下,架构上接算法下接电路,工艺(器件)上接电路下接基础物理,文章视野不可谓之不广。结论很易懂,随着 Dennard Scaling 失灵电路热密度越来越高,而材料散热能力是固定的(半导体材料不变),所以如果继续按照原来的设计芯片就成大火炉了。对于固定的面积,芯片一部分 transistor activate 另一部分就必须强制休息了,这部分不工作的 transistor 就和宇宙中观测不到的暗物质一样,称作 dark silicon[5]

结论并不复杂,当时有敏锐 sense 的设计师科研人员应该也能察觉到这个趋势,文章难得可贵的是量化分析给出可信数据结果。本文重点学习分析文章如何对如此复杂范围广阔的问题的建模。

建模思路

文章从三个层次建模硬件:

  • Device Scaling 工艺缩放
  • Core Scaling 单核性能
  • Multicore Scaling 多核性能

Overview

工艺方面直接使用了 ITRS Roadmap 和 Borkar 演讲中更保守的数据,对频率、电容、功耗、面积进行 scaling,能耗数据只有纯动态功耗中并不包括漏电流。现在看来 ITRS 当时的预测确实过于乐观。

单核上关键要概括不同设计之间 trade-off 的搜索空间。设计因素那就多了去了,架构、电路、电压、频率、面积一堆因素相互制约,但不需要研究太细,只把结果简化为 PPA。Power使用了 TDP 数据,假设 20% 的功耗由漏电流贡献, performance 用 SPEC 数据代替,area 直接看的 die shot。并且功耗和面积都排除了 L2、L3 缓存。对主流工艺 45 nm 下实验数据分别拟合 “能耗-表现”、“面积-表现” 的俩条 Pareto frontier 曲线,再结合之前的 Device Scaling 关系对 Pareto frontier 曲线放缩。

Pareto Frontier

Core Scaling

如果说单核性能是实测数据高屋建瓴地进行概括,多核建模恰恰相反,从底至顶完整设计了一套模型进行参数搜索。因为程序中不可能百分百都可以并行,架构往往是大小核配合,根据大小核组合的方式划分四种分类,又根据缓存组织方式划分了 CPU-like,GPU-like 三种架构,总共是 8 个 setting。

多核的不同拓扑

  • 搜索空间:前级的工艺数据、单核架构 PPA(Pareto frontier),以及本级核的数量
  • 搜索边界:能耗 TDP 和面积 Die Area
  • 模型和结果:总体上使用 Amdahl's law 相比 45 nm 单核 Nehalem 衡量相对提升。硬件上除了考虑处理器外,还建模了完整的 Memory Hierarchy,考虑数据传输的影响。使用上一级 performance 建模 CPI 和 frequency, 假设 \(P = f\times CPI\) 这样结合 Pareto frontier,CPI 和 frequency 只有一个自由度。软件上使用了 PARSEC benchmark,根据前人的工作拟合了并行系数,并拟合了 cache 预测率函数。

多核表现

使用了 GPGPU Sim 验证模型在 PARSER 上的表现。

搜索结论

在不同节点下使用了相同的功耗面积约束以及相同 baseline,对不同的 setting 进行参数搜索,当搜索遇到边界或者开始下降时停止搜索。将 percent dark silicon 定义为

\[\frac{S_{max} - S_{optim}}{S_{max}} \]

随着工艺进步,dark silicon [6]比例逐渐增高。结论便是实际性能提升无法跟上 Moore's Law 所描述的晶体管密度变化。

Result

Dark Silicon Slow Down

个人思考

这篇架构工作非常典型,涵盖层次上至算法下至电路/器件,建模分析方法也非常全面,十分适合学习。

硬件是一个非常复杂和封闭的系统,非常难对全局系统进行仿真分析,因此各种理论模型也层出不穷[7]架构就是数模大赛。建模本身就是一个 trade-off,节约研究时间/仿真时间,但降低了可信度准确度。模型可信需要大量的经验和扎实的验证工作,文中有诸多假设,比如假设 power-performance 呈现三次关系,这种拟合结果都是没有太多理论依据而纯工程结果导向的,这不仅需要能够根据经验给出合理假设,也需要大量时间验证修正模型。经验和汗水重要性再次凸显硬件行业 engineering towards 的特点。

本文是在一篇又一篇的积累基础上诞生的。器件上,Moore's Law 和 Dennard's Scaling 作为背景,以 ITRS 和 S. Borkar 的演讲[8]作为节点预测;单核上,peformance-area 关系使用了 Polloack's Rule,软件 benchmark 用 SPEC;多核系统上,基础理论根据 Adaml's Law,Adaml's Law 在不同多核拓扑的扩展参考了 Hill and Marty 的方法[9],多核计算和带宽模型取自 Z. Guz 的工作,软件 benchmark 使用 PARSEC,用 GPGPUSim 作为 simulator 仿真验证。

这样一想架构和经济学非常相似?都是研究人造的复杂系统,都是需要提出许多假设进行建模,其方法论想必也有共通之处?

具体的方法来看,本文单核表现通过现实数据拟合建模,解释性差准确性高;而多核表现则是自己建模再用 simulator 验证,解释性好难建模非常困难。这俩种建模方式都相当于构建了一个解析模型,可以在仿真环境里快速计算迭代搜索。解析模型建模比较依靠经验,另一种范式是通过纯仿真模型,对算力开销非常之大。此外最近听说也有用机器学习方法,通过学习数据构建解析解,兼顾计算效率和设计难度。比如 CIM 领域有名的建模工具,NeuroCIM [10]便是走得仿真思路(对 Circuit level 的仿真),而最近的 CiMLoop [11]则使用统计值囊括,算是构建解析模型了(不过这里只有值而没有函数)。

行业 sense 上,文章一是提醒要有全局观念,研究就像优化,很容易在复杂系统里优化到一个局部值陷进去了,文章中也提及当初有人在研究数千核系统,然而本文直接说明纯在一个核数量的上限。BTW,这种存在一个 upper bound 的思想也非常符合我的科学观。更具体来说,架构是站在半导体和算法两处上工作,这都是环环相扣的,比如 Moore's Law 晶体管密度持续增加并不意味着性能持续增加,需要 Dennard's Scaling 或是多核处理;比如文章假设 Moore's Law 持续并在 PARSEC 上测试验证结果,倘若 Moore's Law 停止增长,算法更换,结论又该如何呢。这一切都是紧密耦合的,现在无论是上层还是下层都经历巨变,新时代架构又以什么为基础理论?


  1. International Technology Roadmap for Semiconductors, 最后一次于 2013 年发布,其功能现已被 International Roadmap for Devices and Systems 取代 https://irds.ieee.org/ ↩︎

  2. 文章发布于 2011 年,写作时最新 ITRS 更新到 2009 年 https://www.itrs2.net/itrs-reports.html ↩︎

  3. https://ieeexplore.ieee.org/document/6307773 ↩︎

  4. 2011 年 TSMC 刚发布 28/22 nm 工艺, TSMC 在 16 nm 节点首次应用 FinEFT。文章写作时主流工艺是 45/40 nm,漏电流问题还不能算破坏了 Dennard Scaling,文章非常有前瞻性 https://www.tsmc.com/english/dedicatedFoundry/technology/logic ↩︎

  5. 说起 dark silicon 想起来今年 intel lunnar lake 里的空硅片 233 https://www.intel.com/content/www/us/en/newsroom/news/intels-lunar-lake-processors-arriving-q3-2024.html#gs.c23ywe ↩︎

  6. 为啥 GPU 架构比 CPU dark silicon rate 更高呀? ↩︎

  7. 人类自个儿造出来的复杂系统也无法用完善理论概括,不过社会也是人建造出来的,more is different 嘛 ↩︎

  8. S. Borkar. The exascale challenge. Keynote at International Symposium on VLSI Design, Automation and Test (VLSIDAT), 2010 ↩︎

  9. G. M. Amdahl. Validity of the single processor approach to achieving large-scale computing capabilities. In AFIPS ’67 ↩︎

  10. https://github.com/neurosim ↩︎

  11. https://github.com/mit-emze/cimloop ↩︎

标签:Dark,暗硅,架构,单核,建模,Silicon,文章,Law,Scaling
From: https://www.cnblogs.com/devil-sx/p/18299200

相关文章

  • [HBM] HBM TSV (Through Silicon Via) 结构与工艺
    依公知及经验整理,原创保护,禁止转载。专栏《深入理解DDR》全文3300字。1概念1.1什么是HBMTSV使用TSV堆叠多个DDRDRAM成为一块HBM,成倍提高了存储器位宽,一条位宽相当于高速公路的一条车道,车道越多,在相同的车速下,传输运输量自然越大。1.2TSV优点(1)高密......
  • dark1130_theme.xml sourceinsight 主题
    <ThemeList> <Theme Name="dark1130" > <DisplayColors> <ItemName="DefaultText"Color="#e0e0e0"/> <ItemName="WindowBackground"Color="#001515"/> <ItemName......
  • Ubuntu下darknet yolo4的编译
    Ubuntu下darknetyolo4的编译首次编辑:24/5/17/23:16最后编辑:24/5/18/12:47参考链接YOLOv4-darknetinstallationandusageonyoursystem(Windows&Linux)InstallingandBuildingDarknet官网0说明此博客只记录darknetyolo4+opencv的编译安装,不涉及cuda和cuDNN......
  • 在 Apple silicon Mac 上 DFU 模式修复或恢复 macOS 固件 (2024年5月更新)
    在ApplesiliconMac上DFU模式修复或恢复macOS固件搭载Apple芯片的Mac电脑DFU模式全新安装macOSSonoma请访问原文链接:在ApplesiliconMac上DFU模式修复或恢复macOS固件,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgMaccomputerswithApple......
  • darknet | darknet之nms do_nms_sort详解
    在yolo模型inference执行完成后,会产生很多的冗余结果,此时就需要调用nms对冗余结果进行去重nms函数在darknet框架中是do_nms_sort函数,位于box.c文件中,源码如下:voiddo_nms_sort(detection*dets,inttotal,intclasses,floatthresh){inti,j,k;......
  • darknet框架训练YOLOv7模型与工业缺陷检测
    1.darkne介绍Darknet是一个开源的深度学习框架,由JosephRedmon(YOLO~YOLOv3作者或参与者)开发,主要用于实现神经网络模型。这个框架最初是为了实现计算机视觉任务而创建的,尤其是目标检测。其中最著名的应用之一就是YOLO(YouOnlyLookOnce)系列目标检测算法。以下是......
  • QDarkStyleSheet
    1.下载https://github.com/ColinDuquesnoy/QDarkStyleSheet/tree/master2.代码1/*23SeeQtdocumentation:45-https://doc.qt.io/qt-5/stylesheet.html6-https://doc.qt.io/qt-5/stylesheet-reference.html7-https://doc......
  • Vulnhub之DarkHole_1
    DarkHole_1一信息收集IP扫描端口扫描访问80目录扫描查看目录80网页-->login注册用户我的id是2,那么应该有个账号是id=1,尝试越权修改id=1的密码把id改为1发现登陆成功,多了一个上传文件的地方,前面的目录扫描中我们也发现了/upload路径,尝试上传反弹shell上传一句话木......
  • [疑问] 为什么 Apple Silicon 处理器 MacBook 自带的 zsh 是 x86 架构的?
    问题如题,我有一台MacBookPro2021,某天我突发奇想测试了一下机器自带zsh的架构,输出的结果令人震惊:至于为什么不是ARM架构的,目前不得而知。不过我已经使用Homebrew装上了ARM架构的zsh。解决将默认Shell切换为Homebrew安装的zsh由于Homebrew安装的zsh不在......
  • darknet-yolov4训练自己的模型记录
    最近又整了一块jetsonnano的板子,就拿过来正好用一下,这个跑yolo还是很有用的,这里也记录一下过程。1、jetsonnano变化之前也玩过jetsonnano,但是最近却发现这个nano和之前的不一样了,是这样的就是原来都是sd卡烧录,但是这个是emmc了最大的区别就是原来使用那个烧录软件给sd卡......