1 overview assignment 4: hints memory management assignment 3: solution
TRANSCRIPT
![Page 1: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/1.jpg)
1
Overview Assignment 4: hints
Memory management Assignment 3: solution
![Page 2: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/2.jpg)
2
A4 Ex.1 – Loading Page Tables The whole page table is copied to the
hardware when the process is scheduledAdvantage?Disadvantage?
Compute the fraction of the CPU time devoted to loading the page tables32-bit address space, 8 KB pages1 word / 100nseach process runs for 100 msec
![Page 3: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/3.jpg)
3
Ex.2 – Using TLBs A computer keeps its page tables in
memory and uses a small TLB System parameters:
32 TLB entriesTLB lookup time 10 nsec page table lookup 50 nsec
What hit rate is needed to have a mean access time of 20 nsec?
![Page 4: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/4.jpg)
4
Ex.2 – Using TLBs (cont) Page table entry
(Virtual Address, Physical Page Frame) In a multi-process system
two different page frames may be mapped to the same virtual address of two processes
how do you store this info in the TLB?
How does a TLB function in a system with multiple processes?
![Page 5: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/5.jpg)
5
Ex.3 – Memory Size The time to execute an instruction is
1 µsec2001 µsec if a page fault occurs
A program has15.000 page faultsan execution time of 60 sec
We double the memory size the interval between the page faults is doubled Is now the program twice as fast as before?
![Page 6: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/6.jpg)
6
Ex.5 – The Aging Algorithm Reference bit for every page Shift age-counter right (1 bit) Copy reference bit as the left-most bit of
the age-counter Which page do we swap out on a fault?
Age-counter
Ref.MSB LSB
![Page 7: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/7.jpg)
7
Ex.5 – The Aging Algorithm (cont)
Problems with this algorithm? Hint 1: We record only one bit per interval
and the algorithm’s tick interval is different than the system clock tick.
Hint 2: The counters have a finite number of bits.
![Page 8: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/8.jpg)
8
Ex.6 – Virtual Address Translation
CR3 (reg)
Global table Middle table Offset
TLB
swapped?
TLB hit
TLB
mis
sPT lookup:- PT in memory- PT on disk
Page Frame on disk:- Free space (RAM)- No space Swap out
![Page 9: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/9.jpg)
9
Ex.6 – Program Run Time Application
TLB hit rate is 75% number of memory access is 55.500.000 Page fault rate 0.005
System performance for this application average PT access time is 130 nsec average DRAM access time is 50 nsec average disk access time is 9 msec
Which is the application run time on this system? on a system with a faster disk with an access time of
6 msec?
![Page 10: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/10.jpg)
10
Overview Assignment 4: hints
Memory management Assignment 3: solution
![Page 11: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/11.jpg)
11
A3 Ex.1 – 64-bit addressing – Size the size of the addressable memory in bytes
the number of 100GB disks to store the whole address space (Seagate in 1 year 7.4*10^15B)
the time to read the whole memory with a transfer rate of 1GB/s
1964 108.12 bytes
864
10171798692100
2
GB
bytes
yearssGB
bytes5454s1717986918
/1
264
![Page 12: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/12.jpg)
12
Ex.1 – Page Table Size the size of a simple linear page table with the
following page sizes: 4KB, 128KB and 4MB
A minimal table line is composed of: the real page address (64 – offset bits) present flag (1 bit) protection flags (3 bits) modified flag (1 bit) referenced flag (1 bit) cache disable flag (1 bit)
![Page 13: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/13.jpg)
13
Ex.1 – Page Table Size (cont) 4KB pages (12 bits for the offset)
an address is composed of 52 bits for the page address and 12 for the offset
we have 252 pages each page table entry is 52 + 7 = 59 bits (7.3 bytes, 8
bytes because of alignment) page table size = 252 · 8 = 32768 TB
128KB pages (17 bits for the offset) page table size = 247 · 7 = 896 TB
4MB pages (22 bits for the offset) page table size = 242 · 7 = 28 TB
![Page 14: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/14.jpg)
14
Ex.2 Inverted Tables Two different virtual pages of the same
process may be mapped to the same physical page
Two equal virtual addresses of different processes may be mapped to the same physical page
Store (PID, Virtual Address)Avoid collisions: use also process page
tables, link related entries, use clever hash functions
![Page 15: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/15.jpg)
15
Ex.3 – IA-64 Which is the idea behind region registers?
The first three bits of an address corresponds to a register which specifies which memory region has to be used. Each 24 bit register can address 224 regions and in this way the range of possible addresses is increased to 85 bits (61 bits for each region).
Regions allows an efficient management of processes (heavy-weight) for multi-tasking environments.
What does pinning mean? Why and where is it used?
Pinning is used to mark a page as non-swappable. For example to keep kernel pages in memory.
![Page 16: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/16.jpg)
16
Ex.3 – IA-64 Which page sizes are supported? Which size would you choose for
stack, heap, mapped I/O and video frame buffer?
Supported sizes: 4KB, 8KB, 16KB, 64KB, 256KB, 1MB, 4MB, 16MB, 64MB, 256MB, 4GB stack: as small as possible (4KB) heap: depending on system constraints mapped I/O: device matching size (usually 4KB – 16KB) video-buffer: 4MB or 16MB
Which TLBs are implemented?
Instruction (ITLB) and data (DTLB)
Which are the allowed operations on TLBs?
Loading, unloading and pinning
![Page 17: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/17.jpg)
17
Ex.3 – IA-64 Which access rights are supported?
Write disable, read disable, execute disable and domain
What is a virtual hash page table (VHPT)? How can this be used?
The VHPT is an hash table to map addresses. It is implemented in software and is used as an extension of the TLB hierarchy to speed up an address lookup.
![Page 18: 1 Overview Assignment 4: hints Memory management Assignment 3: solution](https://reader036.vdocuments.us/reader036/viewer/2022062511/5519b4bb55034667578b4754/html5/thumbnails/18.jpg)
18
Ex.3 – IA-64 What is virtual aliasing? How and where is
this harmful?
We have virtual aliasing when more than one virtual page is mapped to the same physical page.
On some Itanium models the performance can be degraded when the distance between virtual aliases is less than 1 MB.