Chương 18: Chọn lựa các thông số ERICA Hàm điều khiển hàng đợi trong giải thuật ERICA+ có 4 thông số: To,a,b và QDLF. Trong phần này chúng ta sẽ giải thích cách chọn giá trò cho cho các thông số và các kỹ thuật để giảm biến động giá trò hàm f(T q ). Hàm f(T q ) có ba phần : (1) hàm hyperbol mô tả bởi thông số b (gọi là b-hyperbol) có độ trì hoãn hàng đợi từ 0 đến To, (2) hàm a-hyperbol có độ trễ hàng đợi từ To đến khi f(T q ) bằng QDLF , (3) QDLF. Vì vậy f(T q ) nằm trong khoảng [QDLF,b]. +Thông số a và b: a và b là các phần bò chắn của hai hàm a-hyperbol và b- hyperbol, có nghóa là giá trò của f(T q ) khi q=0.Thông số b quyết đònh dung lượng vượt mức quy đònh sẽ được phân cấp khi độ trễ hàng đợi bằng 0. Hai thông số a và b cũng quyết đònh độ dốc của hàm hyperbol hay nói cách khác tốc độ f(T q ) giảm là một hàm của độ trễ hàng đợi. a và b càng lớn lảm giải thuật càng nhạy với độ trễ hàng đợi, ngược lại a và b càng nhỏsẽ tăng thời gian cần thiết để đạt đến điểm vận hành mong muốn. Tiêu biểu thì b nhỏ hơn a, b quyết đònh lượng băng thông phân cấp vượt quá mức quy đònh để đạt đến độ trì hoản đích nhanh chóng ở trạng thái xác lập.Bất cứ một sự vượt mức phân cấp nhỏ trên 100% dung lượng ABR đều thích hợp. Thông số a chủ yếu quyết đònh tốc độ hàm f(T q ) giảm. A không nên quá khác so với b bởi vì điều này có thể dẫn đến băng thông đựơc phân cấp có sự khác nhau lớn khi độ trễ khác To một lượng nhỏ. Mặt khác a củng phải đủ lớn để điều khiển hàng đợi nhanh chóng. Người ta thấy rằng a = 1.15 và b = 1.05 hoạt động tốt đối với tất cả các tải làm việc được thử nghiệm. Vì vậy khi hàng đợi bằng 0 chúng ta có thể phân cấp vượt quá 5% dung lượng sẵn có để đưa hàng đợi đến Q 0 . Giá trò b càng cao cho phép nguồn quá tải trong phạm vi càng rộng. Điều này có thể dẫn đến quá tải quá độ và chiều dài hàng đợi sẽ tăng đột ngột. b = 1 cũng có thể chấp nhận được khi biến động lớn, nhưng trong trường hợp này túi hàng đợi tăng rất chậm. Các thông số a và b độc lập tương đối với To và QDLF. Nếu cho trước giá trò a và b thì hàm chỉ phụ thuộc vào cách chọn To và QDLF mà sẽ được mô tả dưới đây. + Độ trẽ hàng đợi đích To: Khi f(T q ) là một trong hai hàm hyperbol, hệ số góc của nó (df/dq) tỉ lệ nghòch với To. Khi a là hằng số, To càng lớn càng làm giảm độ dốc của đồ thò vì vậy cũng giảm độ hiệu quả. Độ trễ hàng đợi cần thiết để giảm dung lượng ABR bởi một thông số cố đònh thì tỉ lệ thuận với To. Nó cũng tỉ lệ thuận với dung lượng ABR. Vì vậy khi dung lượng ABR lớn ( trong trường hợp mạng OC-3 và mạng tốc độ cao), hàng đợi cần phải tăng đến một giá trò lớn trước khi rút. Do đó còn tùy thuộc vào giá trò To lớn nhất và tốc độ xóa hàng đợi quá độ. Giá trò To lớn nhất phụ thuộc vào kích thước hàng đợi tại chuyển mạch và phải được thiết lập để cho phép điều khiển hàng đợi trước khi bộ đệm bò giới hạn. Chúng ta có thể sử dụng một cơ chế là duy trì kích thước bộ đệm ít nhất bằng tổng của độ trễ hồi tiếp và 8 x To (giả sử a = 1.15, QDLF = 0.5, dung lượng ABR cố đònh và các thông số khác không đáng kể). Độ trễ hồi tiếp là thời gian đủ để hàm đạt đến QDLF. Đối QDLF có giá trò khác, kích thước bộ đệm được đề nghò là: 1).QDLF-(a QDLF).To - (a . Giá trò To lớn nhất được tính bằng cách lấy nghòch đảo hàm trên: QDLF)(a 1).QDLF (a To max Giá trò To nhỏ nhất cũng được yêu cầu để vận hành ổn đònh. Nếu To quá nhỏ, hàm f(T q ) có thể vượt quá khoảng [QDLF,b] trong thời gian 1).QDLF(a QDLF).To (a , với giả sử dung lượng cố đònh trong khoảng thời gian này. Khoảng thời gian này có thể ngắn hơn độ trễ hồi tiếp nên dẫn đến những dao động không mong muốn về tốc độ và hàng đợi. Đó là do f(T q ) thay đổi từ b đến QDLF trước khi hồi tiếp có tác dụng. Cách hoạt động như vậy không được mong muốn bởi vì giải thuật rất nhạy cảm với sự thay đổi trong chiều dài hàng đợi. Chiều dài hàng đợi chỉ là thông số thứ cấp. Hơn nữa giá trò To tối thiểu bằng túi hàng đợi mong muốn. Đối với mạng WANs, To ít nhất bằng QDLF)(a 1).QDLF (a của độ trễ hồi tiếp (bằng 1/8) với giả sử a = 1.15, QDLF = 0.5. Đối với mạng LANs, chúng ta thiết lập To ít nhất bằng thời gian một vòng hồi tiếp để giảm tính nhạy chiều dài hàng đợi nhỏ của dung lượng ABR. Trong trường hợp có biến động lớn hay gặp lỗi trong đo lường, túi hàng đợi có thể không đạt được. Yrong trường hợp này mục tiêu là độ thông suất cao và To nên được thiết lập gần với giá trò tối thiểu để cho phép rút hàng đợi nhanh chóng. + Hệ số giới hạn rút hàng đợi QDLF: QDLF đảm bảo có đủ dung lượng để rút hàng đợi quá độ và được đề nghò giá trò là 0.5 cho chuyển mạch WAN và 0.8 cho chuyển mạch LAN. Chuyển mạch LAN cần có dung lượng rút hàng đợi nhiều hơn do độ trễ hồi tiếp của các VC dài hơn và do đó thời gian đáp ứng quá tải quá độ cũng dài hơn. Các chuyển mạch LAN có thể nhận hồi tiếp nhanh chóng và To nhỏ, hàm f(T q ) có thể dòch chuyển nhanh chóng trong khoảng [QDLF,b]. Với các điều kiện này, dung lượng rút hàng đợi lớn là không cần thiết do do hàng đợi không bao giờ tăng cao. Đối với các cấu hình như vậy, QDLF có thể có giá trò cao hơn(ví dụ 0.8). Thông số QDLF xác đònh cận dưới của hàm f(T q ) và giá trò này chỉ đạt được khi hàng đợi lớn. Do To lớn làm giảm độ hiệu quả của hàm f(T q ) nên phải chọn a nhỏ. Đây cũng là một trong những nhân tố ảnh hưởng đến sự lựa chọn giá trò a. 3.2 Điều khiển thông số sử dụng (UPC_Usage Parameter Control) và giải thuật Leaky Bucket: Trong thực tế việc điều khiển lưu lượng thông tin trong một mạng tổng quát đòi hỏi phải được thực hiện ở nhiều cấp độ khác nhau và phức tạp. Các nguồn kết nối vào mạng đều có các giới hạn lưu lượng thông tin gửi vào mạng; tuy nhiên chúng thường gửi thông tin nhiều hơn mức độ cho phép hay nói cách khác các nguồn thường xuyên vi phạm về lưu lượng thông tin. Do đó các nhà quản trò mạng phải có các giải pháp cho việc điều khiển luồng lưu lượng mà các user stations gửi vào mạng và các giải pháp này được xem như là nền tảng cho các giải pháp ở mức độ cao hơn (được thực thi bên trong mạng và có tính chất phức tạp hơn nhiều) để điều khiển lưu lượng thông tin trong mạng. Trong phần này ta sẽ đề cập đến việc điều khiển lưu lượng thông tin trong mạng thông qua việc điều khiển lưu lượng của các nguồn kết nối vào mạng để các nguồn này thoả mãn và không vi phạm các thông số đã được thoả thuận trong hợp đồng lưu lượng. Phương pháp điều khiển này gọi là điều khiển thông số sử dụng(UPC) mà đã được đề cập ở chương 2. Điều khiển thông số sử dụng được xây dựng trong cell layer và thường được áp dụng trong các bộ điều khiển đặt tại UNI(user network interface). Một giải thuật quen thuộc được đưa ra nhằm thực thi điều khiển thông số sử dụng là giải thuật Leaky Bucket. Trong phần này ta sẽ khái quát lại về UPC và sau đó ta sẽ đưa ra các dạng của giải thuật Leaky Bucket; trên cơ sở đó sẽ chọn ra giải thuật LB hiệu quả cho UPC. 3.2.1 Điều khiển thông số sử dụng(UPC): UPC được đònh nghóa là một tập các hoạt động của mạng để giám sát và điều khiển lưu lượng tuân theo hợp đồng lưu lượng tại điểm truy nhập của người sử dụng UNI. Trong thực tế tài nguyên mạng là hữu hạn và được phân chia cho các user stations theo các tỉ lệ đã được thoả thuận thông qua bảng hợp đồng lưu lượng. Như vậy nếu một user nào đó vi phạm lưu lượng đã thoả thuận mà không được xử lý sẽ làm giảm chất lượng dòch vụ mà mạng cung cấp cho các user khác. Mục đích chính của điều khiển thông số kết nối là để bảo vệ tài nguyên mạng khỏi các vi phạm trong một số các luồng lưu lượng mà có thể làm chất lượng dòch vụ của các kết nối khác. Điều này được thực hiện bằng cách phát hiện các vi phạm đối với các thông số đã thoả thuận và thực hiện các hoạt động cần thiết. Công việc giám sát cho điều khiển thông số sử dụng UPC được thực hiện bằng cách: + Kiểm tra sự hợp lệ của các giá trò VPI và VCI. + Giám sát lưu lượng vào mạng từ mỗi VCC và VPC để đảm bảo các thông số đã thoả thuận không bò vi phạm. Hoạt động giám sát này được thực hiện tại điểm kết thúc của liên kết VC (VC link) đầu tiên đối với các VCC và tại VP link đầu tiên đối với các VPC. Các giải thuật điều khiển thông số sử dụng UPC: Một giải thuật xác đònh cho các hoạt động của UPC vẫn chưa được chuẩn hóa. Tuy nhiên một số đặc điểm cần phải có của giải thuật điều khiển có thể được xác đònh như sau: + Khả năng phát hiện các vi phạm bất kỳ. + Sự chọn lựa trên giới hạn của các thông số được kiểm tra(nghóa là giải thuật phải xác đònh được người sử dụng có hoạt động trong một vùng có thể chấp nhận được hay không. + thời gian đáp ứng nhanh đối với các vi phạm về thông số. Ngoài ba yêu cầu quan trọng ở trên, các giải thuật đưa ra còn phải thỏa mãn yếu tố đơn giản, kinh tế và có tính khả thi. Có nhiều giải thuật được đưa ra để điều khiển tốc độ đỉnh, tốc độ trung bình; tuy nhiên vì tính hiệu quả, sự đơn giản và khả năng đáp ứng nhanh của nó mà giải thuật Leaky Bucket(LB) được sử dụng rộng rãi nhất trong UPC. 3.2.2 Các giải thuật Leaky Bucket: Trong phần này ta sẽ đưa ra các giải thuật LB được khuyến nghò và sau đó ta sẽ đưa ra kết luận cho một giải thuật hiệu quả nhất. Việc phân chia các giải thuật khác nhau là có tính chất tương đối vì các giải thuật khác nhau thực tế cũng chỉ khác nhau ở vài điểm nhỏ chủ yếu là số lượng buffer mà chúng sử dụng. Vì sự khác nhau ở số lượng buffer mà chúng có các tính chất khác nhau và có phạm vi ứnh dụng khác nhau. 3.2.2.1 Leaky Bucket không có buffer: Hình 3.1 minh họa cho cấu tạo của một bộ điều khiển giải thuật LB không có bộ đệm. Trong hình vẽ ta thấy các cells và các token được đưa trực tiếp đến bộ kiểm tra. Tại bộ kiểm tra này từng cell chỉ được đưa vào mạng khi chúng đến cùng với một token. Điều này có nghóa là token đóng vai trò như một giấy thông hành cho cell vào mạng. Ta gọi r là tốc độ tạo token và xét một luồng cell có các thông số sau: m: tốc độ trung bình của các cell. p: tốc độ đỉnh của luồng cell. Y: là hệ số gia tăng của tốc độ trung bình Trong hệ LB không có buffer thì tốc độ cell vào mạng hoàn toàn phụ thuộc vào tốc độ tạo token r. Khi các nguồn cell có tốc độ nhỏ hơn r thì tất cả các cell đều được vào mạng. Khi các nguồn cell phát cell ở tốc độ lớn hơn r thì chỉ có một phần các cell được gửi vào mạng với tốc độ r còn các cell làm tốc độ r sẽ bò bỏ qua. Như vậy tốc độ cell gửi vào mạng sẽ có cận trên là r và cận dưới là tốc độ tối thiểu được thỏa thuận với mạng. Tính chất của hệ điều khiển LB không có bộ đệm (buffer) có thể rút ra như sau: tỉ lệ mất cell lớn khi tốc độ nguồn phát dưới dạng nguồn on-off trong đó tốc độ cell trong thời gian t on có giá trò lớn hơn r ; đây cũng chính là khuyết điểm lớn nhất của dạng LB này. Do khuyết điểm này nên dạng LB không có buffer chỉ được sử dụng một cách hạn chế như trong việc điều khiển tốc độ đỉnh. Ưu điểm của bộ LB không có buffer là không tạo thời gian trễ (delay) cho luồng cell vào mạng. Tốc độ tức thời và trung bình của cell vào mạng sẽ có giá trò nhỏ hơn hay bằng giá trò r. 3.2.2.2 Leaky Bucket có data buffer: Cell in Cell out Token in Check Hình 3.1 Bộ diều khiền LB không có buffer Cell in Cell out Token in Check Hình 3.2 Bộ diều khiền LB có data buffer Bộ điều khiển LB có data buffer được trình bày như trong hình 3.2. Bộ điều khiển LB này chỉ khác bộ điều khiển LB không có buffer ở chổ nó có một vùng đệm data cho các cell khi chúng được gửi đến làm vượt quá tốc độ tạo token r (các cell vi phạm về tốc độ). Như vậy ta có thể tóm tắt hoạt động của bộ điều khiển có data buffer như sau: khi luồng cell được gửi vào bộ LB với tốc độ nhỏ hơn r thì chúng sẽ không được lưu vào bộ đệm mà sẽ được gửi trực tiếp đến bộ kiểm tra. Tại bộ kiểm tra các cell này sẽ đương nhiên được gửi vào mạng vì chúng có tốc độ nhỏ hơn r. Khi nguồn phát ra luồng cell có tốc độ lớn hơn r thì chỉ có một phần các cell được vào mạng với tốc độ r, phần các cell còn lại sẽ được chứa trong bộ data buffer nếu như bộ này còn trống. Nếu tại thời điểm sau đó nguồn lại phát luồng cell ở tốc độ nhỏ hơn r thì các cell bò thừa được lưu trong data buffer (ở thời điểm vi phạm trước). Sẽ được tiếp tục gửi vào mạng. Như vậy bằng cách đặt một bộ data buffer ta đã có thể thực hiện được việc san bằng tốc độ luồng cell vào mạng để tốc độ trung bình của luồng cell vào mạng nhỏ hơn hay bằng tốc độ tạo token r. Tóm lại bộ data buffer có tính chất làm trung bình hóa tốc độ cell, lưu các cell thừa ở thời điểm vi phạm tốc độ để phát chúng ở thời điểm mà luồng cell có tốc độ nhỏ hơn r. Dung lượng bộ đệm data buffer và tốc độ tạo token quyết đònh chiều dài tối đa tính theo cell của luồng cell tại một tốc độ r cell để không có cell nào bò mất khi phát cố đònh tại tốc độ r cell đó. Nếu ta gọi B là dung lượng bộ đệm (B tính theo cell ) thì ta có: rr B.r 1CBS cell cell max (*) Trong công thức trên CBS max chính là số cell tối đa mà nguồn phát có thể phát liên tục ở tốc độ r cell để không có cell nào bò mất. Như vậy ta nhận thấy bộ LB có data buffer có ưu điểm là san bằng tốc độ luồng cell phát vào mạng thông qua việc sử dụng data buffer. Tại một tốc độ r cell > r thì số cell tối đa mà nguồn có thể phát liên tục được tính theo công thức (*). Tuy data buffer làm giảm mức độ mất cell một cách đáng kể thì chính data buffer lại gây nên cự delay không mong muốn của luồng cell; do đó bộ điều khiển LB có data buffer chỉ được ứng dụngcho các dòch vụ không có yêu cầu nghiêm ngặt về mức độ delay. 3.2.2.3 Leaky Bucket có data buffer và token pool: Hình 3.3 thể hiện cấu trúc của một bộ LB có hai bộ đệm là data buffer và token pool. Bộ LB này vẫn có khuyết điểm là tạo nên thời gian delay cho luồng cell vào mạng. Tuy nhiên nếu ta ứng dụng bộ LB có hai buffer vào các dòch vụ không có đòi hỏi gắt gao về delay thì nó sẽ có ưu điểm lớn nhất . Bộ data buffer như đã đề cập ở trên có chức năng san bằng tốc độ luồng cell vào mạng còn buffer cho token có chức năng để giành token khi chúng chưa được sử dụng hết lúc tốc độ cell nhỏ hơn tốc độ tạo token. Thực vậy khi một luồng cell có tốc độ cell là r cell < r đưa vào bộ LB thì chỉ có một số token được gán cho các cell với tốc Cell in Cell out Token in Check Hình 3.3 Leaky Bucket có data buffer và token pool độ r cell , số token còn lại sẽ được chứa trong bộ token pool. Nếu như ở thời điểm sau tốc độ cell vượt quá tốc độ tạo token thì các token trước đó được chứa trong token pool sẽ được gán cho các cell làm vượt quá tốc độ. Như vậy token pool có chức năng tận dụng tối đa các token được phát cho các cell. Ta cần chú ý rằng việc thêm một bộ đệm token pool vào bộ điều khiển đã làm thay đổi tính chất điều khiển của bộ LB. Ở hai loại LB trên thì tốc độ cell vào mạng có cận trên là tốc độ token r. Khi các cell có tốc độ lớn hơn r thì chúng sẽ bò mất hay được lưu vào bộ data buffer và chờ khi cho đến khi r cell < r thì sẽ tiếp tục vào mạng. Với trường hợp có data buffer và token pool thì tốc độ vào mạng của các cell có thể lớn hơn tốc độ tạo token và tại một thời điểm nhất đònh thì tốc độ cell vào mạng có thể đạt tốc độ đỉnh. Sự kiện này xảy ra khi trước thời điểm đó nguồn phát các cell có tốc độ cell r cell nhỏ hơn r nên sẽ có các token lưu vào lưu vào trong token pool và nguồn tăng tốc độ đến tốc độ đỉnh . Tuy nhiên nếu quan sát trên thời gian dài thì ta có thể thấy rằng bộ điều khiển LB có data buffer và token pool sẽ có chức năng điều khiển tốc độ trung bình của luồng cell vào mạng, làm cho tốc độ trung bình này hội tụ về tốc độ token r. Đây là tính chất quan trọng của LB có hai buffer. . bên trong mạng và có tính chất phức tạp hơn nhiều) để điều khiển lưu lượng thông tin trong mạng. Trong phần này ta sẽ đề cập đến việc điều khiển lưu lượng thông tin trong mạng thông qua việc điều. khiển lưu lượng của các nguồn kết nối vào mạng để các nguồn này thoả mãn và không vi phạm các thông số đã được thoả thuận trong hợp đồng lưu lượng. Phương pháp điều khiển này gọi là điều khiển. lựa chọn giá trò a. 3.2 Điều khiển thông số sử dụng (UPC_Usage Parameter Control) và giải thuật Leaky Bucket: Trong thực tế việc điều khiển lưu lượng thông tin trong một mạng tổng quát đòi hỏi