TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TIỂU LUẬN MÔN: KiẾN TRÚC MÁY TÍNH TIÊN TiẾN
Designing and Evaluating an I/O System
—The Internet Archive Cluster
Giáo viên: TS.Nguyễn Hồng Quang
Họ và tên học viên:
Nguyễn Văn Tuân - SHHV : CA120633 ;
Chuyên ngành : Công nghệ thông tin Lớp: CNTT-HY CH2012A
Hưng Yên, tháng 08/2012
NỘI DUNG
1. Cơ bản phần cứng nguyên thủy
2. Thực hiện khóa sử dụng phù hợp
3. Thử hiệu suất đồng bộ hóa
4. Đồng bộ hóa cho các đa xử lý quy mô lớn hơn
1. Cơ Bản Phần Cứng Nguyên Thủy
Là các khối xây dựng cơ bản được sử dụng để xây dựng một tập rộng của hoạt động đồng bộ hóa người dung, bao
gồm tất cả các thứ như ổ khóa và các rào cản.
Một điển hình hoạt động để xây dựng các hoạt động đồng bộ hóa là trao đổi nguyên tử, giao một giá trị trong một sổ đăng ký
cho một giá trị trong bộ nhớ.
Các cặp hướng dẫn bao gồm một tải trọng đặc biệt gọi là một tải trọng liên kết hoặc tải bị khóa và bộ lưu trữ đặc biệt được
gọi là một bộ lưu trữ có điều kiện.
Các cặp hướng dẫn bao gồm một tải trọng đặc biệt gọi là một tải trọng liên kết hoặc tải bị khóa và bộ lưu trữ đặc
biệt được gọi là một bộ lưu trữ có điều kiện. Những hướng dẫn này được sử dụng theo thứ tự: Nếu nội dung của
vị trí bộ nhớ được chỉ định bởi tải trọng liên kết được thay đổi trước khi các bộ lưu trữ có điều kiện đến cùng một
địa chỉ xảy ra, sau đó các cửa bộ lưu trữ không có điều kiện. Nếu bộ xử lý hiện một bối cảnh chuyển đổi giữa hai-
structions, sau đó các bọ lưu trữ có điều kiện cũng không thành công. Các bộ lưu trữ có điều kiện được định nghĩa
để trả về một giá trị có hay không các bộ lưu trữ đã thành công. Kể từ khi tải liên kết trả về giá trị ban đầu và các bộ
lưu trữ có điều kiện trả về 1 nếu nó thành công và 0 nếu ngược lại, trình tự sau đây thực hiện một cuộc trao đổi
nguyên tử vào vị trí bộ nhớ quy định các nội dung của R1
2.Thực hiện khóa sử dụng phù hợp
sử dụng trong một vòng lặp, do đó quá trình phát hành từ rào cản sẽ làm một số công việc và sau đó đạt đến
ngưỡng đó một lần nữa. Giả sử rằng một trong các quá trình không bao giờ thực sự rời khỏi rào cản, mà có
thể xảy ra nếu hệ điều hành lên kế hoạch một quá trình khác.
Đồng bộ hóa hiệu suất có thể là một nút cổ chai thực sự khi có tranh đáng kể trong nhiều quy trình.
Khi có chút ganh đua và hoạt động đồng bộ hóa không thường xuyên, chúng tôi chủ yếu quan tâm về độ trễ
của một đồng bộ hóa nguyên thủy đó là, phải mất bao lâu một quá trình cá nhân để hoàn thành một hoạt
động đồng bộ hóa. Hoạt động spin-khóa cơ bản của chúng tôi có thể làm điều này trong hai chu kỳ bus: một
bước đầu đọc khóa và một để viết nó. Chúng ta có thể cải thiện một chu kỳ bus duy nhất bằng một thay đôie
các phương pháp.
4.Đồng bộ hóa các đa xử lý lớn hơn
4.1 Cài đặt phần mềm
Khó khăn lớn nhất với việc thực hiện quay khóa của chúng tôi là sự chậm trễ do vỏ bảo vệ khi quá trình quay
vào khóa. Một giải pháp là quá trình chậm trễ móng biệt khi họ không có được khóa. Hiệu suất tốt nhất thu
được bằng cách tăng chậm trễ theo cấp số nhân bất cứ khi nào cố gắng để có được các khóa không. Việc thực
hiện này vẫn cố gắng để duy trì độ trễ thấp khi tranh nhỏ bằng cách không trì hoãn các vòng lặp quay ban đầu.
Cũng có thể trì hoãn quá trình đó, nhưng kết quả sẽ là ít thực hiện khi khóa là chỉ có hai quá trình sử dụng và
một trong những đầu tiên đã xảy ra để tìm thấy nó đã bị khóa.
Một kỹ thuật thực hiện cho các ổ khóa là sử dụng ổ khóa xếp hàng. Hàng đợi khóa làm việc bằng cách xây
dựng một danh sách các bộ vi xử lý chờ đợi, bất cứ khi nào một bộ xử lý sẽ giải phóng các khóa, nó gây ra các
bộ vi xử lý tiếp theo trong hàng đợi để cố gắng truy cập. Điều này giúp loại bỏ ganh đua cho một khóa khi nó
được giải phóng. Cách xếp hàng vận hành khóa trong phần tiếp theo bằng cách sử dụng một phần cứng.
4.2 Phần cứng ban đầu
Trong phần này chúng ta nhìn vào hai nguyên thủy đồng bộ hóa phần cứng. Các nguyên thủy đầu tiên giao dịch
với các ổ khóa, trong khi thứ hai là hữu ích cho các rào cản và một số hoạt động khác người sử dụng cấp đòi hỏi
phải tính hoặc cung cấp các chỉ số khác biệt.
Vấn đề chính với việc thực hiện khóa ban đầu là giới thiệu một số lượng lớn tranh không cần thiết. Ví dụ, khi
khóa được phát hành tất cả các bộ xử lý tạo ra cả hai đọc và viết một lỡ, mặc dù nhiều nhất một Proces-Sor thành
công có thể có được khóa ở trạng thái mở khóa. Trình tự này xảy ra trong số 20 trình tự khóa / mở khóa
Có thể cải thiện tình trạng này bằng một cách trao khóa từ bộ xử lý chờ đợi tiếp theo. Thay vì chỉ đơn giản là cho
phép tất cả các bộ xử lý để cạnh tranh phát hiện phần cứng thời gian khóa được phát hành, giữ một danh sách