Lập lịch (Schedular)

Một phần của tài liệu Luận văn: Nghiên cứu các kĩ thuật quản lý hàng đợi trong mạng IP doc (Trang 42 - 44)

Bộ lập lịch sẽ quyết định xem gói nào được đưa ra giao diện đầu ra nào, sau đó hướng nó tới hop tiếo theo. Các router truyền thống chỉ có một hàng đợi đơn cho một đầu ra cố định do vậy bộ lập lịch của nó rất đơn giản. Nó sẽ tìm cách kéo gói ra khỏi hàng đợi nhanh như là tốc độ truyền nó. Còn tại các router có hỗ trợ kiến trúc CQS thì mỗi giao diện có tầng lập lịch để cùng chia sẻ khả năng của giao diện đầu ra có cùng các hàng đợi liên quan. Quá trình lập lịch này giúp cho các gói từ nhiều hàng đợi ra cùng một giao diện đầu ra không phải tranh chấp đầu ra, tránh được tắc nghẽn tại đầu ra.

Các thuật toán lập lịch có thể đơn giản hoặc cũng rất phức tạp, điều này tuỳ thuộc vào loại lưu lượng mà mạng truyền tải. Ta xét sơ lược các bộ lập lịch sau:

2.2.3.1 Tiến trình lập lịch đơn giản

• Ưu tiên chặt (strict priority):

Quá trình lập lịch này làm việc dựa trên các mức ưu tiên của các hàng đợi. Hàng đợi có mức ưu tiên cao nhất sẽ được truyền trước, chỉ khi các gói trong hàng đợi này được truyền hết (hàng đơi rỗng) thì các hàng đợi có mức ưu tiên thấp hơn mới được bắt đầu truyền. Quá tình này cứ tiếp diễn cho tới khi lặp lại một chu kì mới.

Ví dụ:

.

Hình 2.8 : Ví dụ bộ lập lịch gồm 4 hàng đợi

Giả sử hàng đợi thứ nhất có độ ưu tiên cao nhất, tiếp theo là các hàng đợi thứ 2, 3, 4 có độ ưu tiên thấp hơn. Bộ lập lịch sẽ ưu tiên chuyển các gói của hàng đợi thứ nhất đầu tiên cho tới khi hàng đợi này hoàn toàn rỗng. Tiếp theo các gói trong hàng đợi thứ hai sẽ được chuyển ra ngoài cho tới khi nó cũng hoàn toàn rỗng. Quá trình này cũng được thực hiện với các hàng đợi 3, 4. Các hàng đợi khác phải chờ hàng đợi 1 xử lý xong mới được truyền gói theo điều khiển của bộ lập lịch.

Thuật toán này rất đơn giản, tuy nhiên nó có nhiều nhược điểm. Bộ lập lịch chỉ xử lý các hàng đợi có độ ưu tiên cao, còn lại là “bỏ đói” các hàng đợi có độ ưu tiên thấp, nó gây lãng phí băng thông và tạo ra trễ lớn cho các lưu lượng có độ ưu tiên thấp do các hàng đợi có độ ưu tiên thấp phải chờ đợi để tới lượt mình thì mới được truyền. Giải quyết vấn đề này thì mạng phải có cơ chế định dạng lưu lượng để có thể hạn chế một phần lưu lượng tới hàng đợi có độ ưu tiên cao trong một thời gian dài để dành băng thông cho các hàng đợi có độ ưu tiên thấp hơn. Tuy nhiên cũng phải thừa nhận rằng cách này rất phù hợp với các lớp lưu lượng yêu cầu độ trễ nhỏ. Do nếu một lớp lưu lượng X yêu cầu trễ đầu cuối thấp thì nó sẽ luôn được gán vào các hàng đợi có mức ưu tiên cao nhất tại mỗi hop để chúng luôn được ưu tiên truyền trước. Tuy nhiên khi gói tin thuộc lớp X đến mà bộ lập lịch đang rỗi thì nó sẽ được xử lý ngay lập tức, còn nếu hàng đợi đang bận truyền các gói khác thì gói tin lớp X phải chờ cho các gói kia truyền hết. Độ trễ đầu cuối phụ thuộc nhiều vào tốc độ của kết nối và MTU cho mỗi kết nối.

• Round Robin (RR):

Thuật toán RR cho phép giải quyết vấn đề bỏ đói các hàng đợi có độ ưu tiên thấp bằng cách truyền các gói tin theo vòng tròn. Mỗi gói từ các hàng đợi sẽ được truyền lần lượt từ hàng đợi này tới hàng đợi khác, hết một chu kì các hàng đợi thì lại quay về hàng đợi đầu tiên và bắt đầu một chu kì mới.

Như trong ví dụ trên các gói sẽ được truyền theo trật tự 1,2,3,4 1,2,3,4….một cách đều đặn. Nếu có hàng đợi nào rỗng thì nó sẽ bỏ qua hàng đợi đó mà truyền hàng đợi tiếp theo. Cách này có độ trễ không phụ thuộc vào độ ưu tiên cao hay thấp của các hàng đợi mà độ trễ phụ thuộc vào tốc độ đường truyền và số lượng các gói bên trong hàng đợi bhiều hay ít.

Queue 3 Queue 2

Queue 1 Schedular

2.2.3.2 Các bộ lập lịch tương thích

Đối với các loại lưu lượng phức tạp hơn ta thường sử dụng bộ lập lịch tương thích. Để hỗ trợ cho QoS mạng chia ra thêm hai cấu trúc dịch vụ: Dịch vụ phân biệt (DS) dùng trong mạng lõi, và dịch vụ tích hợp (IS) dùng trong mạng biên. Bộ lập lịch cũng có nhiều loại phù hợp với các loại dịch vụ này: đối với dịch vụ DS ta có thể sử dụng bộ lập lịch RR tường minh, RR có trọng số, hay hàng đợi trên cơ sở lớp (CBQ), hàng đợi cân bằng có trọng số (WFQ)…

Thuật toán lập lịch Round Robin tường minh (DRR) là sự mở rộng của thuật toán RR. DRR sẽ theo dõi số lượng byte được gửi trong một hàng đợi và so sánh với số lượng các byte phải truyền trên đường truyền để chỉnh sửa khoảng thời gian truyền giữa các dịch vụ bằng cách thay đổi tốc độ bit truyền trong mỗi hàng đợi.

DRR ấn định cho mỗi hàng đợi một tham số Qn không đổi (bước lượng tử) và

tham số Dn thay đổi (lượng mất mát). Bước lượng tử Qn phản ánh số byte trung bình

mỗi vòng mong muốn hàng đợi truyền.Giá trị Dn bắt đầu từ 0 và sẽ thiết lập về 0 khi

hàng đợi rỗng. Khi bộ lập lịch nhảy sang hàng đợi mới thì nó sẽ thiết lập giá trị đếm

Bsent phản ánh sô byte đã được truyền ở hàng đợi trước đó. Các gói sẽ được truyền từ

hàng đợi thứ N nếu thoả mãn 2 điều kiện sau: + Hàng đợi có gói để truyền

+ Giá trị Qn+Dn phải lớn hơn hoặc bằng Bsent +số byte trong gói kế tiếp của hàng đợi.

Nếu hàng đợi rỗng thì Dn được lập về 0. Còn nếu bộ lập lịch dừng trước khi

hàng đợi rỗng thì sẽ tồn tại một giá trị Dn mới có giá trị trong khoảng (Bsent; Qn+Dn). Lúc này giá trị Dn sẽ được thiết lập từ Qn+Dn- Bsent và bộ lập lịch sẽ chuyển tới hàng

đợi tiếp theo. Đối với mỗi hàng đợi giá trị Qn+Dn thể hiện số lượng gói tối đa có thể

truyền trong suốt một chu kì.

Một phần của tài liệu Luận văn: Nghiên cứu các kĩ thuật quản lý hàng đợi trong mạng IP doc (Trang 42 - 44)

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

(99 trang)
w