4. Những nội dung nghiên cứu chính
1.2.4. Các dạng chi phí song song và mô hình chi phí song song trên bộ tối ƣu hóa
ƣu hóa truy vấn
Trong môi trƣờng song song, hai loại chi phí làm ảnh hƣởng đến thời gian trả lời câu truy vấn là:
1. Chi phí khởi động 2. Chi phí truyền thông
1.2.4.1. Chi phí khởi động
Trong môi trƣờng đa xử lý, thông thƣờng có ba loại tiến trình đƣợc sử dụng khi thực hiện một câu truy vấn SQL
- Trƣớc tiên là việc xử lý của bộ thực hiện SQL
- Tiếp theo là những tiến trình đƣợc sinh ra từ bộ thực hiện, gọi là ESPS (Executor Sever Process)
- Sau cùng là tiến trình xử lý đĩa của các phép toán trong truy vấn
Chi phí khởi động sinh ra khi khởi động công việc. Nó bao gồm chi phí để nhận đƣợc một tập các tiến trình và chuyển mỗi tiến trình một mô tả vai trò của nó trong việc thực hiện truy vấn. Mô tả này bao gồm một phần của phƣơng án truy vấn mà tiến trình sẽ thực hiện và các đặc điểm nhận dạng của các tiến trình mà nó sẽ trao đổi thông tin. Thực tế cho thấy rằng chi phí khởi động là không đáng kể nếu các tiến trình có thể sử dụng lại mà không phải tạo mới.
1.2.4.2. Chi phí truyền thông
Chi phí chuyển giao dữ liệu giữa các tiến trình. Ba loại truyền thông giữa các tiến trình
Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn Truyền thông cục bộ: Truyền thông cục bộ xảy ra khi dữ liệu ra của tiến trình này gửi cho một tiến trình khác dùng dữ liệu này để xử lý trên cùng một bộ xử lý. Truyền thông cục bộ đƣợc thực hiện nhƣ việc sao chép qua không gian địa chỉ từ bộ nhớ đến bộ nhớ
Truyền thông từ xa: Truyền thông từ xa xảy ra khi dữ liệu ra của tiến trình này gửi cho một tiến trình khác dùng dữ liệu này để xử lý trên các bộ xử lý khác nhau. Trong hệ thống mạng, truyền thông từ xa chia dữ liệu thành các gói rồi vận chuyển thông qua mạng truyền thông.
Truyền thông phân bố lại: Truyền thông phân bố lại bao gồm một tập các bộ sản xuất gửi dữ liệu đến một tập các bộ tiêu thụ dữ liệu.
1.2.4.3. Mô hình chi phí song song
Quá trình song song hóa là phân phối dữ liệu cho nhiều vị trí, phân chia công việc cho nhiều bộ xử lý. Khi đã biết cách ƣớc lƣợng chi phí cho mỗi phép toán cơ bản thì chi phí thời gian của xử lý song song sẽ bằng 1/n (trong đó n là số bộ xử lý) chi phí thời gian xử lý tuần tự của cùng một phép toán trên một bộ xử lý.
Chi phí thời gian có thể ƣớc lƣợng bởi tổng sau: Tpart + Tasm + max {T0 , T1, ...., T n-1}
Trong đó:
Tpart là thời gian phân hoạch các quan hệ Tasm là thời gian hợp thành kết quả sau cùng
Ti (i = 0, 1, ..., n-1) là thời gian cần cho tính toán ở bộ xử lý thứ i.
Với điều kiện không xảy ra hiện tƣợng mất cân bằng tải, chi phí tranh chấp tài nguyên không đáng kể thì chi phí của các Ti đƣợc xác định bằng các kỹ thuật tƣơng tự nhƣ trƣờng hợp xử lý tuần tự
1.2.4.4. Mô hình chi phí trên bộ tối ưu hóa truy vấn
Chi phí thực hiện một phƣơng án tối ƣu của một câu truy vấn song song trên bộ tối ƣu hóa truy vấn đƣợc xác định bởi ba thành phần
Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn
i. Chi phí tổng công việc TW (Total Work) ii. Chi phí thời gian trả lời RT (Response Time)
iii. Chi phí không gian nhớ MC (Memory Consumption)
Hàm chi phí là tổ hợp của hai thành phần đầu, thành phần thứ ba cho biết kích thƣớc bộ nhớ cần cho việc thực thi phƣơng án. Trong thực tế, để ƣớc lƣợng chi phí một phƣơng án ngƣời ta thƣờng ƣớc lƣợng hai thành phần đầu. Khó khăn chính trong đánh giá chi phí là xác định giá trị cho TW và RT. Những đại lƣợng này phụ thuộc vào trạng thái của hệ thống (ví dụ tải trọng của hệ thống và số lƣợng truy vấn đƣợc đặt ra đối với hệ thống) mà về mặt lý thuyết chỉ xác định đƣợc vào lúc thực hiện. Tính toán chi phí truy vấn trong môi trƣờng đa xử lý không thể thực hiện bằng tối ƣu hóa tĩnh. Nghĩa là, tổng chi phí đƣợc tính không thể đƣợc mô tả bằng một công thức rõ ràng trƣớc khi biên dịch - nhƣ trong hệ phân tán. Ở đây, việc xác định chi phí phức tạp hơn nhiều vì nó phải tính đến dữ liệu đƣợc chuyển tải theo cơ chế song song dạng ống.
Thời gian trả lời của một phƣơng án p, đƣợc xếp lịch theo các pha, đƣợc tính nhƣ sau: RT (p) = p ph ph Op respTime(Op)
(max + pipe_delay(Op) + store_delay(ph)) Trong đó:
- ph là số hiệu pha - Op ký hiệu toán tử
- respTime(Op) là thời gian trả lời của Op
- pipe_delay(Op) là khoảng thời gian chờ đợi của Op để bên sản xuất chuyển các bộ kết quả đầu tiên, nó bằng 0 nếu dữ liệu vào của Op đã có sẵn
- store_delay(ph) là thời gian cần thiết để lƣu kết quả của pha ph, nó bằng 0 nếu ph là pha cuối cùng, với giả thiết rằng kết quả phải đƣợc chuyển ngay khi chúng mới sinh ra.
Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn