cs 241 spring 2007 system programming 1 memory replacement policies lecture 32 klara nahrstedt

27
CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

Upload: shea-campion

Post on 31-Mar-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

 CS 241 Spring 2007System Programming

      

1

Memory Replacement Policies

Lecture 32

Klara Nahrstedt

Page 2: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

2

CS241 Administrative Read Stallings Chapter 8.1 and 8.2 about VM LMP2 (Part II due on Monday, April 16)

See also lecture notes, self-assessment quiz, discussion section

LMP2 quiz on Monday, April 16 If you found Dr. Cerf’s lecture interesting, you can

Pay attention next two weeks in cs241 were we cover socket interfaces to TCP/IP - Internet

Learn more about Internet material in classes cs438 (Communication Networking – TCP/IP), cs425 (Distributed Systems), ece435 (Computer Networking Lab – Implementation of TCP/IP), cs414 (Multimedia Systems), cs463 (Computer Security

Page 3: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

3

Concepts this Lecture

Introduction to Demand Paging

Replacement

Principle of Optimality

Replacement Policies

Page 4: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

4

Introduction to Demand Paging - Paging Policies

Fetch Strategies When should a page be brought into primary (main)

memory from secondary (disk) storage.

Placement StrategiesWhen a page is brought into primary storage, where is

it to be put?

Replacement StrategiesWhich page now in primary storage is to be removed

from primary storage when some other page or segment is to be brought in and there is not enough room.

Page 5: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

5

Demand Paging Example

Load M i

Free frame

Pagetable

VM

reffault

Page 6: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

6

Page Replacement Algorithm

find a free page frame if free page frame use itotherwise, select a page frame using the

page replacement algorithmwrite the selected page to the disk and

update any necessary tables find location of page on diskread the requested page from the disk.restart the user process.

Page 7: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

7

Page Replacement

It is necessary to be careful of synchronization problems. For example, page faults may occur for pages being paged out.

Page 8: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

8

Page Replacement Issues

if no frames are free, a disk read and write of page is required

if the page to be replaced has not been changed since it was read in, it can be discarded and does not need to be copied out to secondary storage.

read only pages are never written but may be shared!

Page 9: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

9

Page Replacement Issues

a dirty bit is set in the page table by hardware to indicate that the page has been modified.

need to minimize page faults.

reference string is the memory references generated by a program.

Page 10: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

10

Page Replacement Strategies

the principle of optimalityreplace the page that will not be used again the

farthest time in the future.random page replacement

choose a page randomlyFIFO - first in first out

replace the page that has been in primary memory the longest

Page 11: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

11

Terminology

Reference string: the memory reference sequence generated by a program.

Paging – moving pages to (from) disk

Optimal – the best (theoretical) strategy

Eviction – throwing something out

Pollution – bringing in useless pages/lines

Page 12: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

12

Page Replacement Strategies

LRU - least recently usedreplace the page not used for the longest time

LFU - least frequently usedreplace the page that is used least often

NUR - not used recentlyan approximation to LRU.

working setkeep in memory those pages that the process is

actively using.

Page 13: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

13

Principal of Optimality

provides a basis for comparison with other schemes.

is difficult to implement because of trying to predict the reference string for a program.

compiler technology can help by providing hints.

Page 14: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

14

Principal of Optimality

if the reference string can be predicted accurately, then shouldn't use demand paging but should use pre-paging instead as this would allow paging activity of pages needed in the future to be overlapped with computation.

Page 15: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

15

Optimal Example

12 references, 7 faults

Page 16: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

16

FIFO

12 references, 9 faults

Page 17: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

17

Paging Behavior with IncreasingNumber of Page Frames

Page 18: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

18

Belady's Anomaly (for FIFO)

As the number of page frames increase, so does the fault rate.

12 references, 10 faults

Page 19: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

19

LRU

12 references, 10 faults

Page 20: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

20

Least Recently Used Issues

does not suffer from Belady's anomaly

use time

record time of reference with page table entry

use counter as clock

search for smallest time.

use stack

remove reference of page from stack (linked list)

push it on top of stack

both approaches require large processing overhead, more space, and hardware support.

Page 21: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

21

LRU and Anomalies

Anomalies cannot occur, why?

12 references, 8 faults

Page 22: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

22

NUR: A LRU Approximationadditional reference bits a register is kept per page

a one bit is set in the register if the page is referenced

the register is shifted by one after some time interval

00110011 would be accessed more recently than 00010111

the page with register holding the lowest number is the least recently used.

the value may not be unique. use fifo to resolve conflicts.

Page 23: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

23

Second Chance

second chance algorithm uses a register size one: a reference bit.

the page table entry has a reference bit

initially, the reference bit for a page is set to 0

when a page is referenced, the page is set to 1

pages are kept in FIFO order using a circular list.

select head of FIFO

Page 24: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

24

Second Chance

if page has reference bit set, reset bit and select next page in FIFO list.

keep processing until reach page with zero reference bit and page that one out.

system v, r4 uses a variant of second chance.

Page 25: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

25

Second Chance Example

12 references, 9 faults

Page 26: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

26

Page Classes

1.(0,0) neither referenced nor dirtied2.(0,1) not referenced (recently) but dirtied3.(1,0) referenced but clean4.(1,1) referenced and dirtied select a page from lowest class if conflict, use random or FIFO.

Page 27: CS 241 Spring 2007 System Programming 1 Memory Replacement Policies Lecture 32 Klara Nahrstedt

27

Summary

Fetch, placement, page replacement.

Demand paging algorithm.

Simple page replacement policies. Optimal

FIFO

LRU

NUR

Second chance, page classes