Computer ¡Architecture ¡101 ¡ SDBS ¡
How ¡does ¡a ¡computer ¡look ¡like? ¡ A ¡ B ¡ CPU ¡ CPU ¡ RAM ¡ RAM ¡ Driver ¡ Driver ¡ 2nd ¡ Network ¡ Storage ¡ 2nd ¡ Network ¡ Storage ¡ controller ¡ CPU ¡ CPU ¡ RAM ¡ RAM ¡ C ¡ D ¡ Driver ¡ Driver ¡ Network ¡ 2nd ¡ 2nd ¡ Storage ¡ Network ¡ Storage ¡
What ¡does ¡a ¡CPU ¡do? ¡
What ¡is ¡a ¡hardware ¡interrupt? ¡ A. A ¡signal ¡from ¡an ¡external ¡device ¡to ¡the ¡CPU ¡ B. A ¡signal ¡from ¡the ¡CPU ¡to ¡an ¡external ¡device ¡ C. Signals ¡exchanged ¡between ¡CPUs ¡and ¡ external ¡devices ¡ D. A ¡program ¡call ¡between ¡CPUs ¡and ¡external ¡ devices ¡
What ¡does ¡an ¡instrucIon ¡look ¡like? ¡ • Data ¡handling ¡and ¡memory ¡ – Set ¡(register ¡to ¡constant), ¡move ¡(between ¡register ¡and ¡ RAM), ¡read/write ¡(to/from ¡device) ¡ • ArithmeIc ¡and ¡logic ¡ – +,´,*,\ ¡ – Bitwise ¡operaIons ¡(and, ¡or, ¡not, ¡xor) ¡ – Compare ¡(registers ¡values) ¡ • Control ¡flow ¡ – Branch, ¡i.e., ¡manipulate ¡instrucIon ¡reference ¡ (condiIonal, ¡indirect) ¡
How ¡does ¡a ¡CPU ¡look ¡like? ¡ InstrucIon ¡Fetcher ¡ InstrucIon ¡Decoder ¡ Memory ¡ Interface ¡ Registers ¡ ¡ ¡ ALU ¡
What ¡is ¡a ¡64 ¡bit ¡CPU? ¡ A. CPU ¡registers ¡are ¡64 ¡bits ¡ B. ALU ¡operates ¡on ¡64 ¡bits ¡operands ¡ C. A ¡memory ¡address ¡is ¡64 ¡bits ¡long ¡ D. All ¡of ¡the ¡above ¡
What ¡is ¡Moore’s ¡Law ¡ A. The ¡number ¡of ¡components ¡on ¡an ¡integrated ¡ circuit ¡will ¡double ¡every ¡two ¡years ¡ B. The ¡speed ¡of ¡CPUs ¡will ¡increase ¡every ¡two ¡ years ¡ C. CPU ¡performance ¡will ¡double ¡every ¡18 ¡ months ¡ D. CPU ¡performance ¡will ¡increase ¡quadraIcally ¡
Moore’s ¡Law ¡ h]p://download.intel.com/museum/Moores_Law/ArIcles-‑Press_releases/Gordon_Moore_1965_ArIcle.pdf ¡
The ¡end ¡of ¡Moore’s ¡law ¡
Performance ¡Trends ¡ Diagram ¡courtesy ¡of ¡A.Ailamaki ¡(EPFL) ¡
CPU ¡Parallelism ¡ A. Single ¡instrucIon, ¡single ¡data ¡(SISD) ¡ B. Single ¡instrucIon, ¡mulIple ¡data ¡(SIMD) ¡ C. MulIple ¡instrucIon, ¡single ¡data ¡(MISD) ¡ D. MulIple ¡instrucIons, ¡mulIple ¡data ¡(MIMD) ¡ ¡
Cache ¡Hierarchy ¡ http://lwn.net/Articles/252125/
Intel ¡Core ¡2 ¡ h]p://www.hotchips.org/wp-‑content/uploads/hc_archives/hc18/3_Tues/HC18.S9/HC18.S9T4.pdf ¡ Figure ¡courtesy ¡of ¡Appaloosa ¡
Motherboard ¡
What ¡is ¡an ¡IO ¡ ¡ (in ¡terms ¡of ¡hardware ¡architecture)? ¡ A. An ¡access ¡to ¡memory ¡ B. An ¡access ¡to ¡secondary ¡storage ¡ C. An ¡access ¡to ¡a ¡device ¡connected ¡on ¡the ¡I/O ¡ bus ¡ ¡
What ¡is ¡the ¡bandwidth ¡of ¡ ¡ a ¡modern ¡hard ¡disk ¡ ¡ (random ¡IO ¡per ¡secnd)? ¡ A. 10 ¡IOPS ¡ B. 100 ¡IOPS ¡ C. 1000 ¡IOPS ¡ D. 10000 ¡IOPS ¡ E. 100000 ¡IOPS ¡
How ¡much ¡faster ¡are ¡sequenIal ¡IOs ¡ compared ¡to ¡random ¡IOs ¡on ¡disk? ¡ A. the ¡same ¡ B. 2x ¡faster ¡ tracks ¡ spindle ¡ C. 10x ¡faster ¡ pla]er ¡ read/write ¡ ¡ head ¡ D. 100x ¡faster ¡ actuator ¡ disk ¡arm ¡ Controller ¡ disk ¡interface ¡
Some ¡Trends ¡ 2010 ¡ 2000 ¡ ¡ ¡ HDD ¡Capacity ¡ 200 ¡GB ¡ 2 ¡TB ¡ x10 ¡ 0,05 ¡ 30 ¡ HDD ¡GB/$ ¡ x600 ¡ HDD ¡IOPS ¡ 200 ¡ ¡ x1 ¡ 200 ¡ ¡ Flash ¡SSD ¡Capacity ¡ 256 ¡GB ¡ 14 ¡GB ¡(2001) ¡ x20 ¡ SSD ¡GB/$ ¡ 3 ¡x10E-‑4 ¡ 0,5 ¡ x1000 ¡ SSD ¡IOPS ¡ 10E3 ¡(SCSI) ¡ x1000 ¡ 10E6+ ¡ ¡(PCIe) ¡ 5x10E3+ ¡ ¡(SATA) ¡ 2x10E5 ¡cells, ¡4 ¡bits/cell ¡ PCM ¡Capacity ¡ PCM ¡IOPS ¡ 10E6+ ¡ ¡(1 ¡chip) ¡
The ¡Good ¡ The ¡hardware! ¡ • A ¡ single ¡ flash ¡chip ¡offers ¡ great ¡performance ¡ – e.g., ¡40 ¡MB/s ¡Read, ¡10 ¡MB/s ¡Program ¡ – Random ¡access ¡is ¡ as ¡fast ¡as ¡sequenIal ¡access ¡ – Low ¡energy ¡consumpIon ¡ • A ¡flash ¡device ¡contains ¡many ¡(e.g., ¡32, ¡64) ¡flash ¡chips ¡and ¡provides ¡ inter-‑chips ¡parallelism ¡ • Flash ¡devices ¡may ¡include ¡some ¡(power-‑failure ¡resistant) ¡SRAM ¡
The ¡Bad ¡ The ¡severe ¡constraints ¡of ¡flash ¡chips! ¡ • C1: ¡Program ¡granularity: ¡ ¡ – Program ¡must ¡be ¡performed ¡at ¡flash ¡page ¡granularity ¡ ¡ • C2: ¡Must ¡erase ¡a ¡block ¡before ¡updaIng ¡a ¡page ¡ • C3: ¡Pages ¡must ¡be ¡programmed ¡sequenIally ¡within ¡a ¡ block ¡ • C4: ¡Limited ¡lifeIme ¡(from ¡10 4 ¡up ¡to ¡10 6 ¡erase ¡ operaIons) ¡ Program ¡granularity: ¡a ¡page ¡(32 ¡KB) ¡ Pagess ¡must ¡be ¡ programmed ¡ Erase ¡granularity: ¡a ¡block ¡(1 ¡MB) ¡ sequenIally ¡ within ¡the ¡block ¡ (256 ¡pages) ¡
And ¡The ¡FTL ¡ The ¡soGware!, ¡the ¡Flash ¡TranslaHon ¡Layer ¡ – emulates a classical block device and handle flash constraints ¡ ¡ Constraints ¡ ¡ MAPPING ¡ Read ¡page ¡ (C1) ¡Program ¡granularity ¡ Read ¡sector ¡ ¡ (C2) ¡Erase ¡before ¡prog. ¡ Program ¡page ¡ ¡ Write ¡sector ¡ (C3) ¡SequenIal ¡program ¡ GARBAGE ¡ WEAR ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡within ¡a ¡block ¡ Erase ¡block ¡ COLLECTION ¡ LEVELING ¡ ¡ (C4) ¡Limited ¡lifeIme ¡ No ¡constraint! ¡ FTL ¡ Flash ¡chips ¡ SSD ¡
Flash-‑Based ¡SSD ¡Architecture ¡ Physical address space Logical address space Read Scheduling Read Write & Mapping Program Trim Erase Shared Internal chip chip chip chip data structures chip chip chip chip … … … … Garbage Wear chip chip chip chip collection Leveling Flash memory array
Methodology: ¡Device ¡state ¡ Random ¡Writes ¡– ¡Samsung ¡SSD ¡ Random ¡Writes ¡– ¡Samsung ¡SSD ¡ Out ¡of ¡the ¡box ¡ A9er ¡filling ¡the ¡device ¡ è ¡Enforce ¡a ¡ well-‑defined ¡device ¡state ¡ ¡ – performing ¡random ¡write ¡IOs ¡of ¡random ¡size ¡on ¡the ¡whole ¡device ¡ – The ¡alternaIve, ¡sequenIal ¡IOs, ¡is ¡less ¡stable, ¡thus ¡more ¡difficult ¡to ¡ enforce ¡ ¡
Methodology: ¡Startup ¡and ¡running ¡phases ¡ • When ¡do ¡we ¡reach ¡a ¡steady ¡state? ¡How ¡long ¡to ¡run ¡each ¡test? ¡ Startup ¡and ¡running ¡phases ¡for ¡ ¡ Running ¡phase ¡for ¡the ¡Kingston ¡DTI ¡ ¡ the ¡Mtron ¡SSD ¡(RW) ¡ flash ¡Drive ¡(SW) ¡ è ¡Startup ¡and ¡running ¡phase: ¡Run ¡experiments ¡to ¡define ¡ § IOIgnore: ¡Number ¡of ¡IOs ¡ignored ¡when ¡compuIng ¡staIsIcs ¡ § IOCount: ¡Number ¡of ¡measures ¡to ¡allow ¡for ¡convergence ¡of ¡those ¡staIsIcs. ¡
Methodology: ¡Interferences ¡ SequenIal ¡Reads ¡ Random ¡Writes ¡ SequenIal ¡Reads ¡ 10 ¡ Pause ¡ 1 ¡ 0.1 ¡ 0 ¡ 250 ¡ 500 ¡ 750 ¡ 1000 ¡ 1250 ¡ 1500 ¡ è ¡Interferences: ¡Introduce ¡a ¡pause ¡between ¡experiments ¡
Results: ¡Samsung, ¡memoright, ¡Mtron ¡ Locality ¡for ¡the ¡Samsung, ¡ ¡ Granularity ¡for ¡the ¡ ¡ Memoright ¡and ¡Mtron ¡SSDs ¡ Memoright ¡SSD ¡ • When ¡limited ¡to ¡a ¡focused ¡area, ¡ ¡ For ¡SR, ¡SW ¡and ¡RR, ¡ ¡ • – linear ¡behavior, ¡almost ¡no ¡latency ¡ RW ¡performs ¡very ¡well ¡ – good ¡throughputs ¡with ¡large ¡IO ¡Size ¡ For ¡RW, ¡ ≈ 5ms ¡for ¡a ¡16KB-‑128KB ¡IO ¡ •
Results: ¡Intel ¡X25-‑E ¡ Response ¡ Ime ¡(μs) ¡ SR, ¡SW ¡and ¡RW ¡have ¡ similar ¡performance. ¡ RR ¡are ¡more ¡costly! ¡ Response ¡ Ime ¡(μs) ¡ IO ¡size ¡(KB) ¡ RW ¡(16 ¡KB) ¡performance ¡ varies ¡from ¡100 ¡μs ¡to ¡100 ¡ ms!! ¡(x ¡1000) ¡
Recommend
More recommend