1. Trang chủ
  2. » Luận Văn - Báo Cáo

TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO ĐiỀU KHIỂN TƯƠNG TRANH VÀ LẬP LỊCH TRONG CSDL THỜI GIAN THỰC

33 522 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 238,42 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ thống CSDL thời gian thực là sự kết hợp các hệ thống thời gian thực và hệ thống CSDL, trong đó ngoài việc đóng vai trò tương tự như các hệ quản trị CSDL truyền thống gồm lưu trữ, cung

Trang 1

CÁC THUẬT TOÁN ĐIỀU KHIỂN TƯƠNG TRANH VÀ LẬP LỊCH TRONG CƠ SỞ DỮ LIỆU THỜI GIAN THỰC

GIẢNG VIÊN HƯỚNG DẪN: PGS.TS NGUYỄN HÀ NAM

NHÓM THỰC HIỆN:

(Nhóm 17) LƯU MINH ĐỨCCHU THỊ THẮM

HÀ NỘI – 03/2012

Trang 2

MỞ ĐẦU 3

CHƯƠNG 1: CÁC HỆ THỐNG CSDL THỜI GIAN THỰC .4

1.1 Định nghĩa CSDL thời gian thực 4

1.2 Khái niệm về giao dịch và tính khả tuần tự 5

1.3 Mô hình CSDL thời gian thực 6

1.4 Lập lịch các giao dịch CSDL thời gian thực 7

1.5 Quản lý bộ nhớ 11

1.6 Lập lịch đọc/ghi (I/O) 13

CHƯƠNG 2: MỘT SỐ VẤN ĐỀ CHÍNH

TRONG CÁC HỆ THỐNG CSDL THỜI GIAN THỰC 17

2.1 Điều khiển đồng thời 15

2.2 Điều khiển tiếp nhận (Admission Control) 27

2.3 Quản lý bộ nhớ (Buffer management) 28

2.4 Lập lịch đĩa (Disk Scheduling) 31

KẾT LUẬN 32

TÀI LIỆU THAM KHẢO 33

Trang 3

MỞ ĐẦU

Trong những năm gần đây, các hệ thống cơ sở dữ liệu (CSDL) thời gian thực

đã và đang ngày càng được nghiên cứu và ứng dụng rộng rãi trong thực tế Hệ thống CSDL thời gian thực là sự kết hợp các hệ thống thời gian thực và hệ thống CSDL, trong đó ngoài việc đóng vai trò tương tự như các hệ quản trị CSDL truyền thống gồm lưu trữ, cung cấp các chức năng truy vấn và xử lý dữ liệu, hệ thống CSDL thời gian thực còn phải đáp ứng các yêu cầu về mặt thời gian đối với dữ liệu được quản lý, các ràng buộc thời gian của giao dịch, và các mục tiêu xác định về mặt hiệu năng

Các lĩnh vực ứng dụng CSDL thời gian thực bao gồm cơ sở hạ tầng mạng, viễn thông, thị trường tài chính, hàng không với các ứng dụng điển hình như hệ thống điều khiển không lưu, giao dịch cổ phiếu chứng khoán, đặt chỗ máy bay, du lịch, tính cước trả trước viễn thông Với sự phát triển nhanh chóng của mạng internet, viễn thông và các dịch vụ toàn cầu hóa, đòi hỏi phải có những hệ thống CSDL thời gian thực để đáp ứng được các yêu cầu của người dùng

Trong lĩnh vực viễn thông, đang có sự phát triển vượt bậc của các thuê bao di động với tỷ lệ các thuê bao trả trước chiếm tới hơn 80% Do đó, bài toán tính cước cho thuê bao điện thoại di động là hết sức quan trọng Với xu hướng người dùng chuyển sang sử dụng thuê bao di động mà dịch vụ trả trước là phần lớn, và trong tương lai mạng viễn thông được nâng cấp lên thế hệ 4G với rất nhiều dịch vụ phong phú, đa dạng thì các yêu cầu đặt ra cho bài toán tính cước trả trước là hết sức thiết thực, cấp bách Đó là làm sao phải tính toán được nhanh chóng, chính xác, kịp thời mà vẫn phải đảm bảo được hoạt động của mạng lưới

Như vậy, với thực tại và định hướng phát triển nêu trên, việc nghiên cứu các vấn đề trong CSDL thời gian thực đặc biệt là yếu tố giải quyết tương tranh và lập lịch

là một trong những việc làm rất cấp bách

Trang 4

CHƯƠNG 1: CÁC HỆ THỐNG CSDL THỜI GIAN THỰC

Nội dung chính của chương này trình bày đầy đủ toàn bộ những lĩnh vực liên quan của các Hệ thống CSDL thời gian thực và phân tích một số chủ đề đáng chú ý Mở đầu chương là phần giới thiệu các khái niệm về giao dịch và tính khả tuần tự (serializability) thể hiện tính đúng đắn của các hệ CSDL truyền thống Phần tiếp theo trình bày định sự khác biệt giữa các hệ thống cấp thiết theo thời gian và các hệ CSDL phi thời gian thực, và trình bày một mô hình của một Hệ CSDL thời gian thực để phác họa sự pha trộn của các tài nguyên liên quan và biểu diễn các thành phần quan trọng cần xem xét

1.1 Định nghĩa CSDL thời gian thực

CSDL thời gian thực là một hệ thống tích hợp những đặc điểm chung của hệ thống thời gian thực và CSDL Nghĩa là, hệ thống CSDL thời gian thực có nhiệm vụ xử lý

các giao dịch CSDL và đáp ứng các yêu cầu ràng buộc xác định về mặt thời gian của

hệ thống

Trên thực tế, việc thiết kế tổng thể một hệ thống CSDL thời gian thực bao hàm các vấn đề có liên quan như sau:

1 Các mô hình hệ thống CSDL thời gian thực

2 Lập lịch các giao dịch CSDL thời gian thực

a Điều khiển đồng thời

b Giải quyết tương tranh

c Tắc nghẽn

3 Khả năng chịu lỗi và khắc phục sự cố

4 Điều khiển tiếp nhận (Admission Control)

Trang 5

9 Giảm thiểu hỗ trợ giao dịch, nghĩa là nới lỏng tính khả tuần tự (Relaxing Serializability)

10 Tính bất biến truy nhập (Access Invariance)

11 Khả năng dự báo trước (Predictability)

Do sự pha trộn của nhiều vấn đề, các giới hạn, và mục đích nghiên cứu, nên ở đây chỉ chú ý đến một số vấn đề trọng tâm Các vấn đề khác sẽ được nghiên cứu sau

1.2 Khái niệm về giao dịch và tính khả tuần tự

Trạng thái của một giao dịch bao gồm các bản ghi, sự xác nhận về các giá trị của những bản ghi này, và một tập những chuyển đổi được phép có thể áp dụng cho

các giá trị của những bản ghi đó Những sự xác nhận này được gọi là những ràng

buộc nhất quán.

Một điều có lẽ cần thiết để tạm thời vi phạm tính nhất quán của trạng thái hệ thống trong khi sửa nó Vì vậy, để chuyển đổi một trạng thái hệ thống nhất quán sang một trạng thái nhất quán khác, hệ thống cung cấp các tập hành động theo dạng các

hoạt động đọc và ghi Một giao dịch là một tập của những hành động như vậy, trong

khi bao gồm một sự chuyển đổi nhất quán của trạng thái hệ thống Mỗi giao dịch, khi được thực thi một mình, sẽ chuyển đổi một trạng thái nhất quán thành một trạng thái nhất quán mới; nghĩa là, các giao dịch bảo trì tính nhất quán của thông tin CSDL thời gian thực

Các hệ thống quản lý CSDL truyền thống (DBMS) cấm những sự không nhất quán bằng cách thỏa mãn bốn tính chất được kết hợp với các giao dịch, được gọi là

Trong khi mỗi giao dịch duy trì tính nhất quán của CSDL tại các giới hạn của

nó, các giao thức phục hồi được sử dụng để đảm bảo các tính chất nguyên tử và tính

bền Cuối cùng, tính cô lập có thể được bảo đảm bởi các giá trị điều khiển đồng thời.

Trang 6

Một sự thực thi được nói là có tính khả tuần tự nếu nó sinh ra cùng kết quả và

có cùng ảnh hưởng đến CSDL như một số sự thực hiện tuần tự của cùng các giao dịch

Do các thực thi tuần tự là đúng đắn, và do mỗi thực thi tuần tự hóa có cùng ảnh hưởng

giống như một thực thi tuần tự, nên tính khả tuần tự trở thành khái niệm của tính đúng

đắn trong bất kỳ hệ quản trị CSDL thời gian thực nào

1.3 Mô hình CSDL thời gian thực

Các giao dịch trong một hệ thống CSDL thời gian thực đi qua các thành phần khác nhau cho đến khi kết thúc Trong phần này đã xét một mô hình hệ thống CSDL thời gian thực, như thể hiện trong hình 2.1 dưới đây, và mô tả các thành phần khác nhau của nó Phần còn lại sẽ xét hệ thống CSDL thời gian thực sẽ thừa nhận các giao dịch

là đơn vị có thể lập lịch ngược với các tác vụ trong các hệ điều hành thời gian thực truyền thống Nên, không như một số mô hình trong đó tải của hệ thống bao gồm chỉ các tác vụ, và mỗi tác vụ có thể chứa một số các giao dịch trong đó, mô hình này bao gồm có các giao dịch như các đơn vị lập lịch bộ đếm cho các tác vụ Trong mô hình này các tác vụ là đơn vị có thể lập lịch chính Một mô hình phải xét các vấn đề sau:

- Kiểu của thời hạn cuối được kết hợp với một tác vụ, nghĩa là, soft, hard hay firm

- Kiểu của thời hạn cuối được kết hợp với các giao dịch trong một tác vụ; nghĩa là soft, firm, hay hard

- Suy diễn một thời hạn cuối cho mỗi giao dịch trong một tác vụ cũng như tất

cả các tác vụ còn lại là phải khả thi lúc đầu,

- Các giao dịch trong một tác vụ là hợp tác hoặc độc lập,

- Sự thực thi của các giao dịch trong một tác vụ là tuần tự hoặc đồng thời,

- Nếu một thời hạn cuối của giao dịch là soft, thì những gì xảy ra nếu một giao dịch nhỡ thời hạn cuối của nó? Đó là, nếu một giao dịch được phép thực hiện đã qua thời hạn cuối của nó, thì một hành vi như vậy có thể hủy hoại sự thực thi của các giao dịch khác trong tác vụ không?

- Nếu sự cố của giao dịch báo hiệu sự cố của tác vụ, thì sự cố của một giao

Trang 7

Hình 1.1 Mô hình CSDL thời gian thực

Mô hình trên được đề xuất với những hiểu biết tốt nhất đến thời điểm này, tuy nhiên, một sự xem xét mô hình kỹ lưỡng vẫn là một lĩnh vực nghiên cứu mở Mô hình trên, nói cách khác, chỉ gồm các giao dịch, trong đó mỗi giao dịch có các thuộc tính giống như các tác vụ trong các hệ điều hành thời gian thực truyền thống; ví dụ, các thời hạn cuối, tính định kỳ, tính cấp thiết, mức ưu tiên, vv Hơn nữa, CSDL tự nó được xét với sự lập lịch các truy cập đến CSDL, mà là một vấn đề riêng biệt với lập lịch CPU Không những thế, lập lịch CPU được thừa nhận tồn tại ở một mức thấp hơn mức CSDL

Các mức ưu tiên có thể được gán cho các giao dịch thời gian thực theo nhiều chiến lược giống nhau được dùng để gán mức ưu tiên cho các tác vụ thời gian thực

1.4 Lập lịch các giao dịch CSDL thời gian thực

Yếu tố quyết định hiệu năng cơ bản trong một hệ thống CSDL thời gian thực là chính sách được sử dụng để lập lịch các giao dịch Một chính sách lập lịch xác định khi nào dịch vụ được cấp cho giao dịch, do đó trực tiếp ảnh hưởng đến việc giao dịch

có đáp ứng được thời hạn cuối của nó hay không Một điểm đặc biệt của các hệ thống CSDL thời gian thực, ngoài các tài nguyên vật lý chuẩn, là các đối tượng dữ liệu được

Điều khiển tiếp

Yêu cầu/giải phóng một đối tượng dữ liệu Chặn

Đĩa

Nhỡ

Đạt

NgắtGửi

Gửi lại

Hủy

Xác nhận

Trang 8

lưu trong CSDL, và các giao dịch truy nhập dữ liệu này phải được lập lịch theo các mục tiêu hiệu năng thời gian thực.

Quy trình lập lịch của các giao dịch trong một hệ thống CSDL thời gian thực bao gồm

điều khiển đồng thời (concurrency control) và giải quyết tương tranh (conflict resolution) và gián tiếp bao hàm phục hồi Trong chương này sẽ thảo luận ngắn gọn

hai vấn đề trên, phần chi tiết sẽ được trình bày trong chương sau

1.4.1 Điều khiển đồng thời

Một giao dịch CSDL điển hình là một chuỗi các thao tác được thực hiện trên

một CSDL Các hệ CSDL thông thường được tập trung vào các tính chất ACID –

atomicity – nguyên tử, consistency – nhất quán, isolation – cô lập, và durability – tính bền Hệ quản trị CSDL phải bảo đảm những tính chất này trong khi cung cấp tối đa sự đồng thời để tăng thông lượng, và duy trì tính đúng đắn của CSDL Dữ liệu là tài nguyên duy nhất, và vì thế yêu cầu một hình thức lập lịch riêng biệt so với các tài nguyên phần cứng khác được xét Tính khả tuần tự là khái niệm được thiết lập tốt về tính đúng đắn cho việc lập lịch xen kẽ các hành động giao dịch Các chính sách lập lịch truy nhập dữ liệu được sử dụng trong một hệ CSDL nói chung được tham chiếu đến như các giao thức điều khiển đồng thời Các giao thức điều khiển đồng thời bảo toàn tính toàn vẹn CSDL bằng cách giải quyết các thực thi đồng thời không tuần tự theo một cách mà bao gồm một trật tự tuần tự hóa trong số các giao dịch tranh chấp Nghĩa là, điều khiển đồng thời là một cơ chế để đảm bảo sự không giao thoa của thực thi giao dịch; đó là, tính cô lập của các giao dịch đang thực hiện đồng thời

1.4.2 Giải quyết tương tranh

Các tranh chấp thường là kết quả của các thực thi đồng thời của các giao dịch thực hiện các hành động không tương thích; nghĩa là, đọc và ghi trên cùng mục dữ liệu tại cùng thời điểm Các bộ lập lịch bất đồng khi phát hiện các tranh chấp tài nguyên trong số các giao dịch và cách thức trong đó các tranh chấp được giải quyết một khi chúng được tìm ra Với các tài nguyên CSDL dùng chung, giao dịch bị đoạt

quyền thường phải được hoàn tác nếu các cập nhật không đúng chỗ được sử dụng [3],

[5]

Trang 9

Khi một giao dịch yêu cầu một khóa trên mục dữ liệu trong khi khóa đã bị giữ, trong chế độ tranh chấp, bởi một giao dịch khác, cả hai giao dịch đều có các ràng buộc thời gian, thì chỉ một giao dịch có thể giữ khóa Tranh chấp nên được giải quyết theo các đặc điểm của các giao dịch tương tranh.

Giải quyết tương tranh Wound-Wait dựa trên mức ưu tiên

Kỹ thuật Wound-Wait ban đầu được đề xuất bởi Rosenkrantz để tránh tắc

nghẽn Lược đồ ban đầu được thiết kế có sử dụng các nhãn thời gian Tuy nhiên, hai tác giả Abbott và Garcia-Molina đã sửa bản lược đồ để cho chúng sử dụng các mức ưu tiên thay vì các nhãn thời gian và được áp dụng cho phiên bản được sửa để giải quyết

tương tranh trong các hệ CSDL thời gian thực Phiên bản được sửa mới gọi là

High-Priority (HP) – Ưu tiên mức cao và như High-Priority-Abort (PA) – Hủy bỏ theo mức ưu tiên [2], [3] Phác họa thuật toán chung là như sau:

Gọi P(T i ) là ưu tiên của giao dịch T i

T r yêu cầu một khóa trên mục dữ liệu D

If (không tranh chấp) then T r truy nhập D

else - T h đang giữ mục dữ liệu được yêu cầu, giải quyết tương tranh như sau

if (P(T r ) > P(T h )) then T h bị hủy bỏ

else T r đợi khóa, nghĩa là, chặn.

Trong lược đồ HP, nếu hai giao dịch tham gia vào một tranh chấp, thì giao dịch

có mức ưu tiên thấp hơn sẽ bị hủy nhằm giải phóng tài nguyên theo yêu cầu cho giao dịch có mức ưu tiên cao hơn Để bảo trì tính khả tuần tự, giao dịch có mức ưu tiên thấp hơn bị đoạt quyền sẽ được hoàn tác, và khi được khởi động lại nó phải thực hiện

từ đầu Tuy nhiên, một giao dịch ưu tiên thấp hơn trong phương pháp HP được phép

đợi giao dịch có mức ưu tiên cao hơn Nên, tất cả các tranh chấp được giải quyết để

ưu tiên cho các giao dịch ưu tiên cao hơn Phụ thuộc vào cách thức các mức ưu tiên của các giao dịch được sinh ra, các giao thức giải quyết tương tranh khác nhau có thể được tạo

Trang 10

1.4.3 Tắc nghẽn

Sự sử dụng các lược đồ khóa có thể gây ra một sự tắc nghẽn, do đó yêu cầu phát hiện tắc nghẽn xảy ra, ngăn tắc nghẽn, hay tránh tắc nghẽn Trong phần này sẽ chỉ thảo luận sự phát hiện tắc nghẽn do nó là phương pháp được sử dụng nhiều nhất trong các hệ quản trị CSDL thông thường Một lược đồ phát hiện tắc nghẽn được gọi khi một giao dịch ở trong hàng đợi một mục dữ liệu bị khóa Bất cứ khi nào một tập các giao dịch tham gia vào một vòng đợi thì một tắc nghẽn sẽ xảy ra Nếu chu trình tắc nghẽn được phát hiện, một trong số các giao dịch liên quan trong chu trình phải bị hủy bỏ nhằm phá vỡ chu trình đó Trong những trường hợp như vậy, một giao dịch tham gia trong chu trình được chọn để hủy nhằm phá vỡ sự tắc nghẽn Trong một hệ CSDL thời gian thực, giao dịch bị hủy bỏ nên được chọn sao cho đảm bảo số lượng lớn nhất các giao dịch còn lại có thể đáp ứng được thời hạn cuối của chúng Các giao dịch trong bất kỳ hệ thống cấp thiết thời gian nào bị hủy bỏ sẽ được xét các yêu cầu thời gian của chúng ngoài việc hệ thống phải chịu một giá tối thiểu Năm chính sách giải quyết tắc nghẽn mà đưa các tính chất thời gian vào của các giao dịch và cái giá của các hành động bị hủy như sau:

Chính sách 1: Luôn luôn hủy giao dịch gọi phát hiện tắc nghẽn.

Chính sách 2: Lưu vết chu trình tắc nghẽn, và hủy giao dịch chậm đầu tiên gặp phải

trong một chu trình tắc nghẽn Nếu không có giao dịch chậm nào tìm thấy, thì hủy

giao dịch với thời hạn cuối lâu nhất.

Chính sách 3: Lưu vết chu trình tắc nghẽn, và hủy giao dịch chậm đầu tiên gặp phải

trong một chu trình tắc nghẽn Nếu không có giao dịch chậm nào tìm thấy, thì hủy

giao dịch với thời hạn cuối sớm nhất.

Chính sách 4: Lưu vết chu trình tắc nghẽn, và hủy giao dịch chậm đầu tiên gặp phải

trong một chu trình tắc nghẽn Nếu không có giao dịch chậm nào tìm thấy, thì hủy giao dịch ít cấp thiết nhất

Chính sách 5: Hủy giao dịch không khả thi với tính cấp thiết thấp nhất Nếu tất cả các

giao dịch là khả thi, thì hủy một giao dịch khả thi với tính cấp thiết thấp nhất Chính sách này là nhạy cảm với độ chính xác của thời gian tính toán vì nó yêu cầu thông tin

Trang 11

về thời gian thực thi còn lại; nên, tổng các yêu cầu thời gian thực thi tại thời điểm bắt

đầu mỗi giao dịch phải được biết

1.5 Quản lý bộ nhớ

Khả năng sẵn sàng của bộ nhớ ảnh hướng đến thời gian đáp ứng giao dịch theo hai cách

Thứ nhất, trước khi một giao dịch bắt đầu thực hiện, bộ đệm (các trang nhớ)

phải được cấp phát cho giao dịch Những bộ đệm này được sử dụng để lưu mã thực thi, sao chép các tệp và dữ liệu được phân trang từ đĩa cứng, và bất cứ đối tượng tạm thời nào được tạo ra Phụ thuộc vào giao dịch, một số lượng bộ đệm nhất định phải được cấp phát nhằm ngăn chặn giao dịch bị thất bại (ở đây khái niệm thất bại là hiện tượng trong đó một giao dịch tiêu tốn hầu hết thời gian cho việc tráo đổi dữ liệu với đĩa cứng) Khi bộ nhớ còn ít, một giao dịch có thể bị chặn không cho thực hiện Tổgn

bộ nhớ sẵn sàng cho hệ thống vì thế giới hạn số lượng giao dịch thực thi đồng thời

Thứ hai, một số ứng dụng, như xử lý ảnh, có yêu cầu bộ nhớ cao Những sự

thực thi này sẽ chậm đáng kể nếu bộ nhớ ít và sự tráo đổi bộ nhớ được thực hiện thường xuyên

Nhiệm vụ của một trình quản lý bộ đệm là cấp phát các bộ đệm nhớ cho các giao dịch một cách thông minh sao cho các giao dịch có mức ưu tiên cao được hưởng thời gian đáp ứng ngắn hơn Một trình quản lý bộ đệm thường được xác định bằng những chính sách tiếp nhận và thay thế bộ đệm Các chính sách se được giải thích ngắn gọn lần lượt dưới đây Bên cạnh đó sẽ là các ví dụ cụ thể minh họa cách thức mà các mức ưu tiên giao dịch được sử dụng để cải thiện hành vi thời gian thực của trình

quản lý Khi một giao dịch T được đưa ra, trình quản lý bộ đệm sẽ quyết định có chấp

nhận thực hiện hay không Quyết định này được gọi là chính sách tiếp nhận giao dịch Giả sử rằng các giao dịch là có thể cung cấp cho trình quản lý bộ đệm với số lượng bộ

nhớ nó cần để thực hiện thích hợp Nếu có đủ không gian trống, giao dịch T được tiếp nhận Mặt khác, T bị chặn hay khác nữa là một số các giao dịch đang thực hiện có thể

bị treo và các bộ đệm của chúng được cấp phát lại cho giao dịch T Trong trường hợp

thứ hai, sự quyết định các giao dịch nào sẽ bị treo có thể được xác định bằng mức ưu

Trang 12

tiên của chúng Một giải pháp đơn giản đưa ra để treo các giao dịch với mức ưu tiên thấp nhất cho đến khi:

1 Đủ số bộ đệm đã được giải phóng cho T thực hiện, hay

2 Không có thêm các giao dịch không bị treo với mức ưu tiên nhỏ hơn T.

Trong trường hợp đầu, các bộ đệm được giải phóng được cấp phát cho T và T được tiếp nhận Với trường hợp thứ hai, T bị chặn do thiếu bộ nhớ.

Các chính sách thay thế truyền thống bao gồm LRU(Least Recently Used – được sử dụng gần ít nhất), LFU (Least Frequently Used – được sử dụng thường xuyên ít nhất), Hãy xét ví dụ một chính sách mang tên Priority-LRU, được đề xuất với việc xem xét mức ưu tiên giao dịch là sự sử dụng bộ đệm mới xảy ra Thuật toán này nhóm

các giao dịch thành m lớp ưu tiên Tất cả các bộ đệm mà được sử dụng bằng một số giao dịch trong lớp thứ i được đưa vào một danh sách L i và được nói rằng có mức ưu

tiên i Vùng chứa bộ đệm vì vậy được tổ chức thành m danh sách: L 1 , L 2 , …, L m theo

mức ưu tiên của bộ đệm Thuật toán Priority-LRU có thể được mô tả ngắn gọn bằng các mã giả sau

Trang 13

(*Kiểm tra nếu x vừa mới được tham chiếu*)

IF x là một trong số các bộ đệm được truy nhập gần đây nhiều nhất W R

RETURN (không có trang nào phù hợp);

Thuật toán Priority-LRU lấy một tham số, W R, để điều khiển tầm quan trọng tương đối

của tính chất mới xảy ra và mức ưu tiên Ví dụ, khi W R được thiếp lập về 0, bộ đệm được sử dụng gần đây nhất trong nhóm có mức ưu tiên thấp nhất được chọn Một bộ đệm có mức ưu tiên thấp luôn được chọn có lợi cho các bộ đệm có mức ưu tiên cao

hơn Ngược lại, nếu W R được thiếp lập cao, thì các bộ đệm có mức ưu tiên thấp sẽ bị ngắt nếu chúng mới được tham khảo gần đây

1.6 Lập lịch đọc/ghi (I/O)

Với lập lịch CPU, các thuật toán lập lịch đĩa mà đưa vào các ràng buộc thời gian có thể cải thiện đáng kể hiệu năng thời gian thực Các thuật toán lập lịch CPU, như là Earliest Deadline First và Highest Priority First, là những thuật toán đáng được xem xét nhưng chúng phải được chỉnh sửa lại trước khi có thể áp dụng vào lập lịch đọc/ghi Lý do chính là thời gian tìm kiếm trên đĩa, phụ thuộc vào sự di chuyển đầu đọc đĩa Thứ tự trong đó các yêu cầu đọc/ghi được phục vụ, vì thế, có một ảnh hưởng rộng lớn lên thời gian đáp ứng và thông lượng của phân hệ đọc/ghi [4] Để minh họa, hãy xét ví dụ sau như trong hình vẽ:

Yêu cầu A C D B

đọc/ghi

Rãnh #: 0 1 2 3 4 5 6 7

Trang 14

(trong thứ tự D, B, C, A), rõ ràng HPF không phải là một cách thông minh để lập lịch

đầu đọc đĩa nếu thời gian đáp ứng hay thông lượng là một điều cần quan tâm

Các thuật toán làm giảm sự dịch chuyển đầu đọc đĩa đã được nghĩ ra Các thuật toán này tập trung vào cách tối ưu sự dịch chuyển của đầu đọc dựa trên các yêu cầu đọc ghi với các mức ưu tiên của chúng Chi tiết một số thuật toán sẽ được đề cập ở chương sau

Trang 15

CHƯƠNG 2: MỘT SỐ VẤN ĐỀ CHÍNH TRONG CÁC HỆ

THỐNG CSDL THỜI GIAN THỰC

Nội dung chương này sẽ trình bày chi tiết một số vấn đề quan trọng đã được quan tâm nghiên cứu nhiều trong CSDL thời gian thực Đó là các vấn đề điều khiển đồng thời, quản lý bộ nhớ và lập lịch ghi đĩa

2.1 Điều khiển đồng thời

2.1.1 Điều khiển đồng thời theo khóa (Locking Concurrency Control)

Việc khóa các mục dữ liệu là một kỹ thuật nhằm ngăn chặn nhiều giao dịch truy nhập cùng các mục dữ liệu đồng thời trong các chế độ tương tranh (các hoạt động đọc và ghi) Nên, các khóa đồng bộ truy nhập đến các đối tượng CSDL Một khóa là một biến được kết hợp với một đối tượng dữ liệu trong CSDL, và nó mô tả kiểu của các hoạt động mà được thực hiện trên đối tượng dữ liệu tương ứng Trình quản lý khóa của một

hệ quản trị CSDL quản lý tất cả các khóa Việc sử dụng các khóa không có sự điều khiển tại các thời điểm mà các hoạt động khóa và mở khóa được thực hiện không đảm bảo tính khả tuần tự Vì thế, một cơ chế mà điều khiển sự sử dụng các khóa được yêu cầu nhằm duy trì tính nhất quán CSDL Để thỏa mãn tính nhất quán logic, các kỹ thuật

điều khiển đồng thời như Khóa hai pha đã được sử dụng.

Khóa hai pha (Two Phase Locking 2PL)

Giao thức 2PL cơ bản, là một kỹ thuật khóa bi quan, nó đảm bảo tính khả tuần tự của

một sự thực thi bằng cách điều khiển các thể hiện tại đó các hoạt động khóa và mở khóa được thực hiện Nó chia một sự thực thi của giao dịch ra làm hai pha Trong pha

đầu, hay còn gọi là pha tăng trưởng, một giao dịch có thể đạt được tất cả các khóa của

nó động theo nhu cầu phát sinh, nhưng nó có thể không giải phóng bất kỳ khóa nào

mà nó đang giữ Tuy nhiên, trong pha thứ hai, hay còn gọi là pha co lại

(shrinking-phase), giao dịch bắt đầu giải phóng động các khóa nó giữ, và không thể nhận được

thêm bất kỳ khóa nào nữa Nghĩa là, một khi một giao dịch giải phóng một khóa, nó sẽ không nhận thêm khóa nữa Ngoài ra, một giao dịch được phép nâng cấp từ một khóa

đọc lên một khóa ghi chỉ trong pha đầu Với 2PL, khi một giao dịch yêu cầu một khóa

mà đang được giữ bởi một giao dịch khác, giao dịch yêu cầu đợi cho đến khi giải phóng khóa Các giao dịch bị chặn được xếp hàng trong trình quản lý khóa Kỹ thuật

Trang 16

được dùng trong tổ chức hàng đợi này là điều quan tâm lớn trong các hệ thống cấp

thiết thời gian Nếu mọi giao dịch trong một lịch tuân theo giao thức 2PL, lịch sẽ được

bảo đảm là khả tuần tự và không cần được xác minh

Đồng bộ hóa các giao dịch CSDL thời gian thực trong các giao thức dựa trên khóa

Đảo ưu tiên là một điều rất không mong muốn trong các hệ thống CSDL thời gian thực do thực tế là kể từ lúc giao dịch có mức ưu tiên thấp hơn bị phân biệt trong sử dụng tài nguyên hệ thống, nên giao dịch bị chặn có mức ưu tiên cao hơn về bản chất đang chạy ở một mức ưu tiên hiệu quả bằng với những giao dịch có mức ưu tiên thấp

hơn Với một hệ thống CSDL thời gian thực đối phó với sự suy giảm này, khóa 2PL

cần được tăng cường với lược đồ điều khiển theo mức ưu tiên để đảm bảo rằng các giao dịch có mức ưu tiên cao hơn không bị trễ bởi các giao dịch có mức ưu tiên thấp

hơn Các lược đồ khác nhau như Kế thừa ưu tiên, hủy ưu tiên, Mức trần ưu tiên, và kế

thừa ưu tiên có điều kiện đã được đề xuất như là các cơ chế cơ bản để tổng hợp các

mức ưu tiên trong các giao thức dựa trên khóa, tất cả các giao thức trên sẽ được mô tả trong phần tiếp

Thuật toán 2PL Wait Promote (2PL-WP)

Thuật toán 2PL Wait-Promote (2PL-WP) là lược đồ ngược của sự kế thừa ưu tiên trong các hệ thống thời gian thực truyền thống Nó tương tự như giao thức 2PL cơ bản

về cách giải quyết các tranh chấp, đó là, các giao dịch luôn luôn chặn bất cứ khi nào một yêu cầu khóa bị từ chối Sự khác biệt nằm ở chỗ nó bao gồm một cơ chế kế thừa

ưu tiên Với cơ chế này, bất cứ khi nào một yêu cầu bị chặn đằng sau một giao dịch giữ khóa có mức ưu tiên thấp hơn, ưu tiên của giao dịch giữ khóa được đẩy đến giao dịch yêu cầu đó Nói cách khác, giao dịch giữ khóa có mức ưu tiên thấp hơn kế thừa mức ưu tiên cao hơn của giao dịch giữ khóa, và giao dịch giữ khóa giữ lại mức ưu tiên cao hơn đã được đánh giá này cho đến khi kết thúc Chú ý rằng không như một sự kế thừa ưu tiên thuần túy, nếu giao dịch ưu tiên cao hơn bị hủy trong khi nó bị khóa, giao dịch ưu tiên được đánh giá sẽ giữ mức ưu tiên đã đánh giá cho đến khi kết thúc

Thuật toán 2PL High-Priority (2PL-HP)

Ngày đăng: 08/07/2015, 16:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] R. Abbott and H. Garcia-Molina, “Scheduling Real-Time Transactions”, SIGMOD Record, Vol. 17, No. 1, March 1988 Sách, tạp chí
Tiêu đề: Scheduling Real-Time Transactions”, "SIGMOD Record
[2] R. Abbott and H. Garcia-Molina, “Scheduling Real-Time Transactions: A Performance Evaluation”, Proceedings of the 14th VLDB Conference, Los Angeles, California, March 1988 Sách, tạp chí
Tiêu đề: Scheduling Real-Time Transactions: A Performance Evaluation”, "Proceedings of the 14th VLDB Conference
[3] R. Abbott and J. Garcia-Molina, “Scheduling I/O requests with Deadlines: A Performance Evaluation”, Proceedings of Real-Time Systems Symposium, 1990 Sách, tạp chí
Tiêu đề: Scheduling I/O requests with Deadlines: A Performance Evaluation”, "Proceedings of Real-Time Systems Symposium
[5] R. Agrawal, M. Carey, and M. Livny, “Concurrency Control Performance Modeling: Alternatives and Implications”, ACM Transactions on Database Systems, December 1987 Sách, tạp chí
Tiêu đề: Concurrency Control Performance Modeling: Alternatives and Implications”, "ACM Transactions on Database Systems
[6] S. Baruah, G. Koren, D. Mao, B. Mishra, A. Raghunathan, L. Rosier, D. Shasha, and F. Wang, “On the Competitiveness of On-Line Real-Time Task Scheduling”, Proceedings of the 12th Real-Time Systems Symposium, 1991 Sách, tạp chí
Tiêu đề: On the Competitiveness of On-Line Real-Time Task Scheduling”, "Proceedings of the 12th Real-Time Systems Symposium
[8] “In memory Database for Voice and Data networks”, http://www.iec.org, 2006 Sách, tạp chí
Tiêu đề: In memory Database for Voice and Data networks”, "http://www.iec.org

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Mô hình CSDL thời gian thực - TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO ĐiỀU KHIỂN TƯƠNG TRANH VÀ LẬP LỊCH TRONG CSDL THỜI GIAN THỰC
Hình 1.1 Mô hình CSDL thời gian thực (Trang 7)
Hình 2.2 Thông lượng khi tải tăng - TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO ĐiỀU KHIỂN TƯƠNG TRANH VÀ LẬP LỊCH TRONG CSDL THỜI GIAN THỰC
Hình 2.2 Thông lượng khi tải tăng (Trang 28)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w