Computer architecture Lecture5

Posted by chinaljr on April 18, 2018

lecture 5 . Cache and Memory

cache basics

concepts

  • on-chip : processor(core) / cache / mc
  • off-chip : memory

  • chunks : called cache blocks or cache lines 内存块
  • cache entry fields
    • tag : 块的地址
    • status : 是不是 valid
    • data

logical organization of cache

  • direct mapped : 直接映射 一个内存块只能放在确定的位置
  • fully associative : 全相联映射 可以放在任意的位置
  • set associative : 组相联映射 可以放在一个组里面

virtual memory

page tabel is an array of page table entries PTEs

  • MMU Memory Management Unit 内存管理单元
  • TLB Translation Lookaside Buffer 一个在mmu中的硬件cache

optimiztions

优化

locality principles 局部性原理

  • temporal locality 时间局部性,经常用的就是经常用
  • spatial locality 空间局部性,空间上靠着的也经常用
  • algorithmic locality 算法局部性,由于算法循环访问一部分内容,或者访问四处的内容

3C model :

  • Compulsory miss 第一个肯定没有cache
  • Capacity miss 大小限制
  • conflict miss 冲突

miss caching

  • L1 miss 就在 miss $ 上找,把它存到L1
  • L1 和 miss $ 都miss ,那么就去L2上找,把它放进miss $ 和 L1
  • miss $ 是一个全相联映射 很小 (2-5个cache line)
  • 为了减少miss

victim caching

  • L1 miss 就在 victim $ 上找,把它放到L1 ,把L1 ejected 的块存到victim $
  • 都miss 就 从 L2上面 fetch

prefetching

  • Fill request in anticipation of data request
  • Prefetching instructions, i.e., branch prediction 预加载指令,分支预测
  • Prefetching sequential data accesses 预加载序列的数据

special buffer : Prefetched blocks

content

  • Partitioning heuristics 分区启发式 确定该不该cache ,cache 了之后放在哪里
  • Prefetching heuristics 预加载启发式,什么时候cache
  • locality optimizations : reorganize code,data,reference

cache write policies

  • Write operation upon a cache hit 命中的写操作
    • write-back : 标记dirty ,在被替换的时候写回
      • save bandwidth and energy
    • write-through : 同时写回贮存
      • easy to implement, keeps cache clean
  • Write operation upon a cache miss miss之后的写操作
    • write allocate : 带到cache 中然后写
    • no-write allocate : 不缓存

每次都写很费劲,中间再来一层.

  • write buffer : FIFO,dump
  • write cache : like cache , probed(检测)

consistency mannagement

  • inclusive relationship : 一样的东西
  • exclusive relationship : 东西不一样

DRAM basis

  • DIMM dual in-line memory module 双列直插式内存模块
  • RANK 一组 DRAM devices,lockstep,可以接受指令,addressable
  • device
  • BANK(是 device 的一部分) 存储体 connect with the IO bus,分成很多内存块,独立操作的存储序列,bank多可以并行???
  • DRAM Array
  • channel : memory controller and DRAM
  • DRAM chips xN : N refers to the number of output pins/ N arrays in a bank / column width is 4
  • a row : 每个rank中的 row 一样
  • rank 和 bank 层面的并行性,提高了带宽
  • A column of data is the smallest addressable unit of DRAM
  • Channel ID, rank ID, bank ID, row ID, column ID
  • 连续缓存,他们可以放在同一行,row(rank级别就一样)/放在 不同的 rank 中 提高并行性
  • 1T1C
    • row 是 开关
    • A single transistor-capacitor pair for a bit in DRAM 一个晶体管-电容对对应一位数字
    • 必须定时 refresh
    • row and column strobes, clock, and other signals.
  • Classical DRAM systems: width of data bus equals column size. Send N bits for xN DRAM, one per cycle
    • bus 宽度等于 column size
  • refresh mechanism
    • row 最小的
    • rank level bank level
  • Row buffers act as a cache within DRAM
    • Row buffer hit: ~20 ns access time
    • Empty row buffer access: ~40 ns
    • Row buffer conflict: ~60 ns
  • Synchronous and Asynchronous Devices
    • Synchronous DRAMs 时钟取代RAS 和 CAS
    • Double Data Rate (DDR) SDRAM 每一个时钟edge都传输数据
  • Memory Wall
    • 内存宽带问题
    • 技术革命,潜力有限
    • power
    • some solution
      • row buffer hit rate 行缓冲命中率
      • requires intelligent mapping of data to rows,需要将数据智能映射到行,
      • clever scheduling of requests聪明的请求调度

Lecture 6 Data storage and I/O

The IO problem

  • processor
  • memory bandwidth = 1666 (Mhz) * 2 (lines/clock) * 64 (bits/line) * 2 (channel)/8
  • Disk drive perforformance
    • 200 MB/s with SATA(Serial Advanced Technology Attachment)
    • improved less than 10%

Basic Concept

Disk Parameters

  • Platter 盘面
  • Track 磁道
  • sector 扇区
  • cylinder 柱面

access cost

  • seek time : 寻道时间
  • Rotational Latency:旋转延迟
  • Data Transfer Time : 数据传输时间
  • other : 控制时间,排队时间

Disk interface

Desirable Characteristics

  • simple protocol
  • high autonomy 自动
  • high data rate ,up to a point
  • overlapping commands 交叉指令 ,允许多个磁盘提高利用率
  • Command queueing 排队

PATA VS SATA

  • PATA
    • 并行接口
    • 老的PC
    • 18 inch == 0.45m
    • 支持不同的数据传输模式
  • SATA
    • 点对点 接口
    • 目前主导
    • 1m
    • 向下兼容

Small Computer System Interface (SCSI)

more functionilities and features

  • SAS (Serial attached SCSI)
    • ad. 快、reliability、线可以更长
    • app. enterprise 、 serve system
  • compare with SATA
    • ad. 便宜、更大存储、更少能量
    • app. PC、normal storage

FC(Fibre Channel)

  • high-end 高端
  • feature-rich
  • serial inferface
  • three topologies
    • point to point
    • arbitrated loop 仲裁环路
    • switched fabric 交换结构

Disk array and RAID

RAID : Redundant Arrays of Independent Disks 独立磁盘构成的具有冗余能力的阵列

Data striping 数据分段

  • JBOB :just a bunch of disks
    • A set of disk drives that have no logical relationship in-between 没有内部逻辑关系的吃饭驱动
    • Co-located solely for sharing physical resources such as power 只共享物理资源:电力
  • data striping
    • stripe factor/width : 磁盘的数目??
    • stripe unit : 固定大小的数据块
    • stripe size/depth : 分段单元的大小

Data mirroring 数据镜像

  • basic mirroring
  • chained cluster mirroring 链表镜像(环),必须是偶数????

RAID

  • 在一组磁盘中提供容错功能
  • RAID-0
    • 简单分段
    • 没有冗余
    • “marketing hype” ????营销炒作
  • RAID-1
    • Basic mirroring
    • 花费多
    • 很容易扩展
  • RAID-10 strip of mirrors
  • RAID-01 mirror of strips

fault tolerance

  • data availability
    • data replication 数据复制,简单贵
    • Error correcting coding(ECC) : 有效,实惠
  • parity bit
    • odd parity :保证1的个数为奇
    • even parity :保证1的个数为偶
  • XOR-based Redundancy Scheme
    • 异或 逆运算 还是 异或
    • P = D1 xor D1

other raid

  • RAID-2
    • Bit-level striping
    • 汉明码
    • storage industry 不被用
  • RAID-3
    • Byte-level striping
    • dedicated 专用的 parity
    • 被使用
  • RAID-4
    • Block-level striping
    • 专用的 parity
    • 不普及
  • RAID-5
    • Block-level striping
    • distributed 分散式的 parity
    • Offer a single drive failure protection
  • RAID-6
    • Block-level striping
    • double distributed parity
    • Offer a double failure protection

NAS and SAN

  • NAS Network Attached Storage 网络附属存储
    • 文件服务器
    • Ethernet 以太网
    • file
    • 价格少点
  • SAN Storage Area Network 存储区域网络
    • Mission-critical data 关键任务数据
    • 网状通道
    • Blocks of data
    • 贼贵
  • DAS Direct Access Storage 直连式存储

DAS

  • Management of data storage is distributed 分散管理数据
  • Servers send data over LAN/WAN
  • Additional server access over the network 通过网络上的服务器访问

  • limitations
    • LAN 访问别的计算机数据 性能差
    • 发送批量数据 会影响通信
    • serve GG了。别的不能用

NAS

  • storage
  • a processor
  • an operating system
  • dedicated to function solely as a file server

  • advantages
    • Economical way of storage sharing 经济的共享方案
    • Easier to setup and configure 配置简单
    • Readily support RAID 支持 RAID
    • 存储资源高利用

SAN

  • A vast array of standard storage devices 大量标准存储设备
  • Dedicated, high-speed, and scalable backend network 专用 高速 可扩展的后端网络
  • Decoupling of storage from direct attachment to server,提供一个共同接口?

  • advantages
    • Saves LAN/WAN bandwidth 节省LAN / WAN带宽
    • Better data availability 更好的数据可用性
    • Maintenance becomes easier 维护变得更容易
    • Support heterogeneous devices 支持异构设备
    • Readily accept centralized management 轻松接受集中管理
    • Higher hardware utilization and high performance 更高的硬件利用率和高性能

Flash Storage Device 闪存设备

Solid-State Drive (SSD)

img

NAND

  • control gate
  • floating gate img

write amplification 写放大

  • 实际写入的信息量很大

SLC and MLC

  • SLC Single-Level Cell
    • 1 bit data per cell
    • Higher cost per bit
    • Lower density
    • Lower power cons.
    • Shorter program time
  • MLC Multi-Level Cell
    • 2 bits data per cell
    • Lower cost per bit
    • Higher density
    • Higher power cons.
    • Longer program time

advantage of SSD

  • Super low latency
    • 寻道时间没了
  • Very fast read and write speed
  • Physically more robust
    • Shock resistance 抗冲击
    • Zero moving parts ??? 不用机械移动
  • Immune to data fragmentation 不受数据碎片影响

SSD in Existing Storage System

  • Hybrid design :magnetic media + non-volatile cache
  • Flash-only