Các giải thuật replacement. Hoạt động, ưu, khuyết điểm của các giải thuật.. Giải thuật Least Recently Used LRU Giải thuật Most Recently Used MRU Giải thuật Least Frequently
Trang 1Kiến trúc máy tính nâng cao
Đại học Quốc Gia Tp.HCM Trường Đại học Bách Khoa Khoa Khoa học và Kỹ thuật Máy tính
GVHD: PGS TS Trần Ngọc Thịnh HVTH: Nguyễn Đức Đình Nghĩa (7140248)
Trần Cao Nguyên (7140831) Nguyễn Đức Ngân (7140829) Trương Thị Mỹ Ngọc (7140830) Trần Nam Phong (7141248)
Assignment:
Trang 2 Các giải thuật replacement.
Hoạt động, ưu, khuyết điểm của các giải thuật.
Tối ưu hóa hiệu năng của cache.
Nội dung
Trang 3 Giải thuật Least Recently Used (LRU)
Giải thuật Most Recently Used (MRU)
Giải thuật Least Frequently Used (LFU)
Giải thuật First In – First Out (FIFO)
Các giải thuật replacement
Trang 4Least Recently Used (LRU)
Hoạt động:
Hệ thống sẽ thay thế block được sử dụng cách thời điểm hiện hành xa nhất
(Hoạt động dựa trên ý tưởng: block nào được sử dụng gần nhất thì sẽ còn được sử dụng nhiều lần nữa)
Trang 5Least Recently Used (LRU)
Ưu điểm:
- Hoạt động đơn giản, được áp dụng trên nhiều
processor
- Với cache nhỏ thì LRU hoạt động hiệu quả, hit rate rất cao
Trang 6Least Recently Used (LRU)
Khuyết điểm:
- Khi cache có kích thước càng lớn thì hit rate sẽ
giảm đi rất nhanh
- Tốn chi phí để bố trí thêm bộ đếm-thời-gian cho
mỗi line
- Thời gian xử lý chậm, do: khi 1 block được truy
cập thì các block còn lại đều phải cập nhật bộ
đếm-thời-gian
Trang 7Most Recently Used (MRU)
Mô tả:
- Loại bỏ đối tượng mà được dùng
gần đây nhất
- Giải quyết bài toán như truy vấn
tuần tự (sequential scanning
access pattern) mà những đối
tượng mới được truy xuất chỉ
không được dùng cho tương lai
gần
- Time complexity O(1)
Choud and Dewitt giới thiệu hội
nghị VLDB
Trang 8Most Recently Used (MRU)
Tại mỗi cache line, ta thêm 1 MRU-bit.
MRU-bit = 1 nếu line đó vừa được truy xuất gần đây
là ngược lại
Khi một line được truy xuất, thì MRU-bit = 1
Khi một block không được tìm thấy block đó sẽ được
gán vào line số 0
Nếu chỉ còn lại duy nhất 1 line là 0 thì ta set line đó là
1, sau đó lập tất cả các line còn lại thành 0
(global-flip) Sao cho tại một thời điểm có ít nhất 1 line 0
Trang 9 Hoạt động:
Khi cache cần thay thế 1 line, hệ thống chọn line có
số lần sử dụng thấp nhất để thay thế
+ Chọn khoảng thời gian cho việc đếm số lần sử dụng + Cần có 1 counter cho mỗi line
Least Frequently Used (LFU)
time
1
1
1
1
1
1
1
1
70 40 20 31 50 66 19 82
79
5 7 1 6 6 8 9 10
70 40 79 31 50 66 19 82
8 9 5 8 6 12 10 11
70 40 79 31 50 66 19 82
5 7 4 6 6 8 9 10
70 40 20 31 50 66 19 82
Trang 10 Ưu điểm:
+ Hoạt động đơn giản, dễ triển khai
+ Hiệu quả cao Khi dung lượng cache tăng thì tỉ lệ miss rate không quá lớn so với hit rate
Khuyết điểm:
+ Hoạt động: các line mới vào cache rất dễ bị thay thế
Kém phù hợp với Full-Associate
Least Frequently Used (LFU)
Trang 11Giải thuật First In – First Out (FIFO)
Mô tả:
Là ánh xạ liên kết rất đơn giản, nó thực hiện dựa theo nguyên tắc Vào trước – Ra trước (First in – first out) Nghĩa là các block cũ nhất trong bộ nhớ cache sẽ được chọn để thay thế đầu tiên
Trang 12 Ví dụ minh họa FIFO:
Giải thuật First In – First Out (FIFO)
Trang 13 Ưu điểm:
Dễ cài đặt trên các phần cứng.
Đơn giản và chạy nhanh khi dùng cấu trúc
mảng và chỉ mục.
Giải thuật First In – First Out (FIFO)
Trang 14 Nhược điểm:
Là giải thuật kém thông minh.
Không hiệu quả trong trường hợp muốn
giữ lại những phần đã sử dụng thường xuyên trong bộ nhớ cache.
Giải thuật First In – First Out (FIFO)
Trang 15Tối ưu hóa hiệu năng của cache
3 yếu tố thuộc về hiệu năng của cache:
Hit time.
Miss rate.
Miss penalty.
Trang 16Tối ưu hóa hiệu năng của cache
Hit time:
+ Dung lượng cache nhỏ
+ Cách tổ chức lưu trữ block đơn giản
+ Thêm bộ bit dự đoán để đoán trước block sẽ truy cập tiếp theo (Way-Prediction)
Trang 17Tối ưu hóa hiệu năng của cache
Miss rate:
+ Dung lượng cache lớn
+ Dung lượng block lớn
Sử dụng thêm cache thứ cấp để lưu sẵn block + Tăng cường mức độ associative trong các giải thuật + Tối ưu hóa compiler (sắp xếp thứ tự code)
Trang 18Tối ưu hóa hiệu năng của cache
Miss penalty:
+ Sử dụng non-blocking cache để giảm stall ở processor + Sử dụng kỹ thuật Critical Word First
+ Sử dụng thêm bộ nhớ đệm cho việc ghi (Write Buffer)
Trang 19Tài liệu tham khảo
[1] William Stallings Computer Organization and Architecture
Designing for Performance, 9th Edition Prentice Hall, 2013.
[2] Mostafa Abd-El-Barr, Hesham El-Rewini Fundamentals of
Computer Organization and Architecture John Wiley & Sons, 2005 [3] https://www.usenix.org/legacy/event/usenix01/full_papers/zhou/ zhou_html/node3.html
Trang 20Q&A