Prioritized Garbage Collection Using the Garbage Collector to Support Caching

Size: px
Start display at page:

Download "Prioritized Garbage Collection Using the Garbage Collector to Support Caching"

Transcription

1 Prioritized Garbage Collection Using the Garbage Collector to Support Caching Diogenes Nunez, Samuel Z. Guyer, Emery D. Berger Tufts University, University of Massachusetts Amherst November 2, 2016 D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

2 Caches are everywhere D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

3 Caches are everywhere D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

4 Caches are everywhere D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

5 Caches are everywhere D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

6 Caches are a space-time tradeoff Total Runtime 30 Time (sec) Number of cache entries D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

7 Caches are a space-time tradeoff Total Runtime 30 Time (sec) Number of cache entries D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

8 Caches are a space-time tradeoff Total Runtime 30 Time (sec) Number of cache entries D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

9 Caches are a space-time tradeoff? Total Runtime 30 Time (sec) Number of cache entries D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

10 Garbage collection dominates runtime Other GC 30 Time (sec) Number of cache entries D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

11 Perfect Cache Size D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

12 Elements can be too small. The cache can use more space. D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

13 Elements can be too big. The cache needs to use less space. D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

14 Evicted elements remain in memory until next GC. D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

15 Evicted elements remain in memory until next GC. D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

16 Evicted elements remain in memory until next GC. D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

17 Problem Can we... Keep the garbage collector from dominating program run time Handle entries of various sizes D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

18 Soft References Removed prior to an OutOfMemory exception JVMs can remove them during normal operation Hotspot removes them over time in a Least-Recently-Used (LRU) order D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

19 All soft references are equal. All Soft References placed in a global queue Queue is cleared in an LRU policy over time Results in removal of cache values from cold code D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

20 Our Solution Make the Garbage Collector aware of the cache and its contents D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

21 Our Solution Prioritized Garbage Collector Separate the references into logical spaces with unique eviction policies Compute how much memory each reference is responsible for Sache Use the Prioritized Garbage Collector to limit the memory used by stored values D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

22 Prioritized Garbage Collection: Using PrioSpaces // Specify memory limit in number of bytes... PrioSpace <Tree > space = VM. getspace (500); //.. or percentage of heap PrioSpace <Tree > space = VM. getspace (0.6); D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

23 Register objects into a PrioSpace Tree t; PrioReference <T > ref = space. newreference ( t); D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

24 Updates the reference s priority every use. PrioReference < Tree > ref ; Tree t = ref. get (); /* Results in a call to * space. updatereference ( t); */ D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

25 Compare two PrioReferences int compare ( PrioReference <T > a, PrioReference <T > b); Determines the eviction policy of the space given by programmer D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

26 Compare two PrioReferences int compare ( PrioReference <T > a, PrioReference <T > b); Determines the eviction policy of the space given by programmer Determines the priority of a reference in the space Higher priority More likely to not be evicted D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

27 Prioritized Garbage Collection: Cleaning PrioSpaces For each PrioSpace, garbage collector calculates and stores the amount of memory used by strucures Garbage collector frees structures according to priority of the references D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

28 Sache (Space Aware Cache) User puts a limit on size of Sache in bytes Tell the prioritized garbage collector what values are in the cache and the order of eviction Current eviction policy is LRU Measure the amount of memory used by these values during garbage collection If keeping a value means the Sache exceeds the size limit, evict that value D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

29 Sache: Interface class Sache <K,V> extends HashMap <K, PrioReference <V > > { protected int priority ; protected PrioSpace <V > priospace ; public Sache ( long maxsize ); public boolean put ( K key, V value ); public V get ( K key ); public V remove ( K key ); } private void update (); D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

30 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs space: a d b c h f g Marked by Mark Sweep i e Marked by Prioritized GC D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

31 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

32 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

33 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: d a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

34 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: d a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

35 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: a d a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

36 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: a d a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

37 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: h a d a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

38 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: h a d a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

39 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: d h a a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

40 Sache: Using Sache Sache map = new Sache(60); map.put("1", d); map.put("2", a); map.put("3", h); map.get("1"); //Garbage collection occurs limit = 60 bytes space: d h a a b c map d Marked by Mark Sweep h f g Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

41 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

42 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

43 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

44 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

45 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

46 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

47 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

48 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

49 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

50 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

51 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 0 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

52 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 12 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

53 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 24 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

54 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 36 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

55 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 48 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

56 Prioritized GC: Measuring Sizes Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 60 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

57 Prioritized GC: Eviction Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 72 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

58 Prioritized GC: Eviction Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 60 bytes space: d h a map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

59 Prioritized GC: Eviction Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 60 bytes space: d h map a d h f b c g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

60 Prioritized GC: Sweep Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 60 bytes space: d h map a d h f b g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

61 Sache evicts upon next access Mark entries in space Mark roots roots space entries Free all unmarked objects limit = 60 bytes current-total = 60 bytes space: d h map a d h f b g Marked by Mark Sweep Marked by Prioritized GC i e D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

62 Experiments: Traces Used Traces are list of (string, int) pairs string: unique string identifier int: size of structure to create drawn from a predetermined range Request sequence follows Pareto distribution 1 1 C. Cunha, A. Bestavros, and M. Crovella. Characteristics of www client-based traces. Technical report, Boston, MA, USA, D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

63 Experiments Trace driven Program reads requests: (string, int) pairs Program looks the string up in the cache If the read fails, create and store a tree of the requested size in the cache Change the cache used Google Guava with LRU policy at fixed sizes Sache at fixed sizes Implemented Prioritized GC in Jikes Research Virtual Machine D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

64 Results: Workloads (50KB 100KB) Guava LRU Sache Total Runtime Hit Rate of the Cache Time (sec) 10 8 Hit Rate Number of entries 0.1 Guava LRU Sache Number of entries D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

65 Results: Workloads (100KB 200KB) Guava LRU Sache Total Runtime Hit Rate of the Cache Time (sec) Hit Rate Number of entries 0.1 Guava LRU Sache Number of entries D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

66 Our Solution: Sache (Space Aware Cache) User puts a limit on size of Sache in bytes Tell the garbage collector what values are in the cache Measure the size of these values during garbage collection If keeping a value means the Sache exceeds its size limit, evict that value D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

67 Our Solution: Adaptive Sache (Space Aware Cache) User puts a limit on size of Sache in bytes Tell the garbage collector what values are in the cache Each collection, calculate limit on size of Sache in bytes Measure the size of these values during garbage collection If keeping a value means the Sache exceeds its size limit, evict that value D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

68 Adaptive Sache: Calculating Size Limits D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

69 Adaptive Sache: Calculating Size Limits Live data D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

70 Adaptive Sache: Calculating Size Limits Live data Reserved for computation D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

71 Adaptive Sache: Calculating Size Limits Live data Reserved for computation Sache use D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

72 Experiments: Memory Pressure Trace driven Use the workload with sizes in 50KB 100KB range After a third of requests read, increase memory pressure After another third, decrease memory pressure Change the cache used Google Guava with LRU policy fixed at 350 entries Adaptive Sache with reserve of 50% D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

73 Results: Pressured Workload Trace: Total Run Time 5000 Guava LRU Sache 4000 Time (ms) Memory pressure (MB) D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

74 Results: Pressured Workload Trace: Total GC Time 2500 Guava LRU Sache 2000 GC Time (ms) Memory pressure (MB) D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

75 Results: Adaptive Sache on Pressured Workload Trace Add lines to note when memory pressure starts and ends 800 Number of Entries in Sache After Each Collection Number of entries GC Number D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

76 Conclusion Prioritized Garbage Collector allows programmers to handle references in application-specific ways Sache uses the Prioritized Garbage Collector to enforce memory limits Sache can adapt its size to memory pressure, improving robustness D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

77 Questions? D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

78 Backups D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

79 Saches and SoftReference Caches: Hotspot Ratio of Cache Hit Rates Freq = 1 Freq = 2 Freq = 3 Freq = 4 Heap Size (MB) Freq = 5 Freq = 6 Freq = 7 Freq = 8 Freq = 9 Freq = 10 D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

80 Saches and SoftReference Caches: Sache Ratio of Cache Hit Rates Freq = 1 Freq = 2 Freq = 3 Freq = 4 Heap Size (MB) Freq = 5 Freq = 6 Freq = 7 Freq = 8 Freq = 9 Freq = 10 D. Nunez, S. Guyer, E. Berger Prioritized GC November 2, / 47

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis Ioan Raicu Distributed Systems Laboratory Computer Science Department University of Chicago Joint work with: Ian Foster: Univ. of

More information

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis Ioan Raicu Distributed Systems Laboratory Computer Science Department University of Chicago Joint work with: Ian Foster: Univ. of

More information

Complete Faceting. code4lib, Feb Toke Eskildsen Mikkel Kamstrup Erlandsen

Complete Faceting. code4lib, Feb Toke Eskildsen Mikkel Kamstrup Erlandsen Complete Faceting code4lib, Feb. 2009 Toke Eskildsen te@statsbiblioteket.dk Mikkel Kamstrup Erlandsen mke@statsbiblioteket.dk Battle Plan Terminology (geek level: 1) History (geek level: 3) Data Structures

More information

ECE 571 Advanced Microprocessor-Based Design Lecture 10

ECE 571 Advanced Microprocessor-Based Design Lecture 10 ECE 571 Advanced Microprocessor-Based Design Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 23 February 2017 Announcements HW#5 due HW#6 will be posted 1 Oh No, More

More information

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0 NEC PerforCache Influence on M-Series Disk Array Behavior and Performance. Version 1.0 Preface This document describes L2 (Level 2) Cache Technology which is a feature of NEC M-Series Disk Array implemented

More information

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I.

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I. Last (family) name: Solution First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE/CS 752 Advanced Computer Architecture I Midterm

More information

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application Administrivia 1. markem/cs333/ 2. Staff 3. Prerequisites 4. Grading Course Objectives 1. Theory and application 2. Benefits 3. Labs TAs Overview 1. What is a computer system? CPU PC ALU System bus Memory

More information

SCALABILITY OF GARBAGE COLLECTION IN JAVA-BASED DISCRETE-EVENT SIMULATORS

SCALABILITY OF GARBAGE COLLECTION IN JAVA-BASED DISCRETE-EVENT SIMULATORS SCALABILITY OF GARBAGE COLLECTION IN JAVA-BASED DISCRETE-EVENT SIMULATORS DAVID M. NICOL Dartmouth College Hanover, NH 03755 nicol@cs.dartmouth.edu Keywords HotSpot, Java, memory, scalability Abstract

More information

Exact Analysis of TTL Cache Networks

Exact Analysis of TTL Cache Networks Exact Analysis of TTL Cache Networks Daniel S. Berger, Philipp Gland, Sahil Singla, and Florin Ciucu IFIP WG 7.3 Performance October 7, 2014 Classes of Caching Classes of Caches capacity-driven eviction

More information

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Worst-Case Execution Time Analysis. LS 12, TU Dortmund Worst-Case Execution Time Analysis Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 02, 03 May 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 53 Most Essential Assumptions for Real-Time Systems Upper

More information

Asymptotically Exact TTL-Approximations of the Cache Replacement Algorithms LRU(m) and h-lru

Asymptotically Exact TTL-Approximations of the Cache Replacement Algorithms LRU(m) and h-lru Nicolas Gast 1 / 24 Asymptotically Exact TTL-Approximations of the Cache Replacement Algorithms LRU(m) and h-lru Nicolas Gast 1, Benny Van Houdt 2 ITC 2016 September 13-15, Würzburg, Germany 1 Inria 2

More information

Randomized Algorithms Multiple Choice Test

Randomized Algorithms Multiple Choice Test 4435 Randomized Algorithms Multiple Choice Test Sample test: only 8 questions 24 minutes (Real test has 30 questions 90 minutes) Årskort Name Each of the following 8 questions has 4 possible answers of

More information

On the Power of Asymmetry and Memory in Flash-based SSD Garbage Collection

On the Power of Asymmetry and Memory in Flash-based SSD Garbage Collection On the Power of Asymmetry and Memory in Flash-based SSD Garbage Collection B. Van Houdt Department of Mathematics and Computer Science University of Antwerp - iminds Abstract The power of d random choices

More information

*** SAMPLE ONLY! The actual NASUNI-FILER-MIB file can be accessed through the Filer address>/site_media/snmp/nasuni-filer-mib ***

*** SAMPLE ONLY! The actual NASUNI-FILER-MIB file can be accessed through the   Filer address>/site_media/snmp/nasuni-filer-mib *** *** SAMPLE ONLY! The actual NASUNI-FILER-MIB file can be accessed through the https:///site_media/snmp/nasuni-filer-mib *** NASUNI-FILER-MIB DEFINITIONS ::= BEGIN -- Nasuni Filer

More information

Extensibility Patterns: Extension Access

Extensibility Patterns: Extension Access Design Patterns and Frameworks Dipl.-Medieninf. Christian Piechnick INF 2080 christian.piechnick@tu-dresden.de Exercise Sheet No. 5 Software Technology Group Institute for SMT Department of Computer Science

More information

Chain of Responsibility

Chain of Responsibility Department of Computer Science University of Pretoria 29 and 30 September 2014 Overview Identification 1 Identification 2 3 4 5 6 Name and Classification: Chain of Responsibility Intent: Avoid coupling

More information

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Song Han 1 Deji Chen 2 Ming Xiong 3 Aloysius K. Mok 1 1 The University of Texas at Austin 2 Emerson Process Management

More information

THE ZCACHE: DECOUPLING WAYS AND ASSOCIATIVITY. Daniel Sanchez and Christos Kozyrakis Stanford University

THE ZCACHE: DECOUPLING WAYS AND ASSOCIATIVITY. Daniel Sanchez and Christos Kozyrakis Stanford University THE ZCACHE: DECOUPLING WAYS AND ASSOCIATIVITY Daniel Sanchez and Christos Kozyrakis Stanford University MICRO-43, December 6 th 21 Executive Summary 2 Mitigating the memory wall requires large, highly

More information

Estimation of DNS Source and Cache Dynamics under Interval-Censored Age Sampling

Estimation of DNS Source and Cache Dynamics under Interval-Censored Age Sampling Estimation of DNS Source and Cache Dynamics under Interval-Censored Age Sampling Di Xiao, Xiaoyong Li, Daren B.H. Cline, Dmitri Loguinov Internet Research Lab Department of Computer Science and Engineering

More information

How to deal with uncertainties and dynamicity?

How to deal with uncertainties and dynamicity? How to deal with uncertainties and dynamicity? http://graal.ens-lyon.fr/ lmarchal/scheduling/ 19 novembre 2012 1/ 37 Outline 1 Sensitivity and Robustness 2 Analyzing the sensitivity : the case of Backfilling

More information

Triggering of Just-In-Time Compilation in the Java Virtual Machine

Triggering of Just-In-Time Compilation in the Java Virtual Machine San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research 2009 Triggering of Just-In-Time Compilation in the Java Virtual Machine Rouhollah Gougol San Jose State

More information

RE X : A DEVELOPMENT PLATFORM AND ONLINE LEARNING APPROACH

RE X : A DEVELOPMENT PLATFORM AND ONLINE LEARNING APPROACH : A DEVELOPMEN PLAFORM AND ONLINE LEARNING APPROACH FOR RUNIME EMERGEN SOFWARE SYSEMS, Matthew Grieves, Roberto Rodrigues Filho and David Leslie School of Computing and Communications Department of Mathematics

More information

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface.

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface. Course Announcements Bacon is due next Monday. Today s lecture will help thinking about your DB interface. Next lab is about drawing UIs. John Jannotti (cs32) ORMs Mar 9, 2017 1 / 24 ORMs John Jannotti

More information

Storage Management in the Tektronix 32-Bit Smalltalk

Storage Management in the Tektronix 32-Bit Smalltalk Storage Management in the Tektronix 32-Bit Smalltalk Pat Caudill Computer Research Laboratoiy Tektronix, Inc. ABSTRACT This describes the planned storage management of the new Smalltalk Interpreter. This

More information

An Architecture for a WWW Workload Generator. Paul Barford and Mark Crovella. Boston University. September 18, 1997

An Architecture for a WWW Workload Generator. Paul Barford and Mark Crovella. Boston University. September 18, 1997 An Architecture for a WWW Workload Generator Paul Barford and Mark Crovella Computer Science Department Boston University September 18, 1997 1 Overview SURGE (Scalable URL Reference Generator) is a WWW

More information

Compiling Techniques

Compiling Techniques Lecture 11: Introduction to 13 November 2015 Table of contents 1 Introduction Overview The Backend The Big Picture 2 Code Shape Overview Introduction Overview The Backend The Big Picture Source code FrontEnd

More information

Partha Sarathi Mandal

Partha Sarathi Mandal MA 252: Data Structures and Algorithms Lecture 32 http://www.iitg.ernet.in/psm/indexing_ma252/y12/index.html Partha Sarathi Mandal Dept. of Mathematics, IIT Guwahati The All-Pairs Shortest Paths Problem

More information

14.1. Unit 14. State Machine Design

14.1. Unit 14. State Machine Design 4. Unit 4 State Machine Design 4.2 Outcomes I can create a state diagram to solve a sequential problem I can implement a working state machine given a state diagram STATE MACHINES OVERVIEW 4.3 4.4 Review

More information

Discrete Event Simulation. Motive

Discrete Event Simulation. Motive Discrete Event Simulation These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make a single machine-readable copy and print a single

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST0.2017.2.1 COMPUTER SCIENCE TRIPOS Part IA Thursday 8 June 2017 1.30 to 4.30 COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit the

More information

Theoretical study of cache systems

Theoretical study of cache systems Theoretical study of cache systems Dmitry G. Dolgikh Samara State erospace University, Moscow sh., 34a, Samara, 443086, Russia and ndrei M. Sukhov Samara Institute of Transport Engineering, Bezymyannyi

More information

Impact of traffic mix on caching performance

Impact of traffic mix on caching performance Impact of traffic mix on caching performance Jim Roberts, INRIA/RAP joint work with Christine Fricker, Philippe Robert, Nada Sbihi BCAM, 27 June 2012 A content-centric future Internet most Internet traffic

More information

Algorithms and Data Structures

Algorithms and Data Structures Algorithms and Data Structures, Divide and Conquer Albert-Ludwigs-Universität Freiburg Prof. Dr. Rolf Backofen Bioinformatics Group / Department of Computer Science Algorithms and Data Structures, December

More information

ArcGIS Enterprise: Administration Workflows STUDENT EDITION

ArcGIS Enterprise: Administration Workflows STUDENT EDITION ArcGIS Enterprise: Administration Workflows STUDENT EDITION Copyright 2019 Esri All rights reserved. Course version 1.1. Version release date April 2019. Printed in the United States of America. The information

More information

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Worst-Case Execution Time Analysis. LS 12, TU Dortmund Worst-Case Execution Time Analysis Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 09/10, Jan., 2018 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 43 Most Essential Assumptions for Real-Time Systems Upper

More information

Supporting Intra-Task Parallelism in Real- Time Multiprocessor Systems José Fonseca

Supporting Intra-Task Parallelism in Real- Time Multiprocessor Systems José Fonseca Technical Report Supporting Intra-Task Parallelism in Real- Time Multiprocessor Systems José Fonseca CISTER-TR-121007 Version: Date: 1/1/2014 Technical Report CISTER-TR-121007 Supporting Intra-Task Parallelism

More information

Heaps and Priority Queues

Heaps and Priority Queues Heaps and Priority Queues Motivation Situations where one has to choose the next most important from a collection. Examples: patients in an emergency room, scheduling programs in a multi-tasking OS. Need

More information

HelpHistogram/Vertical

HelpHistogram/Vertical C_AccessSequence SubjectAreaCode 1 0.0. < 2 1.0. = DA C_AccessSequence Sequence 1 0.0. < 2 1.0. = 1 C_SubjectArea SubjectAreaCode 1 0.0. < 2 0.200000003 = DA 4 0.200000003 = NJ 6 0.200000003 = OE 8 0.200000003

More information

Design and Analysis of Time-Critical Systems Cache Analysis and Predictability

Design and Analysis of Time-Critical Systems Cache Analysis and Predictability esign and nalysis of Time-ritical Systems ache nalysis and Predictability Jan Reineke @ saarland university ES Summer School 2017 Fiuggi, Italy computer science n nalogy alvin and Hobbes by Bill Watterson

More information

More on Methods and Encapsulation

More on Methods and Encapsulation More on Methods and Encapsulation Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 31, 2009 H.-T. Lin (NTU CSIE) More on Methods and Encapsulation OOP(even) 03/31/2009 0 / 38 Local Variables Local

More information

Energy-Efficient Management of Reconfigurable Computers 82. Processor caches are critical components of the memory hierarchy that exploit locality to

Energy-Efficient Management of Reconfigurable Computers 82. Processor caches are critical components of the memory hierarchy that exploit locality to Energy-Efficient Management of Reconfigurable Computers 82 4 cache reuse models 4.1 Overview Processor caches are critical components of the memory hierarchy that exploit locality to keep frequently-accessed

More information

GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications

GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications Christopher Rodrigues, David J. Hardy, John E. Stone, Klaus Schulten, Wen-Mei W. Hwu University of Illinois at Urbana-Champaign

More information

PUG Challenge EMEA. Promon for Dummies & Savants. Click to edit Master title style. Presented by: Dan Foreman

PUG Challenge EMEA. Promon for Dummies & Savants. Click to edit Master title style. Presented by: Dan Foreman PUG Challenge EMEA Click to edit Master title style Promon for Dummies & Savants And how it may help in troubleshooting certain DB problems Presented by: Dan Foreman danf@prodb.com 1 Dan Foreman Progress

More information

Go Tutorial. Ian Lance Taylor. Introduction. Why? Language. Go Tutorial. Ian Lance Taylor. GCC Summit, October 27, 2010

Go Tutorial. Ian Lance Taylor. Introduction. Why? Language. Go Tutorial. Ian Lance Taylor. GCC Summit, October 27, 2010 GCC Summit, October 27, 2010 Go Go is a new experimental general purpose programming language. Main developers are: Russ Cox Robert Griesemer Rob Pike Ken Thompson It was released as free software in November

More information

ITI Introduction to Computing II

ITI Introduction to Computing II (with contributions from R. Holte) School of Electrical Engineering and Computer Science University of Ottawa Version of January 11, 2015 Please don t print these lecture notes unless you really need to!

More information

Lecture 2: Paging and AdWords

Lecture 2: Paging and AdWords Algoritmos e Incerteza (PUC-Rio INF2979, 2017.1) Lecture 2: Paging and AdWords March 20 2017 Lecturer: Marco Molinaro Scribe: Gabriel Homsi In this class we had a brief recap of the Ski Rental Problem

More information

Announcements. Project #1 grades were returned on Monday. Midterm #1. Project #2. Requests for re-grades due by Tuesday

Announcements. Project #1 grades were returned on Monday. Midterm #1. Project #2. Requests for re-grades due by Tuesday Announcements Project #1 grades were returned on Monday Requests for re-grades due by Tuesday Midterm #1 Re-grade requests due by Monday Project #2 Due 10 AM Monday 1 Page State (hardware view) Page frame

More information

Caches in WCET Analysis

Caches in WCET Analysis Caches in WCET Analysis Jan Reineke Department of Computer Science Saarland University Saarbrücken, Germany ARTIST Summer School in Europe 2009 Autrans, France September 7-11, 2009 Jan Reineke Caches in

More information

n-level Graph Partitioning

n-level Graph Partitioning Vitaly Osipov, Peter Sanders - Algorithmik II 1 Vitaly Osipov: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische

More information

Usability Extensions for the Worklet Service

Usability Extensions for the Worklet Service Usability Extensions for the Worklet Service Michael Adams Queensland University of Technology, Brisbane, Australia. mj.adams@qut.edu.au Abstract. The YAWL Worklet Service is an effective approach to facilitating

More information

CS425: Algorithms for Web Scale Data

CS425: Algorithms for Web Scale Data CS425: Algorithms for Web Scale Data Most of the slides are from the Mining of Massive Datasets book. These slides have been modified for CS425. The original slides can be accessed at: www.mmds.org Challenges

More information

CS213d Data Structures and Algorithms

CS213d Data Structures and Algorithms CS21d Data Structures and Algorithms Heaps and their Applications Milind Sohoni IIT Bombay and IIT Dharwad March 22, 2017 1 / 18 What did I see today? March 22, 2017 2 / 18 Heap-Trees A tree T of height

More information

A Spatial Hashtable Optimized for Mobile Storage on Smart Phones

A Spatial Hashtable Optimized for Mobile Storage on Smart Phones A Spatial Hashtable Optimized for Mobile Storage on Smart Phones Jörg Roth Department of Computer Science Univ. of Applied Sciences Nuremberg Kesslerplatz 12 90489 Nuremberg, Germany Joerg.Roth@Ohm-Hochschule.de

More information

Verified Characteristic Formulae for CakeML. Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017

Verified Characteristic Formulae for CakeML. Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017 Verified Characteristic Formulae for CakeML Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017 CakeML Has: references, modules, datatypes, exceptions, a FFI,... Doesn t have:

More information

Elementary Sorts 1 / 18

Elementary Sorts 1 / 18 Elementary Sorts 1 / 18 Outline 1 Rules of the Game 2 Selection Sort 3 Insertion Sort 4 Shell Sort 5 Visualizing Sorting Algorithms 6 Comparing Sorting Algorithms 2 / 18 Rules of the Game Sorting is the

More information

Impression Store: Compressive Sensing-based Storage for. Big Data Analytics

Impression Store: Compressive Sensing-based Storage for. Big Data Analytics Impression Store: Compressive Sensing-based Storage for Big Data Analytics Jiaxing Zhang, Ying Yan, Liang Jeff Chen, Minjie Wang, Thomas Moscibroda & Zheng Zhang Microsoft Research The Curse of O(N) in

More information

The Impact of Quanta on the Performance of Multi-level Time Sharing Policy under Heavy-tailed Workloads

The Impact of Quanta on the Performance of Multi-level Time Sharing Policy under Heavy-tailed Workloads The Impact of Quanta on the Performance of Multi-level Time Sharing Policy under Heavy-tailed Workloads Malith Jayasinghe 1 Zahir Tari 1 Panlop Zeephongsekul 2 1 School of Computer Science and Information

More information

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II TDDB68 Concurrent programming and operating systems Lecture: CPU Scheduling II Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information Science Copyright Notice:

More information

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.1 Interval Scheduling Interval Scheduling Interval scheduling. Job j starts at s j and

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University } 2017/11/15 Midterm } 2017/11/22 Final Project Announcement 2 1. Introduction 2.

More information

Target and Observation Managers. TOMs

Target and Observation Managers. TOMs Target and Observation Managers TOMs What are they and why would I need one? Rachel Street Managing astronomical programs Managing astronomical programs Works well for many programs But challenging for

More information

ECE 571 Advanced Microprocessor-Based Design Lecture 9

ECE 571 Advanced Microprocessor-Based Design Lecture 9 ECE 571 Advanced Microprocessor-Based Design Lecture 9 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 20 February 2018 Announcements HW#4 was posted. About branch predictors Don

More information

Data Structures. Outline. Introduction. Andres Mendez-Vazquez. December 3, Data Manipulation Examples

Data Structures. Outline. Introduction. Andres Mendez-Vazquez. December 3, Data Manipulation Examples Data Structures Introduction Andres Mendez-Vazquez December 3, 2015 1 / 53 Outline 1 What the Course is About? Data Manipulation Examples 2 What is a Good Algorithm? Sorting Example A Naive Algorithm Counting

More information

Toward Precise PLRU Cache Analysis

Toward Precise PLRU Cache Analysis Toward Precise PLRU Cache Analysis Daniel Grund Jan Reineke 2 Saarland University, Saarbrücken, Germany 2 University of California, Berkeley, USA Workshop on Worst-Case Execution-Time Analysis 2 Outline

More information

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara Operating Systems Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Many processes to execute, but one CPU OS time-multiplexes the CPU by operating context switching Between

More information

1. Write a program to calculate distance traveled by light

1. Write a program to calculate distance traveled by light G. H. R a i s o n i C o l l e g e O f E n g i n e e r i n g D i g d o h H i l l s, H i n g n a R o a d, N a g p u r D e p a r t m e n t O f C o m p u t e r S c i e n c e & E n g g P r a c t i c a l M a

More information

! Insert. ! Remove largest. ! Copy. ! Create. ! Destroy. ! Test if empty. ! Fraud detection: isolate $$ transactions.

! Insert. ! Remove largest. ! Copy. ! Create. ! Destroy. ! Test if empty. ! Fraud detection: isolate $$ transactions. Priority Queues Priority Queues Data. Items that can be compared. Basic operations.! Insert.! Remove largest. defining ops! Copy.! Create.! Destroy.! Test if empty. generic ops Reference: Chapter 6, Algorithms

More information

Towards VM Consolidation Using Idle States

Towards VM Consolidation Using Idle States Towards Consolidation Using Idle States Rayman Preet Singh, Tim Brecht, S. Keshav University of Waterloo @AC EE 15 1 Traditional Consolidation Hypervisor Hardware Hypervisor Hardware Hypervisor Hardware

More information

Advanced Forecast. For MAX TM. Users Manual

Advanced Forecast. For MAX TM. Users Manual Advanced Forecast For MAX TM Users Manual www.maxtoolkit.com Revised: June 24, 2014 Contents Purpose:... 3 Installation... 3 Requirements:... 3 Installer:... 3 Setup: spreadsheet... 4 Setup: External Forecast

More information

What You Must Remember When Processing Data Words

What You Must Remember When Processing Data Words What You Must Remember When Processing Data Words Michael Benedikt, Clemens Ley, and Gabriele Puppis Oxford University Computing Laboratory, Park Rd, Oxford OX13QD UK Abstract. We provide a Myhill-Nerode-like

More information

Chapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn

Chapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn Chapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn Priority Queue / Heap Stores (key,data) pairs (like dictionary) But, different set of operations: Initialize-Heap: creates new empty heap

More information

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2) INF2270 Spring 2010 Philipp Häfliger Summary/Repetition (1/2) content From Scalar to Superscalar Lecture Summary and Brief Repetition Binary numbers Boolean Algebra Combinational Logic Circuits Encoder/Decoder

More information

DRAM Reliability: Parity, ECC, Chipkill, Scrubbing. Alpha Particle or Cosmic Ray. electron-hole pairs. silicon. DRAM Memory System: Lecture 13

DRAM Reliability: Parity, ECC, Chipkill, Scrubbing. Alpha Particle or Cosmic Ray. electron-hole pairs. silicon. DRAM Memory System: Lecture 13 slide 1 DRAM Reliability: Parity, ECC, Chipkill, Scrubbing Alpha Particle or Cosmic Ray electron-hole pairs silicon Alpha Particles: Radioactive impurity in package material slide 2 - Soft errors were

More information

ITI Introduction to Computing II

ITI Introduction to Computing II (with contributions from R. Holte) School of Electrical Engineering and Computer Science University of Ottawa Version of January 9, 2019 Please don t print these lecture notes unless you really need to!

More information

Operating Systems. Practical Session 8, Memory Management 2

Operating Systems. Practical Session 8, Memory Management 2 Operating Systems Practical Session 8, Memory Management 2 Quick recap PAGE REPLACEMENT ALGORITHMS 2 Optimal Assumes the memory manager knows the future sequence of page references The optimal algorithm:

More information

CMPEN 411 VLSI Digital Circuits Spring Lecture 21: Shifters, Decoders, Muxes

CMPEN 411 VLSI Digital Circuits Spring Lecture 21: Shifters, Decoders, Muxes CMPEN 411 VLSI Digital Circuits Spring 2011 Lecture 21: Shifters, Decoders, Muxes [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp11 CMPEN

More information

Outline. policies for the first part. with some potential answers... MCS 260 Lecture 10.0 Introduction to Computer Science Jan Verschelde, 9 July 2014

Outline. policies for the first part. with some potential answers... MCS 260 Lecture 10.0 Introduction to Computer Science Jan Verschelde, 9 July 2014 Outline 1 midterm exam on Friday 11 July 2014 policies for the first part 2 questions with some potential answers... MCS 260 Lecture 10.0 Introduction to Computer Science Jan Verschelde, 9 July 2014 Intro

More information

Data Structures 1 NTIN066

Data Structures 1 NTIN066 Data Structures 1 NTIN066 Jirka Fink Department of Theoretical Computer Science and Mathematical Logic Faculty of Mathematics and Physics Charles University in Prague Winter semester 2017/18 Last change

More information

VMware VMmark V1.1 Results

VMware VMmark V1.1 Results Vendor and Hardware Platform: IBM System x3950 M2 Virtualization Platform: VMware ESX 3.5.0 U2 Build 110181 Performance VMware VMmark V1.1 Results Tested By: IBM Inc., RTP, NC Test Date: 2008-09-20 Performance

More information

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 07/2014 SESSION 8:00-10:00

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 07/2014 SESSION 8:00-10:00 FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING MODULE CAMPUS CSC2A10 OBJECT ORIENTED PROGRAMMING AUCKLAND PARK CAMPUS (APK) EXAM JULY 2014 DATE 07/2014 SESSION 8:00-10:00 ASSESOR(S)

More information

Pattern History Table. Global History Register. Pattern History Table. Branch History Pattern Pattern History Bits

Pattern History Table. Global History Register. Pattern History Table. Branch History Pattern Pattern History Bits An Enhanced Two-Level Adaptive Multiple Branch Prediction for Superscalar Processors Jong-bok Lee, Soo-Mook Moon and Wonyong Sung fjblee@mpeg,smoon@altair,wysung@dspg.snu.ac.kr School of Electrical Engineering,

More information

Querying. 1 o Semestre 2008/2009

Querying. 1 o Semestre 2008/2009 Querying Departamento de Engenharia Informática Instituto Superior Técnico 1 o Semestre 2008/2009 Outline 1 2 3 4 5 Outline 1 2 3 4 5 function sim(d j, q) = 1 W d W q W d is the document norm W q is the

More information

ECE QUALIFYING EXAM I (QE l) January 5, 2015

ECE QUALIFYING EXAM I (QE l) January 5, 2015 ECE QUALIFYING EAM I (QE l) January 5, 2015 Student Exam No. --- Do not put your name or SU ID on any of your paperwork. This is a closed-book exam. It is designed such that the math skills, as well as

More information

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University IV. Turing Machine Yuxi Fu BASICS, Shanghai Jiao Tong University Alan Turing Alan Turing (23Jun.1912-7Jun.1954), an English student of Church, introduced a machine model for effective calculation in On

More information

Dynamic Scheduling for Work Agglomeration on Heterogeneous Clusters

Dynamic Scheduling for Work Agglomeration on Heterogeneous Clusters Dynamic Scheduling for Work Agglomeration on Heterogeneous Clusters Jonathan Lifflander, G. Carl Evans, Anshu Arya, Laxmikant Kale University of Illinois Urbana-Champaign May 25, 2012 Work is overdecomposed

More information

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts. TDDI4 Concurrent Programming, Operating Systems, and Real-time Operating Systems CPU Scheduling Overview: CPU Scheduling CPU bursts and I/O bursts Scheduling Criteria Scheduling Algorithms Multiprocessor

More information

Design Patterns and Refactoring

Design Patterns and Refactoring Singleton Oliver Haase HTWG Konstanz 1 / 19 Description I Classification: object based creational pattern Puropse: ensure that a class can be instantiated exactly once provide global access point to single

More information

8 Priority Queues. 8 Priority Queues. Prim s Minimum Spanning Tree Algorithm. Dijkstra s Shortest Path Algorithm

8 Priority Queues. 8 Priority Queues. Prim s Minimum Spanning Tree Algorithm. Dijkstra s Shortest Path Algorithm 8 Priority Queues 8 Priority Queues A Priority Queue S is a dynamic set data structure that supports the following operations: S. build(x 1,..., x n ): Creates a data-structure that contains just the elements

More information

7600 Series Routers Adjacency Allocation Method

7600 Series Routers Adjacency Allocation Method 7600 Series Routers Adjacency Allocation Method Document ID: 118393 Contributed by Amit Goyal and Ruchir Jain, Cisco TAC Engineers. Nov 06, 2014 Contents Introduction Background Information Adjacency Entry

More information

Today s Agenda: 1) Why Do We Need To Measure The Memory Component? 2) Machine Pool Memory / Best Practice Guidelines

Today s Agenda: 1) Why Do We Need To Measure The Memory Component? 2) Machine Pool Memory / Best Practice Guidelines Today s Agenda: 1) Why Do We Need To Measure The Memory Component? 2) Machine Pool Memory / Best Practice Guidelines 3) Techniques To Measure The Memory Component a) Understanding Your Current Environment

More information

In Advances in Neural Information Processing Systems 6. J. D. Cowan, G. Tesauro and. Convergence of Indirect Adaptive. Andrew G.

In Advances in Neural Information Processing Systems 6. J. D. Cowan, G. Tesauro and. Convergence of Indirect Adaptive. Andrew G. In Advances in Neural Information Processing Systems 6. J. D. Cowan, G. Tesauro and J. Alspector, (Eds.). Morgan Kaufmann Publishers, San Fancisco, CA. 1994. Convergence of Indirect Adaptive Asynchronous

More information

Outline. PeerSim: Informal introduction. Resources. What is PeerSim? Alberto Montresor Gianluca Ciccarelli

Outline. PeerSim: Informal introduction. Resources. What is PeerSim? Alberto Montresor Gianluca Ciccarelli Outline PeerSim: Informal introduction Alberto Montresor Gianluca Ciccarelli Networking group - University of Trento April 3, 2009 1 2 files structure 3 1 / 45 2 / 45 Resources What is PeerSim? These slides

More information

Energy-efficient Mapping of Big Data Workflows under Deadline Constraints

Energy-efficient Mapping of Big Data Workflows under Deadline Constraints Energy-efficient Mapping of Big Data Workflows under Deadline Constraints Presenter: Tong Shu Authors: Tong Shu and Prof. Chase Q. Wu Big Data Center Department of Computer Science New Jersey Institute

More information

Introduction to Randomized Algorithms III

Introduction to Randomized Algorithms III Introduction to Randomized Algorithms III Joaquim Madeira Version 0.1 November 2017 U. Aveiro, November 2017 1 Overview Probabilistic counters Counting with probability 1 / 2 Counting with probability

More information

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1 Memory Elements I CS31 Pascal Van Hentenryck CS031 Lecture 6 Page 1 Memory Elements (I) Combinational devices are good for computing Boolean functions pocket calculator Computers also need to remember

More information

EEC 686/785 Modeling & Performance Evaluation of Computer Systems. Lecture 11

EEC 686/785 Modeling & Performance Evaluation of Computer Systems. Lecture 11 EEC 686/785 Modeling & Performance Evaluation of Computer Systems Lecture Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org (based on Dr. Raj Jain s lecture

More information

Introduction to Information Retrieval

Introduction to Information Retrieval Introduction to Information Retrieval http://informationretrieval.org IIR 19: Size Estimation & Duplicate Detection Hinrich Schütze Institute for Natural Language Processing, Universität Stuttgart 2008.07.08

More information

Thread Specific Storage

Thread Specific Storage Thread Specific Storage The behavioural pattern explained Huib van den Brink Utrecht University hjbrink@cs.uu.nl Abstract While multi-threading can improve the performance of an application, this is not

More information

ww.padasalai.net

ww.padasalai.net t w w ADHITHYA TRB- TET COACHING CENTRE KANCHIPURAM SUNDER MATRIC SCHOOL - 9786851468 TEST - 2 COMPUTER SCIENC PG - TRB DATE : 17. 03. 2019 t et t et t t t t UNIT 1 COMPUTER SYSTEM ARCHITECTURE t t t t

More information

Understanding Sharded Caching Systems

Understanding Sharded Caching Systems Understanding Sharded Caching Systems Lorenzo Saino l.saino@ucl.ac.uk Ioannis Paras i.psaras@ucl.ac.uk George Pavlov g.pavlou@ucl.ac.uk Department of Electronic and Electrical Engineering University College

More information