Hiệu năng của đa chương trình và thời lượng làm việc của hệ điều hành

Một phần của tài liệu Kiến trúc máy tính tiên tiến (Trang 178 - 181)

CÁC KIẾN TRÚC ĐA XỬ LÝ

4.3. Các kiến trúc chia sẻ bộ nhớ

4.3.2. Các kiến trúc chia sẻ bộ nhớ phân tán

4.3.2.4. Hiệu năng của đa chương trình và thời lượng làm việc của hệ điều hành

Trong mục này, chúng ta kiểm tra việc thực hiện bộ nhớ cache của thời lượng làm việc đa chương trình vì kích thước cache và kích thước khối được thay đổi. Do sự khác biệt giữa trạng thái nhân và của người sử dụng bộ nhớ, chúng ta giữ hai thành phần này riêng biệt. Nhớ rằng, mặc dù người sử dụng bộ nhớ thực thi hơn tám

lần lệnh, do đó tỉ lệ bỏ lỡ tổng thể được xác định chủ yếu bằng tỉ lệ bỏ lỡ trong mã người dùng, trong đó chúng ta sẽ thấy, thường là bằng 1/5 tỉ lệ bỏ lỡ nhân (kernel).

Đầu tiên, nhân khởi tạo tất cả các trang trước khi phân bổ chúng cho người sử dụng, trong đó đáng kể là làm tăng thành phần bắt buộc tỉ lệ bỏ lỡ của nhân. Thứ hai, nhân thực chia sẻ dữ liệu và do đó có một sự gắn kết không bình thường bỏ lỡ.

Ngược lại, người sử dụng bộ nhớ gây ra sự gắn kết nhỡ chỉ khi quá trình được lên kế hoạch trên một bộ xử lý khác nhau và tỉ lệ bỏ lỡ của thành phần này là nhỏ.

Hình 4.11 cho thấy tỉ lệ nhớ dữ liệu so với kích thước bộ nhớ cache dữ liệu và kích thước khối với nhân và các thành phần người sử dụng. Tăng kích thước bộ nhớ cache dữ liệu ảnh hưởng đến tỉ lệ nhớ của người sử dụng nhiều hơn ảnh hưởng đến tỉ lệ nhân nhớ. Tăng kích thước khối tác động có lợi cho cả tỉ lệ nhớ, vì một bộ phận lớn hơn của phát sinh nhớ bắt buộc và khả năng của nó, cả hai đều có khả năng được cải tiến với kích thước khối lớn hơn. Để hiểu tại sao nhân và bộ xử lý người dùng vận hành khác nhau, chúng ta có thể nhìn vào cách vận hành của các kernel nhỡ.

Hình 4.11: Tốc độ dữ liệu bị nhỡ cho người dùng và các thành phần nhân vận hành khác nhau để tăng kích thước bộ nhớ cache dữ liệu L1 (bên trái) so với sự tăng kích thước khối cache dữ liệu L1 (bên phải). Tăng bộ nhớ cache dữ liệu L1 từ 32 KB đến 256 KB (với một khối dữ liệu 32 byte) làm cho tỉ lệ người dùng nhớ để giảm tỉ lệ nhân nhớ: mức người dùng nhớ (giảm xuống gần 3), trong khi cấp nhân, tỉ lệ nhớ giảm chỉ theo hệ số 1,3. Tốc độ nhỡ của người dùng và thành phần nhân giảm đều đặn khi kích thước khối L1 được tăng lên (trong khi vẫn giữ bộ nhớ cache L1 32 KB). Ngược lại với những ảnh hưởng của tăng kích thước bộ nhớ cache, tăng kích thước khối cải tiến tỉ lệ hạt nhân nhỡ nhiều hơn đáng kể (khoảng dưới 4 cho tham chiếu cơ bản từ 16 byte đến các khối dữ liệu 128 byte so với hệ số dưới 3 của các tham chiếu người dùng).

Hình 4.12 cho thấy sự thay đổi trong kernel nhỡ so với tăng kích thước bộ nhớ cache và trong kích thước khối. Sự nhỡ được chia làm ba lớp: bắt buộc nhỡ, bộ nhỡ tương quan (cả phân chia đúng và sai) và khả năng/xung đột nhỡ (trong đó bao gồm nhỡ được gây ra bởi sự chèn các hệ điều hành và những bộ xử lý của người sử dụng và giữa nhiều người sử dụng bộ xử lý). Hình 4.12 khẳng định rằng, đối với các truy xuất nhân, tăng kích thước bộ nhớ cache chỉ làm giảm tỉ lệ nhớ của bộ đơn xử lý.

Ngược lại, tăng kích thước khối gây ra sự giảm trong tỉ lệ nhớ bắt buộc. Thiếu sự tăng lớn trong tỉ lệ bộ nhớ tương quan vì kích thước khối được tăng lên, có nghĩa là ảnh hưởng của phân chia sai có thể là không đáng kể, mặc dù có thể xê dịch sự tăng lên từ việc giảm sự phân chia nhớ thực.

Hình 4.12: Các thành phần của dữ liệu nhân nhỡ thay đổi như kích thước bộ nhớ cache dữ liệu L1 được tăng từ 32 KB đến 256 KB, khi thời lượng làm việc đa chương trình là chạy trên tám khối xử lý. Các thành phần bắt buộc nhớ vẫn không đổi, vì nó không bị ảnh hưởng bởi kích thước bộ nhớ cache. Các thành phần công suất giảm hơn 2, trong khi các thành phần liên kết gần như tăng gấp đôi. Việc tăng bộ nhớ tương quan xảy ra vì tần suất của nhớ gây ra bởi sự mất hiệu lực tăng với kích thước bộ nhớ cache, vì đầu vào ít tăng do dung lượng. Như chúng ta mong chờ, sự tăng kích thước khối bộ nhớ cache dữ liệu L1 đáng kể làm giảm tỉ lệ nhớ bắt buộc trong những tham chiếu nhân. Nó cũng có một tác động đáng kể đến dung lượng tốc độ nhỡ, giảm theo hệ số 2,4 so với kích cỡ khối. Kích thước khối tăng có sự giảm bớt trong lưu lượng dữ liệu liên kết, xuất hiện ổn định ở 64 byte, không có sự thay đổi lưu lượng liên kết các nhớ tới đường dây 128-byte. Bởi vì không có sự giảm liên kết đáng kể trong các tỉ lệ nhớ như tăng kích thước khối, các bộ phận của tỉ lệ nhỡ do phát triển liên kết từ khoảng 7% đến khoảng 15%.

Đối với thời lượng làm việc đa chương trình, hệ điều hành là một truy vấn người dùng của hệ thống bộ nhớ. Nếu có nhiều hệ điều hành hay hệ hoạt động giống như hệ điều hành được bao gồm trong thời lượng làm việc và diễn biến tương tự như những gì được đo cho thời lượng làm việc này, nó sẽ trở nên rất khó để xây dựng một hệ thống bộ nhớ có khả năng đầy đủ. Một đường truyền có thể cải thiện hiệu suất là làm cho hệ điều hành nhận biết nhiều cache hơn, thông qua những môi

trường lập trình tốt hơn hoặc thông qua hỗ trợ lập trình. Ví dụ, hệ điều hành sử dụng lại bộ nhớ cho yêu cầu được phát sinh từ các cuộc gọi hệ thống khác nhau. Mặc dù thực tế là bộ nhớ sử dụng lại sẽ hoàn toàn được ghi đè, các phần cứng không nhận ra điều này sẽ thử duy trì liên kết và có thể vài đoạn của khối bộ nhớ cache có thể được đọc. IBM Power có hỗ trợ để cho phép trình biên dịch để chỉ ra diễn biến trên sự dẫn ra thủ tục. Khó mà phát hiện diễn biến này bằng hệ điều hành và làm như vậy có thể đòi hỏi những chương trình hỗ trợ nhưng việc thưởng phạt (pay-off) là có khả năng lớn hơn.

Hình 4.13: Số lượng các byte cần thiết cho mỗi tham chiếu dữ liệu phát triển như kích thước khối được tăng lên cho cả nhân và các thành phần người sử dụng.

Một phần của tài liệu Kiến trúc máy tính tiên tiến (Trang 178 - 181)

Tải bản đầy đủ (PDF)

(260 trang)