Performance Evaluation of Computer Systems Course Overview
|
|
- Martina Phillips
- 5 years ago
- Views:
Transcription
1 Performance Evaluation of Computer Systems Course Overview Vlastimil Babka, Lubomír Bulej Tomáš Kalibera, Peter Libič Petr Tůma FACULTY OF MATHEMATICS AND PHYSICS CHARLES UNIVERSITY IN PRAGUE
2 Performance Evaluation... Performance Response time, number of operations per second, processor utilization, memory occupation... Evaluation Measuring either real systems or simulation models Theoretical analysis of mathematical models of systems
3 of Computer Systems Ultimately, Ultimately,we wewant wantto toknow know how howfast fastis isour oursoftware software Algorithmic complexity is only part of the picture In reality, multiple layers affect performance and the effects are hard to observe in isolation Class libraries, virtual machine (C#, Java) Native libraries (C/C++ libraries, math libraries...) Operating system, sometimes hypervisor Hardware (CPU, memory, disks...)
4 ? How hard can it be
5 Java Hash Set Lookup Performance HashSet.contains HashSet.contains offers offersconstant constanttime timeperformance performance
6 Java Hash Set Lookup Performance HashSet.contains HashSet.contains offers offersconstant constanttime timeperformance performance
7 Applications... When purchasing a new hardware or software Which one is the best fit for my purpose? When designing a new software Will it meet the performance requirements? Which design alternative will have better performance? When designing a new CPU (or compiler or VM ) Will adding optimization X improve the performance? When a system is running (too) slow Where is the bottleneck and how can I fix it? Which set of parameters yields the best performance?
8 Techniques... Design time implementation not ready Analytical Modeling Simulation Smaller part of this lecture Implementation or testing time implementation (at least partially) ready Measurement Benchmarking Monitoring Profiling Biggest part in this lecture Differences in accuracy, flexibility, time, cost...
9 Measurement Basics
10 Performance Measurement What to measure about the system? Performance metrics How to collect the measurements? Time measurement, performance event counting How to summarize the results? Disruptions lead to noise in the collected data How to present the results? Data visualization in plots How to compare (two) alternatives? Which differences are really significant?
11 Performance Metrics Properties that somehow describe performance of a computer system derived from what we can measure Typically, what we can measure is Counts of some events of interest Duration of some time interval Size of a parameter
12 Types of Performance Metrics Responsiveness: related to time duration Response time time elapsed from start of service request to end of service response Operation time time of the service itself Network delay, cache miss penalty Rate metrics: # of events per time interval Throughput number of requests finished per second Network bandwidth (bits/s), messages/s Utilization: % of time the system is busy Resource utilization = % of time resource is busy Often resource with high utilization = bottleneck
13 What is a good metric? Depends on the goal (can include power, cost...) To assess a single complete system (HW + SW), response times, throughput, (utilization) is enough It is based on what the users perceive To assess e.g. CPU alone, any metric based on a single number is often misleading Clock rate of the CPU? No way... MIPS? But, which instructions? Benchmark suites? (Linpack, SPEC ) Better but... Are the benchmarks representative? Danger of vendors tuning optimizations!
14 Time Measurements
15 Measuring Time Accuracy: how much (systematically) the samples differ from the real time If we measure code that runs exactly one second, it says how the average time of this code, as measured using the timer, differs from one second Precision: (lack of) scatter in samples The variability around mean of the measurements Resolution (granularity): the smallest difference that can be measured Duration of one tick of the timer
16 Measuring Time Accuracy Frequency Precision Mean Resolution True Value Time
17 Available Timers Most systems have multiple timers Low resolution real time clock (~1 s) Date keeping Medium resolution timers (~ ms) Scheduler alarms Multimedia events High resolution timers (~1 ns) Processor clock Event counters Multiple interfaces to access those timers, do not use the first gettime() call available!
18
19 Some Java Timers System.currentTimeMillis() Time since , ms units, undefined resolution (depending on the JVM and underlying OS) System.nanoTime() Current value of the most precise available system timer Arbitrary start value, can overflow This method provides nanosecond precision, but not necessarily nanosecond accuracy. No guarantees are made about how frequently values change. In our terms: ns units, but undefined resolution Can see: from padded microseconds to real nanoseconds
20 Processor Timers Most current processors have an internal register that counts clock ticks Typical characteristics Pentium (and newer) TSC register Itanium ITC register Often directly readable from application code Resolution similar to processor clock Might be subject to frequency scaling, idle states Might be separate per core (and drift) Read your CPU documentation!
21 Reading Pentium TSC Intel processors #include <stdint.h> Forcing serialization manually inline uint64_t rdtsc() { uint32_t lo, hi; } asm volatile ( "xorl %%eax, %%eax\n" "cpuid\n" "rdtsc\n" : "=a" (lo), "=d" (hi) : : "%ebx", "%ecx"); return (uint64_t) hi << 32 lo; AMD and some Intel processors asm volatile ("rdtscp" : "=a" (time_lo), "=d" (time_hi) :: "%ecx"); Guarantees serialization, also returns core ID
22 Performance Monitoring
23 Performance Monitoring Counters With the increasing complexity of processors it is difficult to tell what is going on inside Performance can be influenced for example by improper allocation of variables to registers improper mixture of various types of instructions conditional or indirect branching that is hard to predict memory access pattern with poor locality properties Very difficult to identify for programmer
24 Performance Monitoring Counters Hardware registers in the CPU that count certain events inside the processor architecture Performance event Event of interest that the processor can count Performance counter Register that counts selected performance event Typically, there are many types of events but only a few counters Limits how many events can be counted together Multiplexing needed for more events Loss of precision Interference effects
25 Performance Events Examples of performance events tick of the processor clock, useful for providing a baseline to which other events can be related retirement of a processor instruction, useful for judging the efficiency of instruction execution (IPC) occurrence of stall when executing an instruction, useful for discovering reasons for slow execution miss in the memory cache, useful for identifying code that accesses memory in a pattern that the memory hardware finds difficult to predict Some event types can be further classified by context (mask) or location
26 Caveats of Performance Counters Privileges for working with the counters Reading usually user-space, setting from kernel only Need for special kernel interfaces and libraries Overhead, especially in the kernel calls Read documentation Create experiments carefully to verify assumptions! Limited number of!counters and their combinations Pipelining and speculative execution makes the events hard to attribute to specific instructions Availability and precise meaning of events varies from processor to processor Sometimes even processor revision (errata)
27 PAPI Library Standard API layer over multiple counter interfaces Per-thread virtual performance counters Set of platform-independent preset events Translated to (combinations of) native events cache hits = cache requests - cache misses Many events available papi_avail, papi_native_avail Support for counter multiplexing
28 Designing Experiments
29 What Can Disrupt Results Precision Overhead Direct access to counters in nanoseconds ~ clocks for serialized time read ~ clocks for performance counter read Warmup! Querying time through API in microseconds Interference Random interrupts, concurrentrandomization processes, user! activity Systematic triggered or scheduled activities, resource allocation
30 Illustration: Systematic Interference Remote server invocation time in Java Why the slight sloping down here? Why are the outliers here? And what about the sudden speed up? Sequential invocation number
31 Illustration: Systematic Interference Time to calculate FFT in C++ Why very stable inside one run but very different between restarts? Many sequential measurements Vertical bars indicate restart
32 What to do for meaningful results? Stabilize configuration of the experiment This includes avoiding hardware and software updates Not everything can be controlled and thus stabilized Memory allocation, code layout... Randomizing might be the only option Randomize workload, parameters The intent is to make workload into random influence (instead of systematic) that can be averaged over Minimize disruptions Because they do not contribute to understanding, only increase variance and therefore required number of observations
33 Examining Results
34 Summarizing Results Typically a lot of numbers with a lot of (possible) explanations Infeasible to evaluate separately Single number always loses some information A good compromise is needed Preparing to analyze results Correct aggregation Correct statistical processing Good graphs
35 Statistics or Not? Many statistical methods have too strict assumptions Observations are IID (independent identically distributed) Behavior is memoryless Distribution is normal These are actually rarely met in practice! Often those methods are all we have
36 Aggregation: Arithmetic Mean n 1 x A = xi n i=1 Used for variables that are additive in nature their sum should make sense (for example durations) Very sensitive to outliers, single outlier can move the mean anywhere Trimmed mean Mean calculated after X% of extreme values are discarded Useful for situations where the presence of outliers needs to be reflected but the outlier values themselves make the standard mean useless
37 Aggregation: Geometric Mean xg = n n xi i=1 Used for multiplicative variables for example ratios or overheads Example: Optimizations speed up 10, 20 and 30 percent Geometric mean is 19.7 percent Sequence of 3 optimizations will speed up = times or 71.5 percent
38 Aggregation: Median Value in the middle of sorted series of samples Useful for samples with asymmetric distribution Robust for up to 50% outliers included in the observations Other quantiles Often also helpful But not a single number anymore
39 Plotting Simple plots There is almost always something better At least good to indicate standard deviation Box and whisker plots Scatter plots Box from low to high quartile Identify dependencies Zooming out to detect patterns Line for median Whiskers for min and max
40 Illustration: Box And Whiskers Time of remote invocation It is more the outliers that move the average! Number of threads used
41 Modeling Performance
42 Performance Models If program is a deterministic sequence of steps, and we know the timing of each step, we know the timing of the program, right? Example from Xu et al.: Performance Modeling and Prediction of EJB with LQN Templates Determinism of execution Timing of steps Where to get the models How to solve the models
43 Performance Modeling Formalisms Markov Chains Not really for humans Queueing Networks Network of servers that process queued requests Process Algebras Rewriting rules describing program behavior Petri Nets Network of places visited by tokens
44 Queueing Networks System of servers and queues Parametrized Arrival rate λ Service time μ Other details The 1 means there is one server M/M/1 μ First M means interarrival time λis exponentially distributed Second M means service time is exponentially distributed
45 Petri Nets Places holding tokens Tokens traverse transitions Timed Colored Conditional Consumer starts here Consuming transition Producer starts here Place for holding buffer
46 Creating Performance Models Manually Only for small systems Automatically Derived from software still only in early stages Derived from models sophisticated model transformations Plus annotations Estimates Measurement
47 Introduction to Dependable Systems
48 Introduction to Dependable Systems
49 What Kind of Results to Expect Models can be made to fit observations nicely Careful calibration on real system Used within reasonable parameter space But that is really not the target application... Models reveal scalability behavior Necessary failures Anomalous behavior Overfitting the model
50 Related Courses NSWI131 Vyhodnocování výkonnosti... More details about presented topics Also profiling, simulation, benchmarks comparing alternatives, making conclusions NSWI126 Nástroje pro vývoj a monitorování... Practical experience with profiling... NMAI060 Pravděpodobnostní metody NMAI061 Metody matematické statistiky For statistical background
In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured
System Performance Analysis Introduction Performance Means many things to many people Important in any design Critical in real time systems 1 ns can mean the difference between system Doing job expected
More informationPerformance Evaluation
Performance Evaluation Vojtěch Horký Peter Libič Petr Tůma Department of Distributed and Dependable Systems Faculty of Mathematics and Physics Charles University 2010 2017 Part I Introduction Outline 1
More informationLesson 2: Using the Performance Console
Lesson 2 Lesson 2: Using the Performance Console Using the Performance Console 19-13 Windows XP Professional provides two tools for monitoring resource usage: the System Monitor snap-in and the Performance
More informationPerformance Tuning VTune Performance Analyzer
Performance Tuning VTune Performance Analyzer Paul Petersen, Intel Sept 9, 2005 Copyright 2005 Intel Corporation Performance Tuning Overview Methodology Benchmarking Timing VTune Counter Monitor Call Graph
More informationChapter 14 Performance and Processor Design
Chapter 14 Performance and Processor Design Outline 14.1 Introduction 14.2 Important Trends Affecting Performance Issues 14.3 Why Performance Monitoring and Evaluation are Needed 14.4 Performance Measures
More informationThe Role of Performance
Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture The Role of Performance What is performance? A set of metrics that allow us to compare two different hardware
More informationPerformance analysis basics
Performance analysis basics Christian Iwainsky Iwainsky@rz.rwth-aachen.de 25.3.2010 1 Overview 1. Motivation 2. Performance analysis basics 3. Measurement Techniques 2 Why bother with performance analysis
More informationCS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck
Main memory management CMSC 411 Computer Systems Architecture Lecture 16 Memory Hierarchy 3 (Main Memory & Memory) Questions: How big should main memory be? How to handle reads and writes? How to find
More informationReporting Performance Results
Reporting Performance Results The guiding principle of reporting performance measurements should be reproducibility - another experimenter would need to duplicate the results. However: A system s software
More informationQuantitative Evaluation of Intel PEBS Overhead for Online System-Noise Analysis
Quantitative Evaluation of Intel PEBS Overhead for Online System-Noise Analysis June 27, 2017, ROSS @ Washington, DC Soramichi Akiyama, Takahiro Hirofuchi National Institute of Advanced Industrial Science
More informationChapter 14 - Processor Structure and Function
Chapter 14 - Processor Structure and Function Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 14 - Processor Structure and Function 1 / 94 Table of Contents I 1 Processor Organization
More informationPage 1. Program Performance Metrics. Program Performance Metrics. Amdahl s Law. 1 seq seq 1
Program Performance Metrics The parallel run time (Tpar) is the time from the moment when computation starts to the moment when the last processor finished his execution The speedup (S) is defined as the
More informationPerformance measurement. SMD149 - Operating Systems - Performance and processor design. Introduction. Important trends affecting performance issues
Performance measurement SMD149 - Operating Systems - Performance and processor design Roland Parviainen November 28, 2005 Performance measurement Motivation Techniques Common metrics Processor architectural
More informationComputer Architecture A Quantitative Approach, Fifth Edition. Chapter 2. Memory Hierarchy Design. Copyright 2012, Elsevier Inc. All rights reserved.
Computer Architecture A Quantitative Approach, Fifth Edition Chapter 2 Memory Hierarchy Design 1 Introduction Programmers want unlimited amounts of memory with low latency Fast memory technology is more
More informationJackson Marusarz Intel Corporation
Jackson Marusarz Intel Corporation Intel VTune Amplifier Quick Introduction Get the Data You Need Hotspot (Statistical call tree), Call counts (Statistical) Thread Profiling Concurrency and Lock & Waits
More information2 TEST: A Tracer for Extracting Speculative Threads
EE392C: Advanced Topics in Computer Architecture Lecture #11 Polymorphic Processors Stanford University Handout Date??? On-line Profiling Techniques Lecture #11: Tuesday, 6 May 2003 Lecturer: Shivnath
More informationChapter 8: Memory-Management Strategies
Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and
More informationVirtualization and memory hierarchy
Virtualization and memory hierarchy Computer Architecture J. Daniel García Sánchez (coordinator) David Expósito Singh Francisco Javier García Blas ARCOS Group Computer Science and Engineering Department
More informationHardware Performance Monitoring Unit Working Group Outbrief
Hardware Performance Monitoring Unit Working Group Outbrief CScADS Performance Tools for Extreme Scale Computing August 2011 hpctoolkit.org Topics From HW-centric measurements to application understanding
More informationChapter 2. Parallel Hardware and Parallel Software. An Introduction to Parallel Programming. The Von Neuman Architecture
An Introduction to Parallel Programming Peter Pacheco Chapter 2 Parallel Hardware and Parallel Software 1 The Von Neuman Architecture Control unit: responsible for deciding which instruction in a program
More informationPerformance Monitoring
Performance Monitoring Performance Monitoring Goals Monitoring should check that the performanceinfluencing database parameters are correctly set and if they are not, it should point to where the problems
More informationOperating Systems. Memory Management. Lecture 9 Michael O Boyle
Operating Systems Memory Management Lecture 9 Michael O Boyle 1 Memory Management Background Logical/Virtual Address Space vs Physical Address Space Swapping Contiguous Memory Allocation Segmentation Goals
More informationJava Garbage Collector Performance Measurements
WDS'09 Proceedings of Contributed Papers, Part I, 34 40, 2009. ISBN 978-80-7378-101-9 MATFYZPRESS Java Garbage Collector Performance Measurements P. Libič and P. Tůma Charles University, Faculty of Mathematics
More informationCHAPTER 8 - MEMORY MANAGEMENT STRATEGIES
CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES OBJECTIVES Detailed description of various ways of organizing memory hardware Various memory-management techniques, including paging and segmentation To provide
More informationCS 326: Operating Systems. CPU Scheduling. Lecture 6
CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating
More informationChapter 8: Main Memory. Operating System Concepts 9 th Edition
Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel
More informationChapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition
Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation
More informationSOFT 437. Software Performance Analysis. Ch 7&8:Software Measurement and Instrumentation
SOFT 437 Software Performance Analysis Ch 7&8: Why do we need data? Data is required to calculate: Software execution model System execution model We assumed that we have required data to calculate these
More informationTDT Coarse-Grained Multithreading. Review on ILP. Multi-threaded execution. Contents. Fine-Grained Multithreading
Review on ILP TDT 4260 Chap 5 TLP & Hierarchy What is ILP? Let the compiler find the ILP Advantages? Disadvantages? Let the HW find the ILP Advantages? Disadvantages? Contents Multi-threading Chap 3.5
More informationCS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University
Frequently asked questions from the previous class survey CS 370: SYSTEM ARCHITECTURE & SOFTWARE [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University OpenMP compiler directives
More informationECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Memory Management 1 Hardware background The role of primary memory Program
More informationMethod-Level Phase Behavior in Java Workloads
Method-Level Phase Behavior in Java Workloads Andy Georges, Dries Buytaert, Lieven Eeckhout and Koen De Bosschere Ghent University Presented by Bruno Dufour dufour@cs.rutgers.edu Rutgers University DCS
More informationTi Parallel Computing PIPELINING. Michał Roziecki, Tomáš Cipr
Ti5317000 Parallel Computing PIPELINING Michał Roziecki, Tomáš Cipr 2005-2006 Introduction to pipelining What is this What is pipelining? Pipelining is an implementation technique in which multiple instructions
More informationUNIT- 5. Chapter 12 Processor Structure and Function
UNIT- 5 Chapter 12 Processor Structure and Function CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data Write data CPU With Systems Bus CPU Internal Structure Registers
More informationProfiling: Understand Your Application
Profiling: Understand Your Application Michal Merta michal.merta@vsb.cz 1st of March 2018 Agenda Hardware events based sampling Some fundamental bottlenecks Overview of profiling tools perf tools Intel
More informationMore on Conjunctive Selection Condition and Branch Prediction
More on Conjunctive Selection Condition and Branch Prediction CS764 Class Project - Fall Jichuan Chang and Nikhil Gupta {chang,nikhil}@cs.wisc.edu Abstract Traditionally, database applications have focused
More informationMemory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts
Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of
More informationSpectre and Meltdown. Clifford Wolf q/talk
Spectre and Meltdown Clifford Wolf q/talk 2018-01-30 Spectre and Meltdown Spectre (CVE-2017-5753 and CVE-2017-5715) Is an architectural security bug that effects most modern processors with speculative
More informationCOMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy
COMPUTER ARCHITECTURE Virtualization and Memory Hierarchy 2 Contents Virtual memory. Policies and strategies. Page tables. Virtual machines. Requirements of virtual machines and ISA support. Virtual machines:
More informationIntroduction to Parallel Performance Engineering
Introduction to Parallel Performance Engineering Markus Geimer, Brian Wylie Jülich Supercomputing Centre (with content used with permission from tutorials by Bernd Mohr/JSC and Luiz DeRose/Cray) Performance:
More informationParallelism: The Real Y2K Crisis. Darek Mihocka August 14, 2008
Parallelism: The Real Y2K Crisis Darek Mihocka August 14, 2008 The Free Ride For decades, Moore's Law allowed CPU vendors to rely on steady clock speed increases: late 1970's: 1 MHz (6502) mid 1980's:
More informationChapter 8: Main Memory
Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel
More informationLECTURE 4: LARGE AND FAST: EXPLOITING MEMORY HIERARCHY
LECTURE 4: LARGE AND FAST: EXPLOITING MEMORY HIERARCHY Abridged version of Patterson & Hennessy (2013):Ch.5 Principle of Locality Programs access a small proportion of their address space at any time Temporal
More informationELE 455/555 Computer System Engineering. Section 1 Review and Foundations Class 5 Computer System Performance
ELE 455/555 Computer System Engineering Section 1 Review and Foundations Class 5 Computer System Overview Eight Great Ideas in Computer Architecture Design for Moore s Law Integrated Circuit resources
More informationFinal Lecture. A few minutes to wrap up and add some perspective
Final Lecture A few minutes to wrap up and add some perspective 1 2 Instant replay The quarter was split into roughly three parts and a coda. The 1st part covered instruction set architectures the connection
More informationProfileMe: Hardware-Support for Instruction-Level Profiling on Out-of-Order Processors
ProfileMe: Hardware-Support for Instruction-Level Profiling on Out-of-Order Processors Jeffrey Dean Jamey Hicks Carl Waldspurger William Weihl George Chrysos Digital Equipment Corporation 1 Motivation
More informationCopyright 2012, Elsevier Inc. All rights reserved.
Computer Architecture A Quantitative Approach, Fifth Edition Chapter 2 Memory Hierarchy Design 1 Introduction Introduction Programmers want unlimited amounts of memory with low latency Fast memory technology
More informationComputer Architecture. A Quantitative Approach, Fifth Edition. Chapter 2. Memory Hierarchy Design. Copyright 2012, Elsevier Inc. All rights reserved.
Computer Architecture A Quantitative Approach, Fifth Edition Chapter 2 Memory Hierarchy Design 1 Programmers want unlimited amounts of memory with low latency Fast memory technology is more expensive per
More informationOverview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services
Overview 15-441 15-441 Computer Networking 15-641 Lecture 19 Queue Management and Quality of Service Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 What is QoS? Queuing discipline and scheduling
More informationCHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 8: MEMORY MANAGEMENT By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the
More informationInterrupts Peter Rounce - room 6.18
Interrupts Peter Rounce - room 6.18 P.Rounce@cs.ucl.ac.uk 20/11/2006 1001 Interrupts 1 INTERRUPTS An interrupt is a signal to the CPU from hardware external to the CPU that indicates than some event has
More informationProcess- Concept &Process Scheduling OPERATING SYSTEMS
OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne PROCESS MANAGEMENT Current day computer systems allow multiple
More informationChapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition
Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation
More informationChapter 8: Memory- Management Strategies
Chapter 8: Memory Management Strategies Chapter 8: Memory- Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and
More informationCopyright 2012, Elsevier Inc. All rights reserved.
Computer Architecture A Quantitative Approach, Fifth Edition Chapter 2 Memory Hierarchy Design 1 Introduction Programmers want unlimited amounts of memory with low latency Fast memory technology is more
More informationCache Optimisation. sometime he thought that there must be a better way
Cache sometime he thought that there must be a better way 2 Cache 1. Reduce miss rate a) Increase block size b) Increase cache size c) Higher associativity d) compiler optimisation e) Parallelism f) prefetching
More informationPage 1. Goals for Today" TLB organization" CS162 Operating Systems and Systems Programming Lecture 11. Page Allocation and Replacement"
Goals for Today" CS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement" Finish discussion on TLBs! Page Replacement Policies! FIFO, LRU! Clock Algorithm!! Working Set/Thrashing!
More informationDetermining the Number of CPUs for Query Processing
Determining the Number of CPUs for Query Processing Fatemah Panahi Elizabeth Soechting CS747 Advanced Computer Systems Analysis Techniques The University of Wisconsin-Madison fatemeh@cs.wisc.edu, eas@cs.wisc.edu
More informationFrequently asked questions from the previous class survey
CS 370: OPERATING SYSTEMS [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University L14.1 Frequently asked questions from the previous class survey Turnstiles: Queue for threads blocked
More informationAnalytical Modeling of Parallel Systems. To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003.
Analytical Modeling of Parallel Systems To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003. Topic Overview Sources of Overhead in Parallel Programs Performance Metrics for
More informationCS162 Operating Systems and Systems Programming Lecture 14. Caching (Finished), Demand Paging
CS162 Operating Systems and Systems Programming Lecture 14 Caching (Finished), Demand Paging October 11 th, 2017 Neeraja J. Yadwadkar http://cs162.eecs.berkeley.edu Recall: Caching Concept Cache: a repository
More informationMySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona
MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona In the Presentation Practical approach to deal with some of the common MySQL Issues 2 Assumptions You re looking
More informationBasic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1
Basic Memory Management Program must be brought into memory and placed within a process for it to be run Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester Mono-programming
More informationChapter 8: Main Memory
Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:
More informationChapter 2: Memory Hierarchy Design Part 2
Chapter 2: Memory Hierarchy Design Part 2 Introduction (Section 2.1, Appendix B) Caches Review of basics (Section 2.1, Appendix B) Advanced methods (Section 2.3) Main Memory Virtual Memory Fundamental
More informationPerformance Profiling
Performance Profiling Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Outline History Understanding Profiling Understanding Performance Understanding Performance
More informationPerformance Issues and Query Optimization in Monet
Performance Issues and Query Optimization in Monet Stefan Manegold Stefan.Manegold@cwi.nl 1 Contents Modern Computer Architecture: CPU & Memory system Consequences for DBMS - Data structures: vertical
More informationLECTURE 5: MEMORY HIERARCHY DESIGN
LECTURE 5: MEMORY HIERARCHY DESIGN Abridged version of Hennessy & Patterson (2012):Ch.2 Introduction Programmers want unlimited amounts of memory with low latency Fast memory technology is more expensive
More informationPredicting Web Service Levels During VM Live Migrations
Predicting Web Service Levels During VM Live Migrations 5th International DMTF Academic Alliance Workshop on Systems and Virtualization Management: Standards and the Cloud Helmut Hlavacs, Thomas Treutner
More informationMemory. Principle of Locality. It is impossible to have memory that is both. We create an illusion for the programmer. Employ memory hierarchy
Datorarkitektur och operativsystem Lecture 7 Memory It is impossible to have memory that is both Unlimited (large in capacity) And fast 5.1 Intr roduction We create an illusion for the programmer Before
More informationVirtual Memory. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University
Virtual Memory Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Precise Definition of Virtual Memory Virtual memory is a mechanism for translating logical
More informationMEMORY HIERARCHY DESIGN. B649 Parallel Architectures and Programming
MEMORY HIERARCHY DESIGN B649 Parallel Architectures and Programming Basic Optimizations Average memory access time = Hit time + Miss rate Miss penalty Larger block size to reduce miss rate Larger caches
More informationLecture: Benchmarks, Pipelining Intro. Topics: Performance equations wrap-up, Intro to pipelining
Lecture: Benchmarks, Pipelining Intro Topics: Performance equations wrap-up, Intro to pipelining 1 Measuring Performance Two primary metrics: wall clock time (response time for a program) and throughput
More informationVerification and Validation of X-Sim: A Trace-Based Simulator
http://www.cse.wustl.edu/~jain/cse567-06/ftp/xsim/index.html 1 of 11 Verification and Validation of X-Sim: A Trace-Based Simulator Saurabh Gayen, sg3@wustl.edu Abstract X-Sim is a trace-based simulator
More informationOperating System Support
William Stallings Computer Organization and Architecture 10 th Edition Edited by Dr. George Lazik + Chapter 8 Operating System Support Application programming interface Application binary interface Instruction
More information(Refer Slide Time: 00:02:04)
Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 27 Pipelined Processor Design: Handling Control Hazards We have been
More informationTime Measurement. CS 201 Gerson Robboy Portland State University. Topics. Time scales Interval counting Cycle counters K-best measurement scheme
Time Measurement CS 201 Gerson Robboy Portland State University Topics Time scales Interval counting Cycle counters K-best measurement scheme Computer Time Scales Microscopic Time Scale (1 Ghz Machine)
More informationReducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip
Reducing Hit Times Critical Influence on cycle-time or CPI Keep L1 small and simple small is always faster and can be put on chip interesting compromise is to keep the tags on chip and the block data off
More informationChapter 8. Operating System Support. Yonsei University
Chapter 8 Operating System Support Contents Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management 8-2 OS Objectives & Functions OS is a program that Manages the
More informationHow to Write Fast Numerical Code
How to Write Fast Numerical Code Lecture: Performance Counters and applying the Roofline Model Slides and lecture by Georg Ofenbeck Instructor: Markus Püschel TA: Georg Ofenbeck & Daniele Spampinato Read
More informationAdapted from David Patterson s slides on graduate computer architecture
Mei Yang Adapted from David Patterson s slides on graduate computer architecture Introduction Ten Advanced Optimizations of Cache Performance Memory Technology and Optimizations Virtual Memory and Virtual
More informationChapter 6: CPU Scheduling. Operating System Concepts 9 th Edition
Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time
More informationLecture 5: Performance Analysis I
CS 6323 : Modeling and Inference Lecture 5: Performance Analysis I Prof. Gregory Provan Department of Computer Science University College Cork Slides: Based on M. Yin (Performability Analysis) Overview
More informationInf2C - Computer Systems Lecture 16 Exceptions and Processor Management
Inf2C - Computer Systems Lecture 16 Exceptions and Processor Management Boris Grot School of Informatics University of Edinburgh Class party! When: Friday, Dec 1 @ 8pm Where: Bar 50 on Cowgate Inf2C Computer
More informationEI338: Computer Systems and Engineering (Computer Architecture & Operating Systems)
EI338: Computer Systems and Engineering (Computer Architecture & Operating Systems) Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building
More informationLecture 10: Cache Coherence: Part I. Parallel Computer Architecture and Programming CMU , Spring 2013
Lecture 10: Cache Coherence: Part I Parallel Computer Architecture and Programming Cache design review Let s say your code executes int x = 1; (Assume for simplicity x corresponds to the address 0x12345604
More informationPerformance COE 403. Computer Architecture Prof. Muhamed Mudawar. Computer Engineering Department King Fahd University of Petroleum and Minerals
Performance COE 403 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals What is Performance? How do we measure the performance of
More informationCollecting OpenCL*-related Metrics with Intel Graphics Performance Analyzers
Collecting OpenCL*-related Metrics with Intel Graphics Performance Analyzers Collecting Important OpenCL*-related Metrics with Intel GPA System Analyzer Introduction Intel SDK for OpenCL* Applications
More informationDSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin
Product Bulletin TM DSP/BIOS Kernel Scalable, Real-Time Kernel TM for TMS320 DSPs Key Features: Fast, deterministic real-time kernel Scalable to very small footprint Tight integration with Code Composer
More informationTechniques for Efficient Processing in Runahead Execution Engines
Techniques for Efficient Processing in Runahead Execution Engines Onur Mutlu Hyesoon Kim Yale N. Patt Depment of Electrical and Computer Engineering University of Texas at Austin {onur,hyesoon,patt}@ece.utexas.edu
More informationait: WORST-CASE EXECUTION TIME PREDICTION BY STATIC PROGRAM ANALYSIS
ait: WORST-CASE EXECUTION TIME PREDICTION BY STATIC PROGRAM ANALYSIS Christian Ferdinand and Reinhold Heckmann AbsInt Angewandte Informatik GmbH, Stuhlsatzenhausweg 69, D-66123 Saarbrucken, Germany info@absint.com
More information4. Hardware Platform: Real-Time Requirements
4. Hardware Platform: Real-Time Requirements Contents: 4.1 Evolution of Microprocessor Architecture 4.2 Performance-Increasing Concepts 4.3 Influences on System Architecture 4.4 A Real-Time Hardware Architecture
More informationReal-time Operating System Timing Jitter and its Impact on Motor Control
Real-time Operating System Timing Jitter and its Impact on Motor Control Frederick M. Proctor and William P. Shackleford National Institute of Standards and Technology Building 220, Room B124 Gaithersburg,
More informationInterrupts Peter Rounce
Interrupts Peter Rounce P.Rounce@cs.ucl.ac.uk 22/11/2011 11-GC03 Interrupts 1 INTERRUPTS An interrupt is a signal to the CPU from hardware external to the CPU that indicates than some event has occured,
More informationChapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs
Chapter 5 (Part II) Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Virtual Machines Host computer emulates guest operating system and machine resources Improved isolation of multiple
More informationMemory Hierarchy Basics. Ten Advanced Optimizations. Small and Simple
Memory Hierarchy Basics Six basic cache optimizations: Larger block size Reduces compulsory misses Increases capacity and conflict misses, increases miss penalty Larger total cache capacity to reduce miss
More informationCPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu
CPSC 341 OS & Networks Introduction Dr. Yingwu Zhu What to learn? Concepts Processes, threads, multi-processing, multithreading, synchronization, deadlocks, CPU scheduling, networks, security Practice:
More informationDonn Morrison Department of Computer Science. TDT4255 Memory hierarchies
TDT4255 Lecture 10: Memory hierarchies Donn Morrison Department of Computer Science 2 Outline Chapter 5 - Memory hierarchies (5.1-5.5) Temporal and spacial locality Hits and misses Direct-mapped, set associative,
More informationOPERATING SYSTEMS UNIT - 1
OPERATING SYSTEMS UNIT - 1 Syllabus UNIT I FUNDAMENTALS Introduction: Mainframe systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered Systems Real Time Systems Handheld Systems -
More informationChapter 1. Instructor: Josep Torrellas CS433. Copyright Josep Torrellas 1999, 2001, 2002,
Chapter 1 Instructor: Josep Torrellas CS433 Copyright Josep Torrellas 1999, 2001, 2002, 2013 1 Course Goals Introduce you to design principles, analysis techniques and design options in computer architecture
More information