Ý tưởng cơ bản của kỹ thuật chấp nhận lỗi, dựa vào mô hình tính toán không chính xác, dựa vào việc đưa ra các kết quả có sẵn có chất lượng tương đối nhưng chấp nhận được đúng thời didemr khi mà các kết quả mong muốn không thể thu được tại thời điểm mong muốn. Với kỹ thuật này, có hai cách tiếp cận được đề xuất: mô hình kỹ thuật thời hạn (Campbell, 1979; Chetto và Chetto 1991) và Mô hình tính toán không chính xác (Tác giả Chung 1990). Những mô hình này được mô tả chi tiết trong hai phần tiếp dưới.
Mô hình kỹ thuật thời hạn
Mô hình kỹ thuật thời hạn yêu cầu mỗi tác vụ τi có một chương trình chính
τp
i và một chương trình phụ τa
i. Thuật toán chính chung cấp chất lượng dịch vụ tốt và được mong đợi, nhưng với độ dài thời gian không biết trước. Chương trình phụ tạo ra một kết quả chấp nhận được, có thể không tốt như mong đợi, với một độ dài thời gian xác định và biết trước. Trong mộ hệ thống điều khiển sử dụng kỹ thuật thời hạn thì thuật toán lập lịch đảm bảo rằng tất cả các thời hạn được thỏa mãn cho dù là do chương trình chính hay chương trình phụ, nhưng bất kỳ khi nào có thể, nó nên sử dụng chương trình chính.
Để minh họa việc sử dụng mô hình này, chúng ta xét một ứng dụng hàng không liên quan tới vị trí trong không gian của máy bay khi đang bay. Phương thức chính xác hơn là sử dụng truyền thông vệ tinh cho kỹ thuật GPS. Nhưng chương trình, tương ứng với chức năng này, có khoảng thời gian thực thi không biết trước do có nhiều truy cập tới dịch vụ của vệ tinh từ nhiều user khác nhau. Mặt khác, có thể tính được vị trí khá tốt nhwof sử dụng vị trí trước đó, tốc độ biết trước và hướng của nó trong một bước thời gian cố định. Kỹ thuật định vị thứ nhất vowisthowif gian thực thi không xác định tương ứng với đoạn mã (chương trình) chính của tác vụ và phương thức thứ hai, ít chính xác hơn là một đoạn mã (chương trình) phụ của tác vụ. Tất nhiên là cần thực thi phương pháp định vị đầu tiên thường xuyên để có được chất lượng tốt của chức năng này. Để đại được mục tiêu cảu kỹ thuật thời hạn, có thể áp dụng hai chiến lược:
• Kỹ thuật cơ hội đầu tiên lập lịch các chương trình phụ trước tiên và chương trình chính được lập lịch vào các lần còn lại sau khi chương trình phụ đi kèm đã hoàn thành. Nếu như chương trình chính kết thúc trước thời hạn của nó thì kết quả của nó được sử dụng thay cho kết quả của chương trình phụ.
• Kỹ thuật cơ hội cuối cùng lập lịch các chương trình phụ trong các khoảng thời gian muộn nhất. Các đoạn mã chương trình chính được lập lịch vào thời gian còn lại trước các chương phụ đi kèm. Bằng cách áp dụng chiến lược này, bộ lập lịch sẽ tước quyền thực thi của chương trình chính để thực thi chương trình phụ tương ứng vào thời điểm phù hợp nhằm thỏa mãn các thời hạn. Nếu chương trình chính kết thúc thành công thì việc thực thi chương trình phụ không còn cần thiết nữa.
Để minh họa kỹ thuật cơ hội đầu tiên, chúng ta xét một tập tác vụ có ba tác vụ: Hai tác vụ cổ điển τ1 (0, 2, 16, 16) và τ2 (0, 6, 32, 32) và một tác vụ τ3 có chương trình chính và phụ. Mã phụ τa
i được định nghĩa bởi các tham số cố định cổ điển (0, 2, 8, 8). Chương trình chính tp
i có các khoảng thời gian tính toán biến đổi với mỗi thể hiện; giả sử rằng với bốn thể hiện đầu, các thời gian tính toán của tp
i lần lượt là: (4, 4, 6, 6). Lập lịch được tiến hành dựa trên một thuật toán RM cho 3 tác vụ τ1, τ2 và mã phụ τa
i. Chương trình chính tp
i được lập lịch với độ ưu tiên thấp nhất hay là trong thời gian nhàn rỗi của bộ xử lý. Hình 4.3 minh họa kết quả của chuỗi thực thi. Chúng ta có thể thấy rằng, một cách tổng thể, sự thành công trong thực thi chương trình chính là 50%. Chúng ta có các thực thi như sau:
• Thể hiện 1: không có thời gian rỗi cho thực thi chương trình chính;
• Thể hiện 2: hoàn thành chương trình chính;
Hình 4.3 Chuỗi thực thi của một ứng dụng tích hợp ba tác vụ: hai tác vụ cổ điển τ1 và τ2 cùng với tác vụ τ3 có chương trình chính và chương trình phụ được quản lý bởi kỹ thuật cơ hội đầu tiên.
Hình 4.4 Chuỗi thực thi của một ứng dụng tích hợp ba tác vụ: hai tác vụ cổ điển τ1 và τ2 cùng với tác vụ τ3 có chương trình chính và chương trình phụ được quản lý bởi kỹ thuật cơ hội cuối cùng
Để minh họa kỹ thuật cơ hội cuối cùng, chúng ta xét một tập ba tác vụ: hai tác vụ cổ điển τ1 (0, 2, 16, 16) và τ2 (0, 6, 32, 32) và một tác vụ τ3 có chương trình chính và phụ như được định nghĩa ở ví dụ trên. Mã phụ τa
i được định nghĩa bởi các tham số cố định cổ điển (0, 2, 8, 8). Chương trình chính tp
i có các khoảng thời gian tính toán biến đổi với mỗi thể hiện; giả sử rằng với bốn thể hiện đầu, các thời gian tính toán của tp
i lần lượt là: (4, 4, 6, 6). Hình 4.4 minh họa kết quả của chuỗi thực thi. Chúng ta có thể thấy rằng, một cách tổng thể, sự thành công trong thực thi chương trình chính là 75%. Chúng ta có các thực thi như sau:
• Thể hiện 1: Không cần chương trình phụ vì chương trình chính hoàn thành thực thi;
• Thể hiện 2: Không cần chương trình phụ vì chương trình chính hoàn thành thực thi;
• Thể hiện 3: Không cần chương trình phụ vì chương trình chính hoàn thành thực thi;
• Thể hiện 4: Chương trình chính bị tước quyền vì không có đủ thời gian để hoàn thành thực thi chương trình chính và đoạn chương trình phụ được thực thi.
Kỹ thuật cơ hội cuối cùng có vẻ như tốt hơn về mặt chất lượng dịch vụ và tải xử lý (không có thực thi chương trình phụ một cách thừa thãi). Điểm yếu của nó là sự phức tạp của bộ lập lịch, nó phải kiểm tra đảm bảo ở mỗi bước thời gian còn lại trước khi tới thời hạn của một tác vụ cụ thể đủ để bộ xử lý thực thi chương trình phụ.
Mô hình tính toán không chính xác
Tron mô hình tính toán không chính xác, một tác vụ được phân rã một cách logic thành một phần bắt buộc và các phần tùy chọn. Phần bắt buộc của mã phải được hoàn thành để sinh ra kết quả chấp nhận được trước thời hạn của tác vụ. Các phần tùy chọn tinh chỉnh và cải thiện kết quả tạo ra bởi phần bắt buộc. Lỗi trong kết quả của tác vụ càng được giảm khi các phần tùy chọn được thực thi càng nhiều. Nhiều thuật toán số học liên quan tới tính toán lặp để cải thiện các kết quả chính xác.
Một ứng dụng điển hình là chương trình tổng hợp ảnh cho các thiết vị mô phỏng ảo (hệ thống huấn luyện, video games…). Chương trình tổng hợp ảnh càng được chạy lâu thì ảnh càng chi tiết và thực hơn. Khi mà ảnh có tỷ lệ biến đổi cao thì việc biểu diễn các chi tiết không còn quan trọng vì khả năng quan sát của người sử
Để minh họa mô hình tính toán không chính xác, chúng ta chọn tập ba tác vụ: hai tác vụ cổ điển τ1 (0, 2, 16, 16) và τ2 (0, 6, 32, 32) và một tác vụ tính toansn không chính xác τ3 có một chương trình bắt buộc và ba chương trình tùy chọn. Mã bắt buộc τm
i được định nghĩa là (0, 2, 8, 8). Thời gian thực thi chó các chương trình tùy chọn top
i lần lượt là (2, 2) cho thể hiện đầu tiên, (2, 4) cho thể hiện thứ hai và (4,4) cho thể hiện thứ ba và (2, 2) cho thể hiện thứ tư. Lập lịch dựa trên thuật toán RM cho 2 tác vụ τ1, τ2 và phần bắt buộc τm
3. Các chương trình tùy chọn τop
3được lập lịch với độ ưu tiên thấp nhất và trong thời gian nhàn rỗi của bộ xử lý. Hình 4.5 trình bày kết quả của chuỗi thực thi. Chúng ta có thể thấy rằng sự thành công trong thực thi chương trình tùy chọn đầu tiên là 75%, chương trình tùy chọn thứ 2 là 25%. Chúng ta có các thực thi như sau:
• Thể hiện 1: không có thời gian rỗi cho các chương trình tùy chọn;
• Thể hiện 2: Phần tùy chọn đầu tiên hoàn thành, nhưng phần tùy chọn thứ hai bị tước quyền.
• Thể hiện 3: Chỉ có phần tùy chọn đầu tiên hoành thành, nhưng phần thứ hai không được thực thi;
• Thể hiện 4: Tất cả các chương trình tùy chọn được thực thi.
Hình 4.5 Chuỗi thực thi của một ứng dụng tích hợp ba tác vụ: hai tác vụ cổ điển τ1 và τ2 và tác vụ τ3 có phần bắt buộc và các phần tùy chọn.