Tạo phân vùng cân bằng

Một phần của tài liệu Xử lý tích hợp XML theo XPEDIA (Trang 26 - 27)

Lược đồ lớn đề cập trước đó tạo ra kích thước bằng nhau phân vùng được xử lý song song trên nhiều bộ xử lý. Các phân vùng có kích thước bằng nhau được tạo ra bằng cách thực hiện một phân tích cạn của tài liệu XML song song trên nhiều bộ vi xử lý mà mỗi trường hợp phân tích kết quả đầu ra cạn khác nhau phần của tài liệu XML giống nhau. Nếu chúng ta có N bộ vi xử lý song song (đánh số từ 1 đến N), lưu ý rằng N bộ vi xử lý mà sẽ tạo ra các phân vùng cuối cùng sẽ phải làm một phân tích cú pháp của một phần rất lớn của các tài liệu XML so với phần còn lại. Mặc dù phân tích cạn là một trọng lượng phân tích kỹ thuật rất nhẹ, tuy nhiên nó vẫn còn phải gánh chịu một số phí. Do đó thời gian cần thiết để hoàn thành công việc ETL trên mỗi bộ vi xử lý sẽ khác nhau như thời gian cần thiết để tạo ra các phân vùng sẽ tăng dần với sự gia tăng số lượng bộ vi xử lý. Trong phần này, chúng tôi phác thảo một kỹ thuật để cân bằng các phân vùng như vậy mà thời gian cần thiết để tạo ra các phân vùng và hoàn thành công việc là ETL gần như giống nhau cho tất cả các bộ vi xử lý. Các ý chính của kỹ thuật cân bằng được sử dụng bởi XPEDIA là nó thay đổi kích thước của mỗi phân vùng như vậy mà làm giảm kích thước phân vùng với sự gia tăng số bộ vi xử lý. Nhận thấy rằng các kỹ thuật cân bằng chỉ là cần thiết cho các chương trình lớn như các chi phí phân tích cạn trong kỹ thuật phân vùng round robin là như nhau cho tất cả các phân vùng.

Cho kích thước của tài liệu XML đầu vào là S và cho số bộ xử lý song song là N. Tổng thời gian cần thiết để hoàn thành công việc ETL trên một bộ xử lý duy nhất (không phân vùng) được tt và để cho thời gian cần thiết để phân tích cú pháp cạn toàn bộ tài liệu được ts. Qua định nghĩa tt > ts. Cho kích thước của thứ phân vùng có sẵn cho các bộ vi xử lý được Si 1 ≤ I ≤ N. Sau đó,

Tổng sẽ nhỏ hơn S vì mỗi phân vùng sẽ bao gồm các nút từ gốc đến nút phân vùng. Mục tiêu của chúng tôi là đảm bảo rằng mỗi bộ vi xử lý kết thúc xử lý phân vùng của nó cùng một lúc. Điều này có nghĩa rằng thời gian cần thiết để tạo ra mỗi phân vùng và chạy các công việc ETL trên phân vùng đó nên là như nhau cho mỗi bộ vi xử lý. Tình trạng này có thể quy định bởi các thiết lập sau đây của phương trình:

Trong này tập hợp các phương trình, luật đầu tiên có nghĩa thời gian bởi mỗi nút trong phân tích cạn, mà là luật thứ hai đại diện cho thời gian thực tế chi tiêu trong hoạt động công việc ETL trên phân cùng của nó. Chúng tôi đã gỡ bỏ các mẫu S, vì nó là chung cho tất cả phương trình. Bằng cách thay thế, chúng tôi nhận được giải pháp sau đây cho điều này thiết lập các phương trình:

Phương trình trên cho chúng ta kích thước của mỗi phân vùng đó là được xử lý trên mỗi bộ vi xử lý . Các kích thước phân vùng đảm bảo rằng công việc ETL trên tất cả các bộ vi xử lý song song kết thúc tại thời điểm qua đó cung cấp cho chúng tôi song song tối đa. Để sử dụng phương trình 3 , chúng ta cần phải biết tỷ lệ ts/tt. Chú ý rằng , ngay cả khi chúng tôi đánh giá thấp tỷ lệ này , nó vẫn sẽ dẫn đến một số hiệu suất cải thiện , mặc dù có thể không đến mức độ của các trường hợp khi chúng ta biết tỷ lệ này một cách chính xác . Mặt khác , nếu chúng ta đánh giá quá cao tỷ lệ này, sau đó thực hiện hủy như một bộ vi xử lý sẽ xử lý phân vùng lớn hơn so với của nó kích thước hợp pháp , do đó làm giảm lợi thế song song. Trong thực hành XPEDIA biết tỷ lệ này như sau: Thông thường một công việc ETL xử lý hàng trăm tài liệu XML. Do đó XPEDIA tìm thấy giá trị của tỷ lệ khi xử lý tài liệu XML đầu tiên và sau đó sử dụng nó cho phần còn lại của tài liệu.

Do đó kỹ thuật này mới cân bằng phân vùng giúp XPEDIA để trích xuất song song tối đa từ các bộ song song có sẵn bộ vi xử lý. Trong phần tiếp theo, chúng tôi phác thảo sơ đồ song song tính năng xác nhận của XPEDIA.

Một phần của tài liệu Xử lý tích hợp XML theo XPEDIA (Trang 26 - 27)

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

(36 trang)