Hệ thống hàng đợi có ưu tiên

Một phần của tài liệu Cơ sở mạng thồng tin ppt (Trang 37 - 43)

Các khách hàng sau khi đến hệ thống có thể phải đứng vào hàng đợi, do đó cần có các qui tắc nhất định để đảm bảo khách hàng được phục vụ một cách nhanh nhất. Tuy nhiên kích thước của hàng đợi không phải là một giá trị vô hạn, chính nguyên nhân này là nguồn gốc của các thông số khác liên quan đến hàng đợi và tổ chức hàng đợi.

Hàng đợi là một quan điểm toán học về tình huống trong thế giới thực, nó đưa ra các phân tích có khả năng đánh giá hiệu suất lưu lượng của khách hàng (như các cuộc gọi, các tế bào ATM, hay các mạng LAN) khi đi qua hàng đợi.

Có ít nhất 7 tham số thường sử dụng trong hệ thống đó là:

Kết cấu các mức ưu tiên (các lớp) của khách hàng đến, nếu có hơn một mức ưu tiên trong hàng đợi (ví dụ trong cửa hàng thì nam giới và phụ nữ là hai lớp) do đó thời gian phục vụ trong các mức ưu tiên là khác nhau.

Với mỗi mức ưu tiên khách hàng có phân bố tiến trình đến riêng. Với mỗi mức ưu tiên, kích thước hay số khách hàng tạo ra lưu lượng.

Phân bố thời gian phục vụ của Server hàng đợi (hành động của Server). Trong nhiều mạng truyền thông thường gọi là phân bố chiều dài.

Các qui tắc của hàng đợi.

Chiều dài tối đa của hàng đợi (phụ thuộc vào kích thước của Buffer). Phản ứng của khách hàng khi bị trễ, tắc nghẽn, …

2.6.1.Qui tắc và tổ chức hàng đợi

Một cách để các phần tử mạng xử lý các dòng lưu lượng đến là sử dụng các thuật toán xếp hàng để sắp xếp các loại lưu lượng.

Khách hàng đang đợi trong hàng đợi để được phục vụ có thể được lựa chọn theo nhiều cách, đầu tiên chúng ta quan tâm đến 3 loại qui tắc sau:

FCFS (First Come First Served ) nó thường được gọi là hàng đợi công bằng hay hàng đợi gọi và qui tắc này thường xuất hiện trong cuộc sống hàng ngày của chúng ta. Nó được xem như là FIFO, chú ý là FIFO chỉ sử dụng trong hàng đợi không sử dụng cho toàn hệ thống.

LCFS ( Last Come First sever) đó là chu trình ngăn xếp, như việc xếp hàng trên giá của cửa hàng.v.v … qui tắc này cũng xem như LIFO ( Last In First Out)

SIRO (Sevice In Random Order) tất cả các khách hàng đang đợi trong hàng đợi có xác suất để được chọn phục vụ như nhau. Nó còn được gọi là RANDOM hay RS (Random Selection).

Hai qui tắc đầu tiên chỉ sử dụng trong lần đến mà được xét, trong khi qui tắc thứ 3 không được xem như tiêu chuẩn và không yêu cầu nhớ. (Ngược với hai qui tắc đầu).

Như ba trường hợp đề cập ở trên tổng thời gian đợi cho tất cả các khách hàng là như nhau. Qui tắc của hàng đợi chỉ quyết định làm sao để xác định tổng thời gian đợi của khách hàng. Trong chương trình điều khiển hệ thống hàng đợi có thể có nhiều qui tắc phức tạp. Trong lý thuyết hàng đợi chúng ta giả thiết là tổng lưu lượng phát sinh là độc lập với qui tắc của hàng đợi.

Với hệ thống máy tính chúng ta thường cố gắng giảm tổng thời gian đợi, nó có thể thực hiện khi sử dụng thời gian phục vụ như là tiêu chuẩn:

SJF (Shortest Job First): Việc đầu tiên ngắn nhất. SJN (Shortest Job Next): Việc tiếp theo ngắn nhất.

SPF (Shortest Processing Time First): Thời gian xử lý đầu tiên ngắn nhất. Qui tắc này được giả thiết như là chúng ta biết thời gian phục vụ trong sự phát triển, qui tắc hàng đợi này tiểu hình hoá tổng thời gian đợi cho tất cả các khách hàng.

Như nói ở trên qui tắc ảnh hưởng tới thời gian đến hoặc thời gian phục vụ. Một sự thoả hiệp giữa các qui định có được bởi:

RR (Round Robin): một khách hàng được phục vụ cho trong một khoảng thời gian cố định (Time slice). Nếu dịch vụ không hoàn thành trong khoảng thời gian này, thì khách hàng trở lại hàng đợi là FCFS.

PS (Processor Sharing): tất cả khách hàng chia sẻ dung lượng dịch vụ bằng nhau.

FB (Foreground-Background): qui tắc này cố gắng thực hiện SJF mà không biết đến thời gian phục vụ sau này. Server sẽ cung cấp dịch vụ để khách hàng có thời gian phục vụ ít nhất. Khi tất cả các khách hàng có được thời gian phục vụ giống nhau, FB được xác định như là PS.

Qui tắc cuối cùng là qui tắc động do qui tắc hàng đợi phụ thuộc vào lượng thời gian sử dụng trong hàng đợi.

Từ các qui tắc trên những thuật toán xếp hàng hay dùng là: Xếp hàng vào trước ra trước (FIFO Queuing).

Xếp hàng theo mức ưu tiên (PQ - Priority Queuing). Xếp hàng tuỳ biến (CQ - Custom Queuing).

Xếp hàng theo công bằng trọng số (WFQ - Weighted Fair Queuing).

Xếp hàng vào trước ra trước (FIFO Queuing)

Trong dạng đơn giản nhất, thuật toán vào trước ra trước liên quan đến việc lưu trữ gói thông tin khi mạng bị tắc nghẽn và rồi chuyển tiếp các gói đi theo thứ tự mà chúng đến khi mạng không còn bị tắc nữa. FIFO trong một vài trường hợp là thuật toán mặc định vì tính đơn giản và không cần phải có sự thiết đặt cấu hình nhưng nó có một vài thiếu sót. Thiếu sót quan trọng nhất là FIFO không đưa ra sự quyết định nào về tính ưu tiên của các gói cũng như là không có sự bảo vệ mạng nào chống lại những ứng dụng (nguồn phát gói) có lỗi. Một nguồn phát gói lỗi phát quá ra một lưu lượng lớn đột ngột có thể là tăng độ trễ của các lưu lượng của các ứng dụng thời gian thực vốn nhạy cảm về thời gian. FIFO là thuật toán cần thiết cho việc điều khiển lưu lượng mạng trong giai đoạn ban đầu nhưng với những mạng thông minh hiện nay đòi hỏi phải có những thuật toán phức tạp hơn, đáp ứng được những yêu cầu khắt khe hơn.

Xếp hàng theo mức ưu tiên (PQ - Priority Queuing)

Thuật toán PQ đảm bảo rằng những lưu lượng quan trọng sẽ có được sự xử lý nhanh hơn. Thuật toán được thiết kế để đưa ra tính ưu tiên nghiêm ngặt đối với những dòng lưu lượng quan trọng. PQ có thể thực hiện ưu tiên căn cứ vào giao thức, giao diện truyền tới, kích thước gói, địa chỉ nguồn hoặc điạ chỉ

đích ...Trong thuật toán, các gói được đặt vào 1 trong các hàng đợi có mức ưu tiên khác nhau dựa trên các mức độ ưu tiên được gán (Ví dụ như bốn mức ưu tiên là High, Medium, Normal, và Low) và các gói trong hàng đợi có mức ưu tiên cao sẽ được xử lý để truyền đi trước. PQ được cấu hình dựa vào các số liệu thống kê về tình hình hoạt động của mạng và không tự động thích nghi khi điều kiện của mạng thay đổi. (Hình 2.14)

Hình 2-14 Thuật toán xếp hàng theo mức ưu tiên

Xếp hàng tuỳ biến (Custom Queuing)

CQ được tạo ra để cho phép các ứng dụng khác nhau cùng chia sẻ mạng với các yêu cầu tối thiểu về băng thông và độ trễ. Trong những môi trường này, băng thông phải được chia một cách tỉ lệ cho những ứng dụng và người sử dụng. CQ xử lý lưu lượng bằng cách gán cho mỗi loại gói thông tin trong mạng một số lượng cụ thể không gian hàng đợi và phục vụ các hàng đợi đó theo thuật toán round -robin (round-robin fashion). Cũng giống như PQ, CQ không tự thích ứng được khi điều kiện của mạng thay đổi. (hình 2.15)

Hình 2-15 Xếp hàng cân bằng trọng số

Xếp hàng công bằng trọng số (WFQ - Weighted Fair Queuing)

Trong trường hợp muốn có một mạng cung cấp được thời gian đáp ứng không đổi trong những điều kiện lưu lượng trên mạng thay đổi thì giải pháp là thuật toán WFQ. Thuật toán WFQ tương tự như CQ nhưng các giá trị sử dụng băng thông gán cho các loại gói không được gán một các cố định bởi

người sử dụng mà được hệ thống tự động điều chỉnh thông qua hệ thống báo hiệu Qos.

WFQ được thiết kế để giảm thiểu việc thiết đặt cấu hình hàng đợi và tự động thích ứng với sự thay đổi điều kiện lưu lượng của mạng. Thuật toán này phù hợp với hầu hết các ứng dụng chạy trên những đường truyền không quá 2Mbps.

2.6.2.Độ ưu tiên của khách hàng trong hàng đợi ưu tiên

Khách hàng được chia thành p lớp ưu tiên. Khách hàng ở lớp ưu tiên k có độ ưu tiên cao hơn so với khách hàng ở lớp ưu tiên k+1. Hàng đợi ưu tiên lại đựoc chia thành các nhóm sau:

Không ưu tiên phục vụ trước (Non-preemptive hay là HOL - Head of

the Line): Khách hàng đến với mức độ ưu tiên cao hơn so với khách hàng đang được phục vụ thì vẫn phải chờ cho đến khi server phục vụ xong khác hàng này (và phục vụ xong tất cả các khách hàng khác có mức độ ưu tiên cao hơn nó).

Ưu tiên phục vụ trước (preemptive): Việc phục vụ khách hàng có quyền

ưu tiên thấp sẽ bị ngừng lại khi có một khách hàng mà quyền ưu tiên của nó cao hơn đến hệ thống. Ưu tiên phục vụ trước lại có thể chia thành các nhóm nhỏ sau:

Phục hồi ưu tiên (preemptive resume), khi mà sự phục vụ được tiếp tục từ thời điểm mà nó bị ngắt quãng trước đó.

Ưu tiên không lấy mẫu lại (preemptive without resampling), khi mà sự phục vụ bắt đầu lại từ đầu với khoảng thời gian phục vụ không đổi.

Ưu tiên lấy mẫu lại (preemptive with resampling), khi mà sự phục vụ bắt đầu lại với khoảng thời gian phục vụ mới.

2.6.3.Duy trì qui tắc hàng đợi, luật Kleinrock

Giả thiết thời gian phục vụ của khách hàng là độc lập với qui tắc của hàng đợi. Do dung lượng của Server là hạn chế và độc lập (chiều dài hàng đợi) và sau một thời gian Server đạt đến ngưỡng và tốc độ phục vụ bị giảm.

Chúng ta giới thiệu hai hàm thường áp dụng rộng rãi trong lý thuyết hàng đợi:

Hàm tải U (t)

Là hàm phụ thuộc thời gian, nó phục vụ khách hàng đã đến tại thời điểm t, hàm U(t) độc lập với qui tắc của hàng đợi. Giá trị trung bình của hàm tải là

Thời gian đợi ảo W (t)

Là thời gian đợi của khách hàng khi anh ta đến tại thời điểm t, thời gian đợi ảo phụ thuộc vào qui tắc hàng đợi, giá trị trung bình là W=E{W(t)}. Nếu qui tắc hàng đợi là FCFS thì U(t)=W(t), trong tiến trình Poisson thì thời gian đợi ảo sẽ bằng thời gian đợi thực tế.

Định lý:Luật Kleinrock:    A V A W Ai i 1 . . =const

(V là thời gian phục vụ trung bình ở thời điểm bất kỳ)

Thời gian đợi trung bình cho tất cả các loại khách hàng (lớp) bị tác động bởi lưu lượng tải của lớp đang xét là độc lập với qui tắc của hàng đợi.

2.6.4.Một số hàng đợi đơn server

Hình 2-16 Một số loại hàng đợi đơn server thường gặp

2.6.5.Kết luận

Lý thuyết hàng đợi đã được nghiên cứu ngay từ trong mạng chuyển mạch kênh, tuy nhiên việc áp dụng trong mạng chuyển mạch kênh còn hạn chế,

sau đó đã được nghiên cứu sâu rộng trong mạng chuyển mạch gói với việc đóng gói dữ liệu. Các tín hiệu thoại truyền thống được số hoá, đóng gói và chuyển tải trong mạng gói như là một phần cơ sở của mạng dữ liệu.

Tiến trình điểm là tiến trình quan trọng nó cho phép phân biệt các khách hàng đến (các sự kiện) và nó là một tiến trình ngẫu nhiên với các tính chất như: tính độc lập, tính đều đặn tại mọi thời điểm và tính dừng. Tiến trình Poisson là một tiến trình điểm và là tiến trình quan trọng nhất. Các tiến trình khác chỉ là rút gọn hay phát triển của tiến trình Poisson. Tiến trình Poisson là tiến trình mô tả nhiều tiến trình trong đời sống thực tế nên nó là tiến trình ngẫu nhiên nhất do vậy nó đóng vai trò như là một tiến trình chuẩn trong phân bố thống kê.

Các khách hàng đến (gói hay cuộc gọi) một Server nó có thể được phục vụ ngay hoặc phải mất một khoảng thời gian chờ nào đó cho đến khi Server rỗi và thực hiện tiếp nhận xử lý. Các qui tắc phục vụ các khách hàng đợi được phục vụ được thiết lập cho các Server qua đó các khách hàng lần lượt được phục vụ theo mức ưu tiên của mình do vậy các khách hàng có độ ưu tiên khác nhau thì có thời gian chờ khác nhau. Các thông số này được quyết định bởi thuật toán xếp hàng của hàng đợi và cũng từ đó ảnh hưởng tới QoS của các loại dịch vụ cung cấp trên mạng.

Các thông số của hàng đợi được xác định thông qua lý thuyết xác suất thống kê, định lý Little, qui tắc duy trì hàng đợi Kleinrock và quan trọng hơn cả là các tiến trình đi - đến của khách hàng là các tiến trình Poisson với phân bố hàm mũ cùng với thuật toán xếp hàng của nó.

Xác định các thông số hàng đợi như: chiều dài hàng đợi ở các thời điểm bất kỳ hoặc ngay cả khi có khách hàng, … qua đó đưa ra các phương án điều khiển lưu lượng trên mạng cho phù hợp nhằm giảm thiểu các sự cố trên mạng đánh giá được hiệu suất sử dụng tài nguyên đồng thời xác định được cấp QoS mà có thể cung cấp trên mạng, đó là cơ sở cho việc thiết kế các mạng hệ thống viễn thông sau này.

Một phần của tài liệu Cơ sở mạng thồng tin ppt (Trang 37 - 43)

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

(151 trang)