《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 09 Case Study- Jave Branch Prediction Optimization

高级计算机体系结构设计及其在数据中心和云计算的应用Lecture 9Control Flow Transfer in Java Processing:Characterization and Architectural Implications
高级计算机体系结构设计及其在数据中心和云计算的应用 Lecture 9 Control Flow Transfer in Java Processing: Characterization and Architectural Implications

高级计算机体系结构设计及其在数据中心和云计算的应用Control Flow Transfer in Modern ProcessorsProblem:pipelinestallSolution:prediction, speculative executionAccuracyof predictionisveryimportantTo improveaccuracyof predictionforemergingworkloads: characterization is the first stepSelectedJavaduetoitspopularityinembeddedtoserverplatforms
高级计算机体系结构设计及其在数据中心和云计算的应用 Control Flow Transfer in Modern Processors • Problem: pipeline stall • Solution: prediction, speculative execution • Accuracy of prediction is very important • To improve accuracy of prediction for emerging workloads: characterization is the first step 2 – Selected Java due to its popularity in embedded to server platforms

高级计算机体系结构设计及其在数据中心和云计算的应用Java ProcessingJavaPrograms(Bytecode)ClassLibrariesClassLoading&I/ORMIawtnetVerificationJVMJITCompilerInterpreterNativeJavaGarbageCodeThreadManagementNativeCollectionInterfaceOperating SystemHardwarePlatform
高级计算机体系结构设计及其在数据中心和云计算的应用 Java Processing Java Programs (Bytecode) Class Loading & Verification awt net I/O RMI . Class Libraries JVM 3 Interpreter . . . JIT Compiler Garbage Collection Thread Management Native Code Java Native Interface Operating System Hardware Platform

高级计算机体系结构设计及其在数据中心和云计算的应用MajorFeaturesof JavaMajorrun-timefeaturesofJavaarisefromeither-Javaruntime environment:Java Virtual Machine (JVM)-Interpreter-JustInTime (JIT)compiler. Garbage collection, synchronization,class loading etc.Javalanguagefeatures(Objectorientedness,classesvirtualmethodsetc.)
高级计算机体系结构设计及其在数据中心和云计算的应用 Major Features of Java • Major run-time features of Java arise from either – Java runtime environment • Java Virtual Machine (JVM) – Interpreter – Just In Time (JIT) compiler • Garbage collection, synchronization, class loading etc. 4 – Java language features (Object orientedness, classes, virtual methods etc.)

高级计算机体系结构设计及其在数据中心和云计算的应用OsActivity inJavaProcessingSPECjvm98:4%~17%[ICS'00]Java Servers:65.3%[Luo etal.,ISPASS'01]SPECInt95:<2%[ICS'00]OSActivityinSPECivm98%ofosCycleBenchmarks4.3compress14.9jessdb12.614.9javac8.6mtrtjack16.9
高级计算机体系结构设计及其在数据中心和云计算的应用 OS Activity in Java Processing • SPECjvm98: 4%~17% [ICS’00] • Java Servers: 65.3% [Luo et al., ISPASS’01] • SPECInt95: <2% [ICS’00] OS Activity in SPECjvm98 Benchmarks % of OS Cycle 5 compress 4.3 jess 14.9 db 12.6 javac 14.9 mtrt 8.6 jack 16.9

高级计算机体系结构设计及其在数据中心和云计算的应用IndirectBranchFrequency in JavaProcessingJava:uniformlyhigh (dueto OO features + JvM)C:gcc, perl and li (compilation and interpretation)Benchmarks%ofIndirectBranchesJITInterpretationdb3.02.53.3jess2.42.61.9javac2.52.1jack2.72.0mtrt4.31.6compress0.7go0.4compress0.8m88ksim1.1gcc0.2jjpegli2.02.2perl0.9vortex6
高级计算机体系结构设计及其在数据中心和云计算的应用 Indirect Branch Frequency in Java Processing • Java: uniformly high (due to OO features + JVM) • C: gcc, perl and li (compilation and interpretation) Benchmarks % of Indirect Branches Interpretation JIT db 3.0 2.5 jess 3.3 2.4 javac 2.6 1.9 Java jack 2.5 2.1 (SPECJvm98) 6 jack 2.5 2.1 mtrt 2.7 2.0 compress 4.3 1.6 Java (SPECJvm98) go 0.7 compress 0.4 m88ksim 0.8 gcc 1.1 ijpeg 0.2 li 2.0 C (SPECInt95) perl 2.2 vortex 0.9

高级计算机体系结构设计及其在数据中心和云计算的应用ProblemStatementImpactof OS activityonbranchbehaviorof Javais notwellunderstood.IndirectbranchbehaviorinJavaisnotwellunderstoodDothecharacteristicsofOSbranchesorindirectbranchesmotivatearchitecturalenhancementsinprocessors?Ifso,whatmodifications?
高级计算机体系结构设计及其在数据中心和云计算的应用 Problem Statement • Impact of OS activity on branch behavior of Java is not well understood. • Indirect branch behavior in Java is not well understood. 7 • Do the characteristics of OS branches or indirect branches motivate architectural enhancements in processors? If so, what modifications?

高级计算机体系结构设计及其在数据中心和云计算的应用Characterization of Os branch behaviorKernelinvocationsareshort-livedandkernelexecutesfewerbranchespercontext10001000jack (kernel)jack (user)10010010020003000500001000200010004000300040005000UserContextSerialNoKernelContextSerialNoExecutedBranchesinUser andKernel Contexts(5,000SamplingContextsonSPECjvm98Benchmarkjack)8
高级计算机体系结构设计及其在数据中心和云计算的应用 Characterization of OS branch behavior – Kernel invocations are short-lived and kernel executes fewer branches per context. jack (user) 100 1000 Number of Executed jack (kernel) 100 1000 Number of Executed 8 1 10 100 0 1000 2000 3000 4000 5000 Context Switch Number of Executed Branches 1 10 100 0 1000 2000 3000 4000 5000 Context Switch Number of Executed Branches Executed Branches in User and Kernel Contexts (5,000 Sampling Contexts on SPECjvm98 Benchmark jack) User Context Serial No. Kernel Context Serial No

高级计算机体系结构设计及其在数据中心和云计算的应用80kernel70usererer6050403020100compress80vadiaAverageNumberofExecutedBranchesper Context in User and Kernel Modes
高级计算机体系结构设计及其在数据中心和云计算的应用 30 40 50 60 70 80 kernel user 9 0 10 20 Average Number of Executed Branches per Context in User and Kernel Modes

高级计算机体系结构设计及其在数据中心和云计算的应用ThePredictabilityof OsbranchesBranch(PC)bitsusedforbranchaddressTotalBHTof2j+kEntriesBHSRibitsSizeofbitsSchemebits usedBHSRBHTschemeAsizeforBHTindex(# ofselectionBHSRS(i=1..9)index(i)(i)BHT(k)entries)2bc.2'K002'Ki+10002'KGAg.2'Ki+10.0i+642'KGAs.2'K2'K00Gshare.2'Ki+10kbitsi+5i+842'KSAs.2'KBHT: Branch History TablepredictionBHSR:BranchHistoryShiftRegister14□2K12■4K108K□16K86■32K4202bcSAsGAsGAgGshareBranchPredictorConfigurations and Kernel BranchesPredictability[ISPASS'o1]
高级计算机体系结构设计及其在数据中心和云计算的应用 The Predictability of OS branches BHT of 2j+k Entries branch address . . . . . . . BHSRs . . . i bits k bits j bits Branch (PC) bits used for Scheme size (i=1.9) BHSR selection (i) BHT index (j) BHSR bits used for BHT index (k) Total Size of scheme (# of BHT entries) 2bc.2i K 0 i+10 0 2i K GAg.2i K 0 0 i+10 2i K GAs.2i K 0 i+6 4 2i K Gshare.2i K 0 0 i+10 2i K SAs.2i K i+8 i+5 4 2i K 10 prediction BHT: Branch History Table BHSR: Branch History Shift Register SAs.2i K i+8 i+5 4 2i K 0 2 4 6 8 10 12 14 2bc GAs SAs GAg Gshare Misprediction Rate (%) 2K 4K 8K 16K 32K Branch Predictor Configurations and Kernel Branches Predictability [ISPASS’01]
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 13 An Introduction to Cloud Data Centers.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 10 Out of Order and Speculative Execution.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 11 Multi-core and Multi-threading.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 14 Towards Renewable Energy Powered Sustainable and Green Cloud Datacenters.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 15 GPGPU Architecture and Programming Paradigm.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 12 Shared Memory Multiprocessor.pdf
- 《现代计算机体系结构》课程教学课件(留学生版)Lecture 1 Instruction Set Architecture(Introduction).pdf
- 《现代计算机体系结构》课程教学课件(留学生版)Lecture 0 Introduction and Performance Evaluation.pdf
- 《现代计算机体系结构》课程教学课件(留学生版)Lecture 3 Pipelining.pdf
- 《现代计算机体系结构》课程教学课件(留学生版)Lecture 2 Instruction Set Architecture(Microarchitecture Implementation).pdf
- 《现代计算机体系结构》课程教学课件(留学生版)Lecture 7 Multiprocessors.pdf
- 《现代计算机体系结构》课程教学课件(留学生版)Lecture 4 Spectualtive Execution.pdf
- 《现代计算机体系结构》课程教学课件(留学生版)Lecture 6 Memory Hierarchy and Cache.pdf
- 《现代计算机体系结构》课程教学课件(留学生版)Lecture 5 Out of Order Execution.pdf
- 武汉理工大学:《模式识别》课程教学资源(PPT课件)第4章 基于统计决策的概率分类法.ppt
- 武汉理工大学:《模式识别》课程教学资源(PPT课件)第1章 绪论、第2章 聚类分析.ppt
- 武汉理工大学:《模式识别》课程教学资源(PPT课件)第3章 判别函数及几何分类法.ppt
- 武汉理工大学:《模式识别》课程教学资源(PPT课件)第7章 模糊模式识别法.ppt
- 武汉理工大学:《模式识别》课程教学资源(PPT课件)第6章 句法模式识别.ppt
- 武汉理工大学:《模式识别》课程教学资源(PPT课件)第5章 特征选择与特征提取.ppt
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 07 Instruction Decode.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 08 Instruction Fetch and Branch Predictioin.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 06 Scoreboarding and Tomasulo.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 04 Memory Data Prefetching.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 05 Core Pipelining.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 02 Memory Hierarchy and Caches.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 03 Main Memory and DRAM.pdf
- 《现代计算机体系结构》课程教学课件(英文讲稿)Lecture 01 Introduction and Performance Evaluation-new.pdf
- 东北大学:某学院计算机科学与技术专业《智能信息系统开发》课程教学大纲.pdf
- 东北大学:某学院计算机科学与技术专业《软件工程综合实践》课程教学大纲.pdf
- 东北大学:某学院计算机科学与技术专业《创新创业设计基础》课程教学大纲.pdf
- 东北大学:某学院计算机科学与技术专业《工程领导力》课程教学大纲.pdf
- 东北大学:某学院计算机科学与技术专业《高等数学建模》课程教学大纲(二).pdf
- 东北大学:某学院计算机科学与技术专业《数据库原理》课程教学大纲.pdf
- 东北大学:某学院计算机科学与技术专业《物理建模》课程教学大纲 A.pdf
- 东北大学:某学院计算机科学与技术专业《Java程序设计基础》课程教学大纲.pdf
- 东北大学:某学院计算机科学与技术专业《算法设计与分析》课程教学大纲.pdf
- 东北大学:某学院计算机科学与技术专业《Linux操作系统与内核分析》课程教学大纲.pdf
- 东北大学:某学院计算机科学与技术专业《计算机体系结构》课程教学大纲.pdf
- 东北大学:某学院计算机科学与技术专业《计算机网络组网技术》课程教学大纲.pdf