Design Objectives and Design Understandability

Size: px
Start display at page:

Download "Design Objectives and Design Understandability"

Transcription

1 by Gerrit Muller University of South-Eastern Norway-NISE Abstract The complexity of systems limits the understanding by the architect of the impact of changes. Many objectives are pursued, from customer needs to implementation lessons learned, while designing a system. From architecting perspective understandability of the design is an important issue. Some design choices may create very efficient systems, but might be difficult to grasp. For example simple local autonomy might prove to be efficient and robust, but at the same time other system qualities are emerging and difficult to predict. We discuss the notion of understandability, illustrated by a number of design patterns. Distribution This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This document is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the document remains complete and unchanged. status: planned logo TBD

2 Figure Of Contents TM 1 performance example: do we understand our design? 2 What does Customer need in Product and Why? Customer objectives Application Functional Conceptual Realisation complexity of context and system abstraction How can the product be realized What are the critical decisions number of details system requirements design decisions parts connections lines of code and growing every year... application network cache layer file cache virtual cache caches L1, L2, L3 3 application network cache layer file cache virtual cache caches L1, L2, L3 scree n back office serve r scree n mid office serve r network network scree n application network cache layer file cache virtual cache caches L1, L2, L3 Load(h) = 2000 * 1[ms] * h * 1.98[ms] Load(h) = * h [ms] cache example; impact of autonomous low-level mechanism on performance 4 load in seconds discussion and conclusion 1 2 t quantified mid office server h = 0.02 ms t example m = 2 ms to be measured n a = 1000 hit rate also! utilizable capacity Hit rate is context dependent. Life cycle changes or peak loads may degrade hit rate. 0.5 Hit rate of well designed system is ample within working range (e.g. 95%) 0 e order formula is valid: Load = 0.02 * n a [ms] working range hit rate 1 2 Gerrit Muller DODUlogo

3 Image Retrieval Performance application need: at event 3*3 show 3*3 images instanteneous design Sample application code: for x = 1 to 3 { for y = 1 to 3 { retrieve_image(x,y) } } design or alternative application code: event 3*3 -> show screen 3*3 <screen 3*3> <row 1> <col 1><image 1,1></col 1> <col 2><image 1,2></col 2> <col 3><image 1,3></col 3> </row 1> <row 2> <col 1><image 1,1></col 1> <col 2><image 1,2></col 2> <col 3><image 1,3></col 3> </row 1> <row 2> <col 1><image 1,1></col 1> <col 2><image 1,2></col 2> <col 3><image 1,3></col 3> </row 3> </screen 3*3> 3 Gerrit Muller PINTROsampleCode

4 Straight Forward Read and Display What If... Sample application code: for x = 1 to 3 { for y = 1 to 3 { retrieve_image(x,y) } } UI process screen store 4 Gerrit Muller PINTROwhatIf1

5 More Process Communication What If... Sample application code: UI process 9 * update 9 * retrieve screen server for x = 1 to 3 { for y = 1 to 3 { retrieve_image(x,y) } } screen database 5 Gerrit Muller PINTROwhatIf2

6 Meta Information Realization Overhead What If... Sample application code: Meta Attributes Image data for x = 1 to 3 { for y = 1 to 3 { retrieve_image(x,y) } } Attribute = 1 COM object 100 attributes / image 9 images = 900 COM objects 1 COM object = 80µs 9 images = 72 ms UI process database 9 * update 9 * retrieve screen server screen 6 Gerrit Muller PINTROwhatIf3

7 I/O overhead What If... Sample application code: - I/O on line basis (512 2 image) for x = 1 to 3 { for y = 1 to 3 { retrieve_image(x,y) } } * 512 * t I/O t I/O ~= 1ms 7 Gerrit Muller PINTROwhatIf4

8 Non Functional Requirements Require System View Sample application code: for x = 1 to 3 { for y = 1 to 3 { retrieve_image(x,y) } } can be: fast, but very local slow, but very generic slow, but very robust fast and robust... The emerging properties (behavior, performance) cannot be seen from the code itself! Underlying platform and neighbouring functions determine emerging properties mostly. 8 Gerrit Muller PINTROconclusionWhatIf

9 Function in System Context usage context F & S F & S F & S MW MW MW MW OS OS OS F & S F & S F & S F & S F & S Functions & Services performance and behavior of a function depend on realizations of used layers, functions in the same context, and the usage context Middleware Operating systems HW HW HW Hardware 9 Gerrit Muller PINTROconclusion

10 Challenge F & S F & S F & S F & S F & S F & S F & S MW MW MW MW OS OS OS HW HW HW F & S Functions & Services Middleware Operating systems Hardware Performance = Function (F&S, other F&S, MW, OS, HW) MW, OS, HW >> 100 Manyear : very complex Challenge: How to understand MW, OS, HW with only a few parameters 10 Gerrit Muller PINTROproblemStatement

11 1 performance example: do we understand our design? What does Customer need in Product and Why? Customer objectives How can the product be realized What are the critical decisions Application Functional Conceptual Realisation number of details system requirements design decisions parts connections lines of code and growing every year... application network cache layer file virtual cache cache caches L1, L2, L3 3 application network cache layer file cache virtual cache caches L1, L2, L3 scree n back office serve r scree n mid office serve r network network scree n application network cache layer file cache virtual cache caches L1, L2, L3 load in seconds Load(h) = 2000 * 1[ms] * h * 1.98[ms] Load(h) = * h [ms] cache example; impact of autonomous low-level mechanism on performance 1 2 t quantified mid office server h = 0.02 ms t example m = 2 ms to be measured n a = 1000 hit rate also! utilizable capacity Hit rate is context dependent. Life cycle changes or peak loads may degrade hit rate. 0.5 Hit rate of well designed system is ample within working range (e.g. 95%) 0 e order formula is valid: Load = 0.02 * n a [ms] working range hit rate 1 2 complexity of context and system abstraction 4 discussion and conclusion 11 Gerrit Muller DODUlogoComplexity

12 Exponential Pyramid, from requirement to bolts and nuts number of details system requirements design decisions parts connections lines of code research focus system multi- disciplinary mono- disciplinary 12 Gerrit Muller IALApyramid

13 Major Bottleneck: Mental Dynamic Range stretch number of details stretch monodisciplinary subsystem or function stretch system Gerrit Muller ATmentalDynamicRange

14 Organizational Problem: Disconnect What does Customer need in Product and Why? Customer objectives Application Functional Conceptual Realisation gap system requirements design decisions How can the product be realized What are the critical decisions parts connections lines of code and growing every year Gerrit Muller RATWdisconnect

15 Architect: Connecting Problem and Technical Solution What does Customer need in Product and Why? How can the product be realized What are the critical decisions Customer objectives Application Functional Conceptual Realisation number of details system requirements design decisions parts connections lines of code and growing every year Gerrit Muller RATWbreadthAndDepth

16 1 2 performance example: do we understand our design? What does Customer need in Product and Why? Customer objectives Application Functional Conceptual Realisation cache complexity of context and system abstraction How can the product be realized What are the critical decisions number of details system requirements design decisions parts connections lines of code and growing every year... application network cache layer file cache virtual cache caches L1, L2, L3 application network cache layer file cache virtual cache caches L1, L2, L3 3 scree n back office serve r scree n mid office serve r network network scree n application network cache layer file cache virtual cache caches L1, L2, L3 load in seconds 1 2 t quantified mid office server h = 0.02 ms t example m = 2 ms to be measured n a = 1000 hit rate also! Load(h) = 2000 * 1[ms] * h * 1.98[ms] Load(h) = * h [ms] utilizable capacity Hit rate is context dependent. Life cycle changes or peak loads may degrade hit rate. 0.5 Hit rate of well designed system is ample within working range (e.g. 95%) 0 e order formula is valid: Load = 0.02 * n a [ms] working range example; impact of autonomous low-level mechanism on performance 4 discussion and conclusion hit rate 1 16 Gerrit Muller DODUlogoCacheExample

17 Typical Block Diagram and Typical Resources in IT screen screen screen legend web server network network presentation computation communication data base server storage 17 Gerrit Muller MAFTgenericBlockDiagram

18 Hierarchy of Storage Technology Figures of Merit latency capacity processor cache L1 cache L2 cache L3 cache sub ns ns n kb n MB fast volatile main tens ns n GB persistent disks disk arrays disk farms ms n*100 GB n*10 TB archival robotized optical media tape >s n PB 18 Gerrit Muller MAFTstorage

19 Performance as Function of Data Set Size random data processing performance in ops/s L1 cache L3 cache main hard disk disk farm robotized media data set size in bytes 19 Gerrit Muller MAFTstoragePerformance

20 Multiple Layers of Caching application cache network layer cache file cache virtual caches L1, L2, L3 cache miss penalty 1 s 100 ms 10 ms 1 ms 100 ns cache hit performance 10 ms 1 ms 10 µs 100 ns 1 ns typical cache 2 orders of magnitude faster application cache network layer cache file cache virtual caches L1, L2, L3 application cache network layer cache file cache virtual caches L1, L2, L3 screen screen screen back office server mid office server network network application cache network layer cache file cache virtual caches L1, L2, L3 20 Gerrit Muller MAFTgenericCaches

21 Why Caching? project risk performance response time long latency mass storage long latency communication limit storage needs to fit in fast local storage low latency low latency less communication frequently used subset fast storage local storage design parameters caching algorithm storage location cache size life cycle cost overhead communication resource intensive processing latency penalty once overhead once processing once chunk size larger chunks format in (pre)processed format 21 Gerrit Muller MAFTwhyCaching

22 Example Web Shop screen screen screen network web server network consumer browse products order pay track exhibit products sales & order intake order handling stock handling financial bookkeeping enterprise logistics finance product management customer managment customer relation management update catalogue advertize after sales support data base server product descriptions logistics ERP financial customer relations 22 Gerrit Muller MAFTexampleWebShop

23 Impact of Picture Cache screen screen screen fast response network back office server mid office server network product descriptions less load less server costs less load less server costs logistics ERP financial picture cache customer relations 23 Gerrit Muller MAFTwebShopPictureCache

24 Risks of Caching frequently used subset fast storage robustness for application changes ability to benefit from technology improvements life cycle cost effort local storage larger chunks in (pre)processed format robustness for changing context (e.g. scalability) robustness for concurrent applications failure modes in exceptional user space project risk cost effort performance 24 Gerrit Muller MAFTrisksOfCaching

25 Zero Order Load Model zero order web server load model Load = n a * t a n a = total requests t a = cost per request 25 Gerrit Muller MASMloadZeroOrder

26 First Order Load Model first order web server load model Load = n a,h *t h + n a,m *t m n a,h = accesses with cache hit n a,m = accesses with cache miss t h = cost of cache hit t m = cost of cache miss n a,h = n a * h n a,m = n a * (1-h) n a = total accesses h = hit rate Load(h) = n a * h* t h + n a * (1-h) * t m = n a * t m - n a * h * (t m - t h ) 26 Gerrit Muller MASMloadFirstOrder

27 Quantification: From Formulas to Insight t h = 0.02 ms quantified mid office server example load in seconds 2 t m = 2 ms n a = 1000 Load(h) = 1000 * 2[ms] * h * 1.98[ms] Load(h) = * h [ms] 1 utilizable capacity working range 0.5 hit rate 1 27 Gerrit Muller MASMquantified

28 Hit Rate Considerations load in seconds 2 quantified mid office server example t h = 0.02 ms t m = 2 ms n a = 1000 to be measured hit rate also! Load(h) = 1000 * 2[ms] * h * 1.98[ms] Load(h) = * h [ms] Hit rate of well designed system is ample within working range (e.g. 95%) 0 th order formula is valid: Load = 0.12 * n a [ms] 1 utilizable capacity working range Hit rate is context dependent. Life cycle changes or peak loads may degrade hit rate. 0.5 hit rate 1 28 Gerrit Muller MASMdiscussion

29 Response Time human customer press next look web server request picture check cache request picture store in cache transfer to transfer process display data base server retrieve picture t 0 t t t t t t t time in milliseconds in optimal circumstances 29 Gerrit Muller MASMresponseTime

30 1 performance example: do we understand our design? 2 What does Customer need in Product and Why? Customer objectives Application Functional Conceptual Realisation complexity of context and system abstraction How can the product be realized What are the critical decisions number of details system requirements design decisions parts connections lines of code and growing every year... application network cache layer file cache virtual cache caches L1, L2, L3 3 application network cache layer file cache virtual cache caches L1, L2, L3 scree n back office serve r scree n mid office serve r network network scree n application network cache layer file cache virtual cache caches L1, L2, L3 Load(h) = 2000 * 1[ms] * h * 1.98[ms] Load(h) = * h [ms] cache example; impact of autonomous low-level mechanism on performance 4 load in seconds 1 2 t quantified mid office server h = 0.02 ms t example m = 2 ms to be measured n a = 1000 hit rate also! utilizable capacity Hit rate is context dependent. Life cycle changes or peak loads may degrade hit rate. 0.5 discussion and conclusion Hit rate of well designed system is ample within working range (e.g. 95%) 0 e order formula is valid: Load = 0.02 * n a [ms] working range hit rate 1 30 Gerrit Muller DODUlogoDiscussion

31 Some Understandability Propositions central full control does not imply understandability delegated autonomous behavior does not imply understandability a few simple rules can create very complex behavior understanding does not imply determinism or predictability valid abstractions facilitate understanding simulations provide numbers, not understanding only humans understand! 31 Gerrit Muller DODUpropositions

32 Conclusions control, predictability, and determinism are illusions simple rules can create complex non-understandable systems challenge: to model systems at " right " abstraction level 32 Gerrit Muller DODUconclusions

Modeling and Analysis: System Model

Modeling and Analysis: System Model by Gerrit Muller University of South-Eastern Norway-NISE e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract This presentation uses a web shop service as example system to construct a system model. The

More information

How to Create an Architecture Overview

How to Create an Architecture Overview by Gerrit Muller University of South-Eastern Norway-NISE e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract A short specific overview of an architecture is a powerful means during product creation.

More information

The Tool Box of the System Architect

The Tool Box of the System Architect by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract The toolbox of a systems architect is filled with a quite diverse collection of tools. We will discuss

More information

Execution architecture concepts

Execution architecture concepts by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract The execution architecture determines largely the realtime and performance behavior of a system. Hard

More information

How to Characterize SW and HW to Facilitate Predictable Design?

How to Characterize SW and HW to Facilitate Predictable Design? How to Characterize W and HW to acilitate Predictable Design? - A out A in 1 0.1 A in disturbance 0.01 controller + motor A out f disturbance rogs vei 41 P.O. Box 235, NO-3603 Kongsberg Norway gaudisite@gmail.com

More information

Systems Architecting Process

Systems Architecting Process The System Architecture - customer Customer Roadmap, and roadmaps Business Drivers Policy and Planning Budgets roadmap Context, Vision Budget, plan Needs and feedback Reality check material Information

More information

From Legacy to State-of-the-art; Architectural Refactoring

From Legacy to State-of-the-art; Architectural Refactoring applications domain platform domain HW computing Infra- structure Computin g HW applications domain platform domain HW computing Infra- structure Digital Video Platform SW Computin g HW 3 rd party stack(s)

More information

Chapter 10: Virtual Memory. Lesson 05: Translation Lookaside Buffers

Chapter 10: Virtual Memory. Lesson 05: Translation Lookaside Buffers Chapter 10: Virtual Memory Lesson 05: Translation Lookaside Buffers Objective Learn that a page table entry access increases the latency for a memory reference Understand that how use of translationlookaside-buffers

More information

Consolidating Architecture Overviews

Consolidating Architecture Overviews by Gerrit Muller HBV-NISE e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract This presentation provides guidelines and means to capture architecture overviews. Main challenge is to maintain the overview

More information

Increasing Interoperability, what is the Impact on Reliability? Illustrated with Health care examples

Increasing Interoperability, what is the Impact on Reliability? Illustrated with Health care examples Illustrated with Health care examples by Gerrit Muller University of South-Eastern Norway-NISE e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract In all domains the amount of interoperability between

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Hardware Organization and Design Lecture 21: Memory Hierarchy Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Ideally, computer memory would be large and fast

More information

Princeton University. Computer Science 217: Introduction to Programming Systems. The Memory/Storage Hierarchy and Virtual Memory

Princeton University. Computer Science 217: Introduction to Programming Systems. The Memory/Storage Hierarchy and Virtual Memory Princeton University Computer Science 27: Introduction to Programming Systems The Memory/Storage Hierarchy and Virtual Memory Goals of this Lecture Help you learn about: Locality and caching The memory

More information

Recap: Machine Organization

Recap: Machine Organization ECE232: Hardware Organization and Design Part 14: Hierarchy Chapter 5 (4 th edition), 7 (3 rd edition) http://www.ecs.umass.edu/ece/ece232/ Adapted from Computer Organization and Design, Patterson & Hennessy,

More information

Granularity of Documentation

Granularity of Documentation - compound Hasbergsvei 36 P.O. Box 235, NO-3603 Kongsberg Norway gaudisite@gmail.com This paper has been integrated in the book Systems Architecting: A Business Perspective", http://www.gaudisite.nl/sabp.html,

More information

Storage Management 1

Storage Management 1 Storage Management Goals of this Lecture Help you learn about: Locality and caching Typical storage hierarchy Virtual memory How the hardware and OS give applications the illusion of a large, contiguous,

More information

CSC Memory System. A. A Hierarchy and Driving Forces

CSC Memory System. A. A Hierarchy and Driving Forces CSC1016 1. System A. A Hierarchy and Driving Forces 1A_1 The Big Picture: The Five Classic Components of a Computer Processor Input Control Datapath Output Topics: Motivation for Hierarchy View of Hierarchy

More information

Caches. Han Wang CS 3410, Spring 2012 Computer Science Cornell University. See P&H 5.1, 5.2 (except writes)

Caches. Han Wang CS 3410, Spring 2012 Computer Science Cornell University. See P&H 5.1, 5.2 (except writes) Caches Han Wang CS 3410, Spring 2012 Computer Science Cornell University See P&H 5.1, 5.2 (except writes) This week: Announcements PA2 Work-in-progress submission Next six weeks: Two labs and two projects

More information

ECE468 Computer Organization and Architecture. Memory Hierarchy

ECE468 Computer Organization and Architecture. Memory Hierarchy ECE468 Computer Organization and Architecture Hierarchy ECE468 memory.1 The Big Picture: Where are We Now? The Five Classic Components of a Computer Processor Control Input Datapath Output Today s Topic:

More information

NetVault Backup Client and Server Sizing Guide 2.1

NetVault Backup Client and Server Sizing Guide 2.1 NetVault Backup Client and Server Sizing Guide 2.1 Recommended hardware and storage configurations for NetVault Backup 10.x and 11.x September, 2017 Page 1 Table of Contents 1. Abstract... 3 2. Introduction...

More information

Computer Organization (Autonomous)

Computer Organization (Autonomous) 2-7-27 Computer Organization (Autonomous) UNIT IV Sections - A & D SYLLABUS The Memory System: Memory Hierarchy, - RAM and ROM Chips, Memory Address Maps, Memory Connection to, Auxiliary Magnetic Disks,

More information

NetVault Backup Client and Server Sizing Guide 3.0

NetVault Backup Client and Server Sizing Guide 3.0 NetVault Backup Client and Server Sizing Guide 3.0 Recommended hardware and storage configurations for NetVault Backup 12.x September 2018 Page 1 Table of Contents 1. Abstract... 3 2. Introduction... 3

More information

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I Memory Performance of Algorithms CSE 32 Data Structures Lecture Algorithm Performance Factors Algorithm choices (asymptotic running time) O(n 2 ) or O(n log n) Data structure choices List or Arrays Language

More information

Module Outline. CPU Memory interaction Organization of memory modules Cache memory Mapping and replacement policies.

Module Outline. CPU Memory interaction Organization of memory modules Cache memory Mapping and replacement policies. M6 Memory Hierarchy Module Outline CPU Memory interaction Organization of memory modules Cache memory Mapping and replacement policies. Events on a Cache Miss Events on a Cache Miss Stall the pipeline.

More information

Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c

Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c White Paper Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c What You Will Learn This document demonstrates the benefits

More information

1. Creates the illusion of an address space much larger than the physical memory

1. Creates the illusion of an address space much larger than the physical memory Virtual memory Main Memory Disk I P D L1 L2 M Goals Physical address space Virtual address space 1. Creates the illusion of an address space much larger than the physical memory 2. Make provisions for

More information

Locality. CS429: Computer Organization and Architecture. Locality Example 2. Locality Example

Locality. CS429: Computer Organization and Architecture. Locality Example 2. Locality Example Locality CS429: Computer Organization and Architecture Dr Bill Young Department of Computer Sciences University of Texas at Austin Principle of Locality: Programs tend to reuse data and instructions near

More information

Reducing 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. 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 information

Caches! Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University. See P&H 5.1, 5.2 (except writes)

Caches! Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University. See P&H 5.1, 5.2 (except writes) Caches! Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University See P&H 5.1, 5.2 (except writes) Announcements! HW3 available due next Tuesday Work with alone partner Be responsible

More information

CS6453. Data-Intensive Systems: Rachit Agarwal. Technology trends, Emerging challenges & opportuni=es

CS6453. Data-Intensive Systems: Rachit Agarwal. Technology trends, Emerging challenges & opportuni=es CS6453 Data-Intensive Systems: Technology trends, Emerging challenges & opportuni=es Rachit Agarwal Slides based on: many many discussions with Ion Stoica, his class, and many industry folks Servers Typical

More information

Light Weight Architecture revisited: the way of the future?

Light Weight Architecture revisited: the way of the future? Abstract by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com www.gaudisite.nl Technological developments change the consumer electronics market into a very dynamic market. CE manufacturers

More information

Chapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction

Chapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction Chapter 6 Objectives Chapter 6 Memory Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured.

More information

Adrian Proctor Vice President, Marketing Viking Technology

Adrian Proctor Vice President, Marketing Viking Technology Storage PRESENTATION in the TITLE DIMM GOES HERE Socket Adrian Proctor Vice President, Marketing Viking Technology SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA unless

More information

RAMCloud: Scalable High-Performance Storage Entirely in DRAM John Ousterhout Stanford University

RAMCloud: Scalable High-Performance Storage Entirely in DRAM John Ousterhout Stanford University RAMCloud: Scalable High-Performance Storage Entirely in DRAM John Ousterhout Stanford University (with Nandu Jayakumar, Diego Ongaro, Mendel Rosenblum, Stephen Rumble, and Ryan Stutsman) DRAM in Storage

More information

Memory hierarchy Outline

Memory hierarchy Outline Memory hierarchy Outline Performance impact Principles of memory hierarchy Memory technology and basics 2 Page 1 Performance impact Memory references of a program typically determine the ultimate performance

More information

Performance Method Fundamentals

Performance Method Fundamentals - measure evaluate analyse determine most important and critical requirements simulate build proto model analyse constraints and design options Frogs vei 41 P.O. Box 235, NO-3603 Kongsberg Norway gaudisite@gmail.com

More information

Memory Management! Goals of this Lecture!

Memory Management! Goals of this Lecture! Memory Management! Goals of this Lecture! Help you learn about:" The memory hierarchy" Why it works: locality of reference" Caching, at multiple levels" Virtual memory" and thereby " How the hardware and

More information

Condusiv s V-locity VM Accelerates Exchange 2010 over 60% on Virtual Machines without Additional Hardware

Condusiv s V-locity VM Accelerates Exchange 2010 over 60% on Virtual Machines without Additional Hardware openbench Labs Executive Briefing: March 13, 2013 Condusiv s V-locity VM Accelerates Exchange 2010 over 60% on Virtual Machines without Additional Hardware Optimizing I/O for Increased Throughput and Reduced

More information

The Server-Storage Performance Gap

The Server-Storage Performance Gap The Server-Storage Performance Gap How disk drive throughput and access time affect performance November 2010 2 Introduction In enterprise storage configurations and data centers, hard disk drives serve

More information

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology 1 Multilevel Memories Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology Based on the material prepared by Krste Asanovic and Arvind CPU-Memory Bottleneck 6.823

More information

Memory Management. Goals of this Lecture. Motivation for Memory Hierarchy

Memory Management. Goals of this Lecture. Motivation for Memory Hierarchy Memory Management Goals of this Lecture Help you learn about: The memory hierarchy Spatial and temporal locality of reference Caching, at multiple levels Virtual memory and thereby How the hardware and

More information

CS550. TA: TBA Office: xxx Office hours: TBA. Blackboard:

CS550. TA: TBA   Office: xxx Office hours: TBA. Blackboard: CS550 Advanced Operating Systems (Distributed Operating Systems) Instructor: Xian-He Sun Email: sun@iit.edu, Phone: (312) 567-5260 Office hours: 1:30pm-2:30pm Tuesday, Thursday at SB229C, or by appointment

More information

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili Virtual Memory Lecture notes from MKP and S. Yalamanchili Sections 5.4, 5.5, 5.6, 5.8, 5.10 Reading (2) 1 The Memory Hierarchy ALU registers Cache Memory Memory Memory Managed by the compiler Memory Managed

More information

Main Memory and the CPU Cache

Main Memory and the CPU Cache Main Memory and the CPU Cache CPU cache Unrolled linked lists B Trees Our model of main memory and the cost of CPU operations has been intentionally simplistic The major focus has been on determining

More information

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017 CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Introduction o Instructor of Section 002 Dr. Yue Cheng (web: cs.gmu.edu/~yuecheng) Email: yuecheng@gmu.edu Office: 5324 Engineering

More information

Forging a Future in Memory: New Technologies, New Markets, New Applications. Ed Doller Chief Technology Officer

Forging a Future in Memory: New Technologies, New Markets, New Applications. Ed Doller Chief Technology Officer Forging a Future in Memory: New Technologies, New Markets, New Applications Ed Doller Chief Technology Officer Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH NUMONYX PRODUCTS.

More information

Computer 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. 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 information

An Approach for Hybrid-Memory Scaling Columnar In-Memory Databases

An Approach for Hybrid-Memory Scaling Columnar In-Memory Databases An Approach for Hybrid-Memory Scaling Columnar In-Memory Databases *Bernhard Höppner, Ahmadshah Waizy, *Hannes Rauhe * SAP SE Fujitsu Technology Solutions GmbH ADMS 4 in conjunction with 4 th VLDB Hangzhou,

More information

From Industrial Experience to System Architecting Know-how

From Industrial Experience to System Architecting Know-how From Industrial Experience to System Architecting Know-how by Gerrit Muller University of South-Eastern Norway-NISE e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract The system design process in an

More information

WHITEPAPER. Disk Configuration Tips for Ingres by Chip nickolett, Ingres Corporation

WHITEPAPER. Disk Configuration Tips for Ingres by Chip nickolett, Ingres Corporation WHITEPAPER Disk Configuration Tips for Ingres by Chip nickolett, Ingres Corporation table of contents: 3 Preface 3 Overview 4 How Many Disks Do I Need? 5 Should I Use RAID? 6 Ingres Configuration Recommendations

More information

Ultra-Low Latency Down to Microseconds SSDs Make It. Possible

Ultra-Low Latency Down to Microseconds SSDs Make It. Possible Ultra-Low Latency Down to Microseconds SSDs Make It Possible DAL is a large ocean shipping company that covers ocean and land transportation, storage, cargo handling, and ship management. Every day, its

More information

Memory hierarchy and cache

Memory hierarchy and cache Memory hierarchy and cache QUIZ EASY 1). What is used to design Cache? a). SRAM b). DRAM c). Blend of both d). None. 2). What is the Hierarchy of memory? a). Processor, Registers, Cache, Tape, Main memory,

More information

Memory Management! How the hardware and OS give application pgms:" The illusion of a large contiguous address space" Protection against each other"

Memory Management! How the hardware and OS give application pgms: The illusion of a large contiguous address space Protection against each other Memory Management! Goals of this Lecture! Help you learn about:" The memory hierarchy" Spatial and temporal locality of reference" Caching, at multiple levels" Virtual memory" and thereby " How the hardware

More information

Will Phase Change Memory (PCM) Replace DRAM or NAND Flash?

Will Phase Change Memory (PCM) Replace DRAM or NAND Flash? Will Phase Change Memory (PCM) Replace DRAM or NAND Flash? Dr. Mostafa Abdulla High-Speed Engineering Sr. Manager, Micron Marc Greenberg Product Marketing Director, Cadence August 19, 2010 Flash Memory

More information

ECE 598-MS: Advanced Memory and Storage Systems Lecture 7: Unified Address Translation with FlashMap

ECE 598-MS: Advanced Memory and Storage Systems Lecture 7: Unified Address Translation with FlashMap ECE 598-MS: Advanced Memory and Storage Systems Lecture 7: Unified Address Translation with Map Jian Huang Use As Non-Volatile Memory DRAM (nanoseconds) Application Memory Component SSD (microseconds)

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

CENG3420 Lecture 08: Memory Organization

CENG3420 Lecture 08: Memory Organization CENG3420 Lecture 08: Memory Organization Bei Yu byu@cse.cuhk.edu.hk (Latest update: February 22, 2018) Spring 2018 1 / 48 Overview Introduction Random Access Memory (RAM) Interleaving Secondary Memory

More information

Lecture 8: Virtual Memory. Today: DRAM innovations, virtual memory (Sections )

Lecture 8: Virtual Memory. Today: DRAM innovations, virtual memory (Sections ) Lecture 8: Virtual Memory Today: DRAM innovations, virtual memory (Sections 5.3-5.4) 1 DRAM Technology Trends Improvements in technology (smaller devices) DRAM capacities double every two years, but latency

More information

Persistent Memory. High Speed and Low Latency. White Paper M-WP006

Persistent Memory. High Speed and Low Latency. White Paper M-WP006 Persistent Memory High Speed and Low Latency White Paper M-WP6 Corporate Headquarters: 3987 Eureka Dr., Newark, CA 9456, USA Tel: (51) 623-1231 Fax: (51) 623-1434 E-mail: info@smartm.com Customer Service:

More information

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23 FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 23 2 Persistent Storage All programs require some form of persistent storage that lasts beyond the lifetime of an individual process Most

More information

The Google File System

The Google File System The Google File System Sanjay Ghemawat, Howard Gobioff and Shun Tak Leung Google* Shivesh Kumar Sharma fl4164@wayne.edu Fall 2015 004395771 Overview Google file system is a scalable distributed file system

More information

An Oracle White Paper April 2010

An Oracle White Paper April 2010 An Oracle White Paper April 2010 In October 2009, NEC Corporation ( NEC ) established development guidelines and a roadmap for IT platform products to realize a next-generation IT infrastructures suited

More information

Introduction to High Performance Parallel I/O

Introduction to High Performance Parallel I/O Introduction to High Performance Parallel I/O Richard Gerber Deputy Group Lead NERSC User Services August 30, 2013-1- Some slides from Katie Antypas I/O Needs Getting Bigger All the Time I/O needs growing

More information

Adapted from David Patterson s slides on graduate computer architecture

Adapted 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 information

I, J A[I][J] / /4 8000/ I, J A(J, I) Chapter 5 Solutions S-3.

I, J A[I][J] / /4 8000/ I, J A(J, I) Chapter 5 Solutions S-3. 5 Solutions Chapter 5 Solutions S-3 5.1 5.1.1 4 5.1.2 I, J 5.1.3 A[I][J] 5.1.4 3596 8 800/4 2 8 8/4 8000/4 5.1.5 I, J 5.1.6 A(J, I) 5.2 5.2.1 Word Address Binary Address Tag Index Hit/Miss 5.2.2 3 0000

More information

HYRISE In-Memory Storage Engine

HYRISE In-Memory Storage Engine HYRISE In-Memory Storage Engine Martin Grund 1, Jens Krueger 1, Philippe Cudre-Mauroux 3, Samuel Madden 2 Alexander Zeier 1, Hasso Plattner 1 1 Hasso-Plattner-Institute, Germany 2 MIT CSAIL, USA 3 University

More information

Recall from Tuesday. Our solution to fragmentation is to split up a process s address space into smaller chunks. Physical Memory OS.

Recall from Tuesday. Our solution to fragmentation is to split up a process s address space into smaller chunks. Physical Memory OS. Paging 11/10/16 Recall from Tuesday Our solution to fragmentation is to split up a process s address space into smaller chunks. Physical Memory OS Process 3 Process 3 OS: Place Process 3 Process 1 Process

More information

CENG4480 Lecture 09: Memory 1

CENG4480 Lecture 09: Memory 1 CENG4480 Lecture 09: Memory 1 Bei Yu byu@cse.cuhk.edu.hk (Latest update: November 8, 2017) Fall 2017 1 / 37 Overview Introduction Memory Principle Random Access Memory (RAM) Non-Volatile Memory Conclusion

More information

Aerie: Flexible File-System Interfaces to Storage-Class Memory [Eurosys 2014] Operating System Design Yongju Song

Aerie: Flexible File-System Interfaces to Storage-Class Memory [Eurosys 2014] Operating System Design Yongju Song Aerie: Flexible File-System Interfaces to Storage-Class Memory [Eurosys 2014] Operating System Design Yongju Song Outline 1. Storage-Class Memory (SCM) 2. Motivation 3. Design of Aerie 4. File System Features

More information

Perforce Tunables. Michael Shields Performance Lab Manager Perforce Software. March, Abstract

Perforce Tunables. Michael Shields Performance Lab Manager Perforce Software. March, Abstract Perforce Tunables Michael Shields Performance Lab Manager Perforce Software March, 2010 Abstract Tunables have been available in Perforce since the 2008.2 release. With help from Perforce, tunables can

More information

Database Management. Understanding Failure Resiliency CHAPTER

Database Management. Understanding Failure Resiliency CHAPTER CHAPTER 15 This chapter contains information on RDU database management and maintenance. The RDU database is the Cisco Broadband Access Center (Cisco BAC) central database. The Cisco BAC RDU requires virtually

More information

Documentation Tools to produce Articles and Presentations

Documentation Tools to produce Articles and Presentations Documentation Tools to produce Articles and Presentations Prof Holstlaan 4 (WL01) 5656 AA Eindhoven The Netherlands gerrit.muller@philips.com http://www.extra.research.philips.com/natlab/sysarch/ version:

More information

OLAP Introduction and Overview

OLAP Introduction and Overview 1 CHAPTER 1 OLAP Introduction and Overview What Is OLAP? 1 Data Storage and Access 1 Benefits of OLAP 2 What Is a Cube? 2 Understanding the Cube Structure 3 What Is SAS OLAP Server? 3 About Cube Metadata

More information

Lecture: DRAM Main Memory. Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3)

Lecture: DRAM Main Memory. Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3) Lecture: DRAM Main Memory Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3) 1 TLB and Cache 2 Virtually Indexed Caches 24-bit virtual address, 4KB page size 12 bits offset and 12 bits

More information

Lecture 1 An Overview of High-Performance Computer Architecture. Automobile Factory (note: non-animated version)

Lecture 1 An Overview of High-Performance Computer Architecture. Automobile Factory (note: non-animated version) Lecture 1 An Overview of High-Performance Computer Architecture ECE 463/521 Fall 2002 Edward F. Gehringer Automobile Factory (note: non-animated version) Automobile Factory (note: non-animated version)

More information

Survey: Users Share Their Storage Performance Needs. Jim Handy, Objective Analysis Thomas Coughlin, PhD, Coughlin Associates

Survey: Users Share Their Storage Performance Needs. Jim Handy, Objective Analysis Thomas Coughlin, PhD, Coughlin Associates Survey: Users Share Their Storage Performance Needs Jim Handy, Objective Analysis Thomas Coughlin, PhD, Coughlin Associates Table of Contents The Problem... 1 Application Classes... 1 IOPS Needs... 2 Capacity

More information

Topic 18: Virtual Memory

Topic 18: Virtual Memory Topic 18: Virtual Memory COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Virtual Memory Any time you see virtual, think using a level of indirection

More information

LECTURE 5: MEMORY HIERARCHY DESIGN

LECTURE 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 information

Memory. Objectives. Introduction. 6.2 Types of Memory

Memory. Objectives. Introduction. 6.2 Types of Memory Memory Objectives Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured. Master the concepts

More information

Database Systems II. Secondary Storage

Database Systems II. Secondary Storage Database Systems II Secondary Storage CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 29 The Memory Hierarchy Swapping, Main-memory DBMS s Tertiary Storage: Tape, Network Backup 3,200 MB/s (DDR-SDRAM

More information

Pipelined processors and Hazards

Pipelined processors and Hazards Pipelined processors and Hazards Two options Processor HLL Compiler ALU LU Output Program Control unit 1. Either the control unit can be smart, i,e. it can delay instruction phases to avoid hazards. Processor

More information

The Datacentered Future Greg Huff CTO, LSI Corporation

The Datacentered Future Greg Huff CTO, LSI Corporation The Datacentered Future Greg Huff CTO, LSI Corporation 1 Tremendous Growth in Connected Data Sources, Consumption Devices, and Services 2 Nearly limitless data depth and breadth needed Execution of millions

More information

Memory Hierarchy Y. K. Malaiya

Memory Hierarchy Y. K. Malaiya Memory Hierarchy Y. K. Malaiya Acknowledgements Computer Architecture, Quantitative Approach - Hennessy, Patterson Vishwani D. Agrawal Review: Major Components of a Computer Processor Control Datapath

More information

CSEE W4824 Computer Architecture Fall 2012

CSEE W4824 Computer Architecture Fall 2012 CSEE W4824 Computer Architecture Fall 2012 Lecture 8 Memory Hierarchy Design: Memory Technologies and the Basics of Caches Luca Carloni Department of Computer Science Columbia University in the City of

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 Storage Innovation at the Core of the Enterprise Robert Klusman Sr. Director Storage North America 2 The following is intended to outline our general product direction. It is intended for information

More information

Lecture-14 (Memory Hierarchy) CS422-Spring

Lecture-14 (Memory Hierarchy) CS422-Spring Lecture-14 (Memory Hierarchy) CS422-Spring 2018 Biswa@CSE-IITK The Ideal World Instruction Supply Pipeline (Instruction execution) Data Supply - Zero-cycle latency - Infinite capacity - Zero cost - Perfect

More information

Copyright 2012, Elsevier Inc. All rights reserved.

Copyright 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 information

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory II

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory II Memory Performance of Algorithms CSE 32 Data Structures Lecture Algorithm Performance Factors Algorithm choices (asymptotic running time) O(n 2 ) or O(n log n) Data structure choices List or Arrays Language

More information

Computer 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. 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 information

COMP 273 Winter physical vs. virtual mem Mar. 15, 2012

COMP 273 Winter physical vs. virtual mem Mar. 15, 2012 Virtual Memory The model of MIPS Memory that we have been working with is as follows. There is your MIPS program, including various functions and data used by this program, and there are some kernel programs

More information

NVM PCIe Networked Flash Storage

NVM PCIe Networked Flash Storage NVM PCIe Networked Flash Storage Peter Onufryk Microsemi Corporation Santa Clara, CA 1 PCI Express (PCIe) Mid-range/High-end Specification defined by PCI-SIG Software compatible with PCI and PCI-X Reliable,

More information

Caches. Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University. See P&H 5.1, 5.2 (except writes)

Caches. Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University. See P&H 5.1, 5.2 (except writes) s akim Weatherspoon CS, Spring Computer Science Cornell University See P&.,. (except writes) Big Picture: : big & slow vs s: small & fast compute jump/branch targets memory PC + new pc Instruction Fetch

More information

Design Considerations for Using Flash Memory for Caching

Design Considerations for Using Flash Memory for Caching Design Considerations for Using Flash Memory for Caching Edi Shmueli, IBM XIV Storage Systems edi@il.ibm.com Santa Clara, CA August 2010 1 Solid-State Storage In a few decades solid-state storage will

More information

Soft Real Time Design

Soft Real Time Design by Gerrit Muller HSN-NISE e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract Soft Real Time design addresses the performance aspects of the system design, under the assumption that the hard real time

More information

SAP HANA. Jake Klein/ SVP SAP HANA June, 2013

SAP HANA. Jake Klein/ SVP SAP HANA June, 2013 SAP HANA Jake Klein/ SVP SAP HANA June, 2013 SAP 3 YEARS AGO Middleware BI / Analytics Core ERP + Suite 2013 WHERE ARE WE NOW? Cloud Mobile Applications SAP HANA Analytics D&T Changed Reality Disruptive

More information

Copyright 2012, Elsevier Inc. All rights reserved.

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 information

Moneta: A High-performance Storage Array Architecture for Nextgeneration, Micro 2010

Moneta: A High-performance Storage Array Architecture for Nextgeneration, Micro 2010 Moneta: A High-performance Storage Array Architecture for Nextgeneration, Non-volatile Memories Micro 2010 NVM-based SSD NVMs are replacing spinning-disks Performance of disks has lagged NAND flash showed

More information

Information Retrieval

Information Retrieval Introduction to Information Retrieval Lecture 4: Index Construction Plan Last lecture: Dictionary data structures Tolerant retrieval Wildcards This time: Spell correction Soundex Index construction Index

More information

Optimizing Parallel Access to the BaBar Database System Using CORBA Servers

Optimizing Parallel Access to the BaBar Database System Using CORBA Servers SLAC-PUB-9176 September 2001 Optimizing Parallel Access to the BaBar Database System Using CORBA Servers Jacek Becla 1, Igor Gaponenko 2 1 Stanford Linear Accelerator Center Stanford University, Stanford,

More information

Lec 13: Linking and Memory. Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University. Announcements

Lec 13: Linking and Memory. Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University. Announcements Lec 13: Linking and Memory Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University PA 2 is out Due on Oct 22 nd Announcements Prelim Oct 23 rd, 7:30-9:30/10:00 All content up to Lecture on Oct

More information

Computational performance and scalability of large distributed enterprise-wide systems supporting engineering, manufacturing and business applications

Computational performance and scalability of large distributed enterprise-wide systems supporting engineering, manufacturing and business applications Computational performance and scalability of large distributed enterprise-wide systems supporting engineering, manufacturing and business applications Janusz S. Kowalik Mathematics and Computing Technology

More information