Hiêu suất của bộ nhớ đa xử lý đối xúng được chia sẻ...trang 5 3.1 Hiệu suất đo khối lượng công việc thương mại...trang 5 3.2 Hiệu suất của đa chương trình và khối lượng công việc của hệ
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-* -ĐỀ TÀI TIỂU LUẬN
KIẾN TRÚC MÁY TÍNH TIÊN TIẾN
TÊN ĐỀ TÀI Hiệu suất cho I/O, đo lường độ tin cậy, định chuẩn
Giảng viên hướng dẫn:
TS Nguyễn Hồng Quang
Học viên: Phạm Thu Thuận - SHHV : CA120625
Lớp: CNTT-HY CH2012A
Hưng Yên, tháng 08 năm 2012
Trang 2NHẬN XÉT CỦA GIẢNG VIÊN GIẢNG DẠY
GIẢNG VIÊN GIẢNG DẠY
TS Nguyễn Hồng Quang
Trang 3MỤC LỤC
Mục lục trang 3 Nội dung trang 4
1 Khái niệm đa xử lý trang 4
2 Hiệu suất kiến trúc trang 5
3 Hiêu suất của bộ nhớ đa xử lý đối xúng được chia sẻ trang 5 3.1 Hiệu suất đo khối lượng công việc thương mại trang 5 3.2 Hiệu suất của đa chương trình và khối lượng công việc của hệ điều hành trang 8 3.3 Hiệu suất cho các khối lượng công việc khoa học kỹ thuật trang 10 Kết luận trang 13
Trang 4Hình 1.1 Các hệ thống đa xử lý
M¹ng kÕt nèi N
Ethernet/SCSI
M1 I/O
P1
M1 I/O
P1
M1 I/O P1
(a)Đa xử lý với bộ nhớ toàn cục
(b) Đa xử lý với các bộ nhớ ph©n t¸n
NỘI DUNG
1.Khái niệm đa xử lý
Một hệ thống đa xử lý phải có ít nhất hai bộ xử lý (P) với các khả năng thực hiện xấp xỉ hoặc giống nhau
Tất cả các bộ xử lý trong hệ thống đa xử lý cùng chia sẻ một bộ nhớ dùng chung
Tất cả các bộ xử lý chia sẻ truy nhập tới các kênh I/O, các đơn vị điều khiển và các thiết bị Trong hệ thống đa xử lý các thành phần kết nối chặt chẽ và được điều khiển bởi một hệ điều hành chung
Hệ thống đa xử lý là một máy tính MIMD
Hệ thống đa xử lý khác với các hệ thống phân tán nhiều máy và mạng máy tính ở chỗ các hệ thống này các máy tính có liên kết lỏng lẻo và có thể chạy trên hệ điều hành khác nhau, thực hiện độc lập các nhiệm vụ riêng biệt
Có hai lý do đưa ra kiến trúc đa xử lý vào trong một máy tính: đó là nâng cao hiệu suất và
độ tin cậy Hiệu suất của máy tính được nâng cao nhờ các P chia sẻ tải khi cùng thực hiện một nhiệm vụ quá lớn và đồng thời thực hiện các nhiệm vụ nhỏ lẻ (xử lý song song) Độ tin cậy được tăng lên vì khi có một P bị hỏng thì chức năng của nó được các P còn lại gánh lấy, nhờ vậy, toàn
bộ hệ thống máy tính vẫn hoạt động bình thường (hiệu suất có thể giảm đi chút ít)
Các loại đa xử lý: hệ thống đa xử lý có thể được phân loại dựa trên tổ chức của các hệ thống
bộ nhớ chính của chúng Đó là, máy tính bộ nhớ phân tán (hình 1.1) là hệ thống đa xử lý chia sẻ
bộ nhớ và cấu hình máy tính bộ nhớ phân tán là hệ thống đa xử lý phân tán bộ nhớ Hai cấu trúc này kết hợp với nhau tạo nên đa xử lý với bộ nhớ toàn cục và đa xử lý với các bộ nhớ phân tán Trong các kiến trúc này các đơn vị xử lý có các đơn vị nhớ riêng và đơn vị I/O riêng Các đơn vị
xử lý kết nối với nhau, chia sẻ bộ nhớ dùng chung (global memory) và IO chung (global IO) thông qua bus chung (global bus) Các đơn vị IO và đơn vị nhớ cục bộ riêng kết nối với Pi riêng thông qua bus cục bộ (local bus)
Trang 54
m, Số lượng các mô đun nhớ
n= 4 n= 3 n= 2
3
nn = 1 2
nn = 1 1
nn = 1 0
nn = 1
1 2 3 4 5 6 7 8
m, sè l îng c¸c m« ®un nhí
Hình 1.2 Hiệu suất của bộ xử lý chia sẻ bộ nhớ
2.Hiệu suất của kiến trúc
Kiến trúc đa xử lý với n thành phần xử lý P lý tưởng có thể cho S(n)=n, với băng thông dữ liệu và lệnh là b thì có thể đạt được hiệu suất là nb Giả sử, một bộ đa xử lý gồm n đơn vị xử lý: P1, P2, , Pn, và có m đơn vị nhớ: M1, M2, ,Mm kết nối theo kiến trúc bus giao nhau (cross) Tất cả các dữ liệu và chương trình cất ở trong module nhớ Mm Băng thông của lệnh hoặc dữ liệu của Pj là b tỷ lệ với tốc độ truy nhập của Pj tới đơn vị nhớ, mà tốc độ truy nhập đơn vị nhớ lại phụ thuộc vào số lượng trung bình B các đơn vị bận nhớ Xác suất truy nhập đơn vị nhớ (đọc hoặc ghi) Mj của bất kỳ đơn vị Pj là 1/m Xác suất đơn vị nhớ Mj bận là 1−(1−(1/m)) n Khi
Mj bận, thì yêu caaif mà nó nhận được không thể phục vụ ngay, phải chờ cho đến khi Mj rỗi, như vậy, giá trị sẽ là:
B= ∑
i=1
m
pi= m [ 1− ( 1− 1
m )n]
Nếu n , B m và m cố định, tương tự n cố định và m thì B=n Hình 1.2 là đồ thị giá trị B phụ thuộc vào số lượng PE, số lượng M trong một bộ xử lý chia sẻ bộ nhớ
3 Hiệu suất của bộ nhớ đa xử lý đối xứng được chia sẻ
3.1 Hiệu suất đo khối lượng công việc thương mại
Các phép đo thực hiện khối lượng công việc thương mại, đã được thực hiện hoặc một Alphaserver 4100, hoặc bằng cách sử dụng một mô phỏng cấu hình theo mô hình sau khi Alphaserver 4100 Alphaserver 4100 được sử dụng cho các phép đo có bốn bộ vi xử lý, mỗi
Trang 6trong số đó là một Alpha 21164-ning chạy ở 300 MHz Mỗi bộ xử lý có một hệ thống phân cấp
bộ nhớ cache cấp ba:
L1 bao gồm một cặp 8 KB cache ánh xạ trực tiếp trên chip, một hướng dẫn và một cho dữ liệu Các kích thước khối là 32-byte, và bộ nhớ cache dữ liệu là ghi thông qua L2, bằng cách sử dụng một bộ đệm ghi
L2 là 96 KB onchip thống nhất 3-way tập Cache liên kết với một kích thước khối 32-byte, bằng cách sử dụng ghi lại
L3 là một off-chip, kết hợp, ánh xạ trực tiếp 2 MB cache với các khối 64-byte cũng có thể sử dụng ghi lại
Độ trễ cho một truy cập vào L2 là 7 chu kỳ, L3 nó là 21 chu kỳ, và bộ nhớ chính là 80 chu kỳ đồng hồ (điển hình mà không có tranh chấp)
Hình 1.3 thời gian thực hiện phân tích cho ba chương trình (OLTP, DSS, và Altavista) trong khối lượng công việc thương mại Các số DSS là mức trung bình trên sáu truy vấn khác nhau CPI rất khác nhau từ mức thấp 1,3 Al-tavista, đến 1,61 cho các truy vấn DSS, 7.0 cho Oracle
Trang 7Hình 1.4 khi khối lượng công việc OLTP yêu cầu nhiều nhất từ bộ nhớ hệ thống với số lượng lớn đắt cấp cao L3 bỏ lỡ, Kiểm tra tác động của kích thước bộ nhớ cache L3, số bộ xử lý, và kích thước khối trên chuẩn OLTP Hình này cho thấy tác dụng tăng kích thước bộ nhớ cache, sử dụng 2 cách thiết lập cache kết hợp, làm giảm số lượng lớn bỏ lỡ cuộc xung đột Thời gian thực hiện được chứng minh là bộ nhớ cache L3 lớn do giảm L3 nhớ Thời gian nhàn rỗi cũng tăng, thực hiện giảm một số lợi nhuận Sự tăng trưởng này xảy ra bởi vì các quầy hàng bày ít bộ nhớ hệ thống, quy trình máy chủ là cần thiết để trang trải các I / O độ trễ Các hoạt động tương đối của khối lượng công việc OLTP như kích thước của bộ nhớ cache L3, được thiết lập như là thiết lập liên kết 2 chiều ,
được phát triển từ 1 MB đến 8MB Thật thú vị , hiệu suất của 1 MB, bộ nhớ cache bộ kết hợp 2 chiều là rất tương tự như MB bộ nhớ cache ánh xạ trực tiếp 2 được sử dụng trong Alphaserver 4100
Hình 1.5 cho thấy dữ liệu này, hiển thị số chu kỳ truy cập bộ nhớ theo hướng dẫn đóng góp từ năm nguồn Hai nguồn lớn nhất của bộ nhớ truy cập trở ngại (do bỏ lỡ L3) với 1 MB L3 là hướng dẫn và năng lực / xung đột nhớ Với L3 lớn hơn hai nguồn thu nhỏ là đóng góp nhỏ Như vậy, 4 và 8 MB, chia sẻ thật sự bỏ lỡ tạo ra các phần chi phối của các bỏ lỡ
Việc tăng kích thước bộ nhớ cache loại bỏ hầu hết các bộ xử lý đơn bỏ lỡ, trong khi để lại nhiều việc bỏ lỡ bị ảnh hưởng Làm thế nào để tăng tính chuyên nghiệp-mức ảnh hưởng đến các loại
Trang 8khác nhau của việc bỏ lỡ? Như chúng ta có thể mong đợi, sự gia tăng trong tỷ lệ thực sự bỏ lỡ chia sẻ, mà không được bồi thường của bất kỳ giảm trong bộ xử lý đơn nhớ, dẫn đến tăng tổng thể trong các chu kỳ truy cập bộ nhớ theo hướng dẫn
3.2 Hiệu suất của đa chương trình và khối lượng công việc hệ điều hành
Kiểm tra việc thực hiện khối lượng công việc của bộ nhớ cache
Hình 1.6 số bỏ lỡ mỗi một ngàn hướng dẫn giảm đều đặn như kích thước khối của bộ nhớ cache L3 được tăng lên làm cho một trường hợp tốt cho một kích thước khối L3 của ít nhất 128 byte Các bộ nhớ cache L3 là 2MB, 2 cách thiết lập liên kết kịp thời.
Hình 1.7 Các dữ liệu không đúng tốc độ giảm nhanh hơn cho các mã người sử dụng hơn so với mã hạt
nhân là bộ nhớ cache dữ liệu là ở nếp nhăn từ 32 KB đến 256 KB với một khối 32-byte Mặc dù mức độ tỷ lệ người dùng bỏ lỡ giảm một yếu tố của 3, tỷ lệ cấp hạt nhân bỏ lỡ giảm xuống chỉ bằng một yếu tố là 1,3.
Hình 1.8 Các thành phần của các dữ liệu hạt nhân không thay đổi tỷ lệ là kích thước bộ nhớ cache dữ liệu được tăng lên từ 32KB đến 256 KB, khi khối lượng công việc multiprogramming được chạy trên tám bộ xử lý Các thành phần bỏ lỡ tỷ lệ bắt buộc vẫn không đổi , vì nó là không bị ảnh hưởng bởi kích thước bộ nhớ cache Các
Trang 9thành phần công suất sẽ giảm nhiều hơn so với một yếu tố của hai , trong khi các thành phần gắn kết gần như tăng gấp đôi Sự gia tăng sự gắn kết bỏ lỡ xảy ra bởi vì xác suất của một bỏ lỡ được gây ra không còn hiệu lực tăng lên với kích thước bộ nhớ cache , vì mục ít được va đập do năng lực
Hình 1.9 tỷ lệ khối lượng công việc đa chương trình giảm xuống đều đặn như kích thước khối được gia
tăng cho 32 KB bộ hai cách kết hợp dữ liệu bộ nhớ cache và một đa tám CPU
Trang 10Hình 1.10 Tăng kích thước khối là có thể có tác dụng mang lại lợi ích cho khối lượng công việc này, vì một phần lớn hơn của các bỏ lỡ khả năng phát sinh của các bỏ lỡ là bắt buộc , cả hai đều có thể được có khả năng cải thiện với các kích thước khối lớn hơn.
3.3 Hiệu suất cho các khối lượng công việc khoa học/kỹ thuật
Hình 1.11 Số byte cần thiết cho mỗi dữ liệu tham khảo phát triển như kích thước khối tăng lên đối với cả hai hạt
nhân và các thành phần người sử dụng
Hình 1.12 tăng số lượng các bộ vi xử lý, tổng số lượng bộ nhớ cache trong, nếp nhăn, thường gây ra khả năng
bỏ lỡ để thả Ngược lại, tăng số lượng bộ vi xử lý thường là nguyên nhân số lượng thông tin liên lạc tăng lên, lần lượt gây ra sự gắn kết các nhớ tăng lên.
Hình 1.13
Trang 11- Tăng kích thước bộ nhớ cache thường có tác dụng mang lại lợi ích về hiệu suất, vì nó làm giảm tần số của bộ nhớ cache bỏ lỡ tốn kém
Hình 1.14 minh họa sự thay đổi trong tốc độ miss là kích thước bộ nhớ cache tăng lên 16 đối với bộ vi xử lý , hiển thị phần của tỷ lệ bỏ lỡ do bỏ lỡ sự gắn kết và bộ xử lý đơn khả năng bỏ lỡ Hai hiệu ứng có thể dẫn đến một tỷ lệ bỏ lỡ điều đó không làm giảm ít nhất không phải là một cách nhanh chóng để tăng kích thước bộ nhớ cache
- Tăng kích thước khối là một cách khác để thay đổi tỷ lệ bỏ lỡ trong một bộ nhớ cache
Hình 1.15: Tỷ lệ bỏ lỡ như kích thước khối bộ nhớ cache được gia tăng cho chạy một bọ vi xử lý 16 với bộ nhơ cache 64kb Tốc độ dữ liệu bỏ lỡ sẽ giảm khi kích thước khối bộ nhớ cache tăng lên
Tóm tắt : Thiết kế bộ nhớ cache
Trang 12Hình 1.16 Bus lưu lượng truy cập cho dữ liệu tăng lên như kích thước khối trong bộ nhớ cache dữ liệu được tăng lên.
+ Để thay đổi kích thước bộ nhớ cache, kích thước khối thường được sử dụng để cải thiện hiệu suất bộ xử lý cache đơn
+ Trong khối lượng công việc đa chương trình, người sử dụng và hệ điều hành phần thực hiện rất khác nhau, mặc dù không có sự gắn kết lưu lượng truy cập đáng kể Trong phần hệ điều hành, sự đóng góp bắt buộc và khả năng tỷ lệ bỏ lỡ là lớn hơn nhiều, dẫn đến tổng thể bỏ lỡ tỷ lệ với các chương trình tồi tệ nhất trong khối lượng công việc chương trình song song Hiệu suất
sử dụng bộ nhớ cache, mặt khác, là rất tốt và so sánh các chương trình tốt nhất trong khối lượng công việc chương trình song song
Yêu cầu sự gắn kết là một thành phần quan trọng nhưng không áp đảo trong khối lượng công việc xử lý khoa học Tuy nhiên, yêu cầu sự gắn kết sẽ quan trọng hơn trong các chương trình song song ít tối ưu
Trang 13KẾT LUẬN
Sau thời gian tìm hiểu và nghiên cứu đề tài, em đã tìm hiểu được các nội dung:
Tìm hiểu về đa xử lý
Tìm hiểu về các hiệu suất của bộ nhớ
Tuy nhiên, trong thời gian thực hiện đề tài do vốn tiếng anh của em còn kém nên không thể tránh khỏi một số hạn chế trong khi tìm hiểu miền kiến thức mới này
Với những thiếu xót trong lần làm đề tài này, rất mong nhận được sự đóng góp ý kiến từ Thầy để em hoàn thành bài tiểu luận tốt hơn