3.2.3 Mô hình chi phí phân tán
Mô hình chi phí của bộ tối ưu bao gồm các hàm chi phí để dự đoán chi phí của các thao tác, thống kê, dữ liệu cơ sở và các công thức để ước lượng kích thước các kết quả trung gian[15].
3.2.3.1 Hàm chi phí
Chi phí của một chiến lược thực thi phân tán có thể được diễn tả ứng với tổng thời gian hoặc ứng với thời gian đáp ứng. Tổng thời gian (total time) là tổng tất cả các thành phần thời gian (còn được gọi là chi phí), còn thời gian đáp ứng (response time) là thời gian tính từ khi kích hoạt đến lúc hoàn thành câu truy vấn. Công thức tổng quát để xác định tổng chi phí được mô tả như sau:
Total_time = TCPU* #insts + TI/O * #I/Os + TMSG* #msgs + TTR* #bytes
Hai thành phần đầu tiên là thời gian xử lý cục bộ, trong đó TCPU là thời gian của một chỉ thị CPU và TI/O là thời gian cho một thao tác xuất nhập đĩa. Thời gian truyền được biểu thị qua hai thành phần cuối cùng. TMSG là thời gian cố định cần để kích hoạt và nhận một thông điệp, còn TTR là thời gian cần để truyền một đơn vị dữ liệu từ trạm này đến trạmkhác. Đơn vị dữ liệu ở đây tính theo byte (#bytelà tổng kích thước củatất cả các thông điệp), nhưng cũng có thể tính theo những đơn vị khác (thí dụ theo gói). Thông thường chúng ta giả thiết TTR là một giá trị không đổi. Điều này có thể không đúng trong các mạng diện rộng (WAN), trong đó một số trạm nằm xa hơn so với một số khác. Tuynhiên giả thiết này làm đơn giản quá trình tối ưu hóa rất nhiều. Vì thế thời gian truyền #byte dữ liệu từ vị trí này đến vị trí khác được giả thuyết là một hàm tuyến tính theo #bytes: CT(#bytes) = TMSG+TTR* #bytes R2 ⊳⊲ ⊳⊲ R3 R1 R3 ⊳⊲ R2 R1 ⊳⊲
Khi thời gian đáp ứng truy vấn là hàm mục tiêu của bộ tối ưu hóa, chúng ta cần phải xét đến vấn đề xử lý cục bộ song song và truyền song song. Công thức tổngquát của thời gian đáp ứng là:
Response_time = TCPU* seq_#insts + TI/O+ seq_#I/Os +TMSG+ seq_#msgs + TTR+ seq_#bytes
Trong đó seq_#x, với x có thể là các chỉ thị (insts), các xuất nhập I/O, các thông điệp(msgs) hoặc bytes, là số lượng x tối đa phải được thực hiện một cách tuần tự khithực hiện truy vấn. Vì vậy mọi xử lý và truyền dữ liệu thực hiện song song đều được bỏ qua.
Ví dụ 3.2: Chúng ta minh họa sự khác biệt giữa tổng chi phí và thời gian đáp
ứng (xem Hình 3.7), trong đó kết quả trả lời được tính tại trạm 3, dữ liệu được lấy từ trạm 1 và trạm 2. Để đơn giản, chúng ta phải giả sử rằng chỉ xét đến chi phí truyền.