Slide tên đề tài designing and evaluating an IO system—the internet archive cluster

17 540 0
Slide tên đề tài designing and evaluating an IO system—the internet archive cluster

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 Một khi chúng ta có một hoạt động nguyên tử, chúng ta có thể sử dụng các cơ chế đa gắn kết để thực hiện các ổ khóa quay: ổ khóa mà một bộ xử lý liên tục cố gắng để có được, quay xung quanh một vòng lặp cho đến khi nó thành công Nếu hỗ trợ sự đa gắn kết bộ nhớ cache, có thể bộ nhớ cache ổ khóa bằng cách sử dụng cơ chế gắn kết để duy trì giá trị khóa mạch lạc. Ổ khóa bộ nhớ đệm có hai lợi thế. Đầu tiên, nó cho phép thực hiện quá trình "quay" (cố gắng để kiểm tra và có được khóa chặt trong một vòng lặp) có thể được thực hiện trên một bản sao lưu trữ địa phương hơn là đòi hỏi một bộ nhớ truy cập toàn cầu trên mỗi cố gắng để có được khóa. Ưu điểm thứ hai đến từ sự quan sát thường có địa phương truy cập khóa: đó là, bộ xử lý sử dụng các khóa cuối cùng sẽ sử dụng nó một lần nữa trong tương lai gần. Trong những trường hợp như vậy, giá trị khóa có thể cư trú trong bộ nhớ cache của bộ xử lý, giúp giảm thiểu thời gian để có được khóa. 3. Thử hiệu suất đồng bộ hóa Hình 1.2 Hình 1.2 Thời gian để tiếp thu và phát hành một khóa duy nhất 10 bộ vi xử lý tranh cho khóa, giả sử mỗi giao dịch đường dẫn có 100 chu kỳ đồng hồ. Gây ra trọng tài Bus công bằng, bộ vi xử lý phát hành phải chờ đợi cho tất cả 9 Proces-sors cố gắng để có được các khóa vô ích!. Hình này còn cho thấy trình tự các sự kiện từ thời điểm, thời gian phát hành để phát hành kế tiếp. Tất nhiên, số lượng các bộ vi xử lý, chăm sóc con cho khóa giảm một thời gian mỗi khóa được mua lại, tái duces chi phí trung bình 1.550 chu kỳ. Vì vậy, trong 10 cặp khóa, mở khóa, nó sẽ mất hơn 15.000 chu kỳ cho các bộ vi xử lý để vượt qua thông qua các khóa. Fur-thermore, bộ xử lý trung bình sẽ dành một nửa thời gian nhàn rỗi này, chỉ cần thử để có được khóa. Rào chắn đồng bộ: Một bổ sung hoạt động đồng bộ hóa phổ biến trong các chương trình với các vòng song song là một rào cản. Một rào cản buộc tất cả các quy trình để chờ đợi cho đến khi tất cả các quá trình đạt đến ngưỡng và sau đó phát hành tất cả các quá trình. Một thực hiện điển hình của một rào cản có thể được thực hiện với hai ổ khóa quay: một được sử dụng để bảo vệ truy cập mà trả khớp quá trình đến hàng rào và một sử dụng để giữ quá trình un-til quá trình cuối cùng đến hàng rào Trên đây là một thực hiện điển hình, giả định rằng khóa và mở khóa cung cấp ổ khóa quay cơ bản và tổng số là số lượng các quá trình phải đạt đến ngưỡng đó. Trong thực tế, biến chứng khác làm cho rào cản thực hiện hơi phức tạp hơn. Thường xuyên hàng rào được 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... để 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ờ... 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... 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 của các bộ vi xử lý chờ đợi và khóa tay một cách rõ ràng, khi lần lượt của nó đến Sắp xếp của cơ chế này đã được gọi là một khóa xếp hàng Làm thế nào để một khóa... 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... chỉ đơn giản là trả lại cho bộ xử lý Nếu khóa không có sẵn, Lớp kiểm soát tạo ra một danh sách về yêu cầu của nút (ví dụ như là một bit trong một véc tơ) và gửi các bộ vi xử lý lại một giá trị khóa cho các biến, các bộ vi xử lý sau đó quay vào Khi khóa được giải phóng, bộ điều khiển lựa chọn một bộ xử lý đi trước từ danh sách của các bộ vi xử lý chờ đợi Nó có thể sau đó, hoặc cập nhật các biến khóa trong... xử lý được lựa chọn hoặc vô hiệu sao chép, gây ra các bộ vi xử lý bỏ lỡ và lấy một bản sao của khóa Khóa xếp hàng có thể được sử dụng để cải thiện hiệu suất của các rào cản Như chúng ta đã thấy, vấn đề đồng bộ hóa có thể trở nên khá cấp ở đa xử lý quy mô lớn hơn Khi những thách thức đặt ra bởi đồng bộ cùng với những thách thức đặt ra do độ trễ bộ nhớ lâu dài và tiềm năng trong tính toán tải cân bằng,

Ngày đăng: 07/01/2014, 10:45

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan