3 Đảm bảo an ninh và tính sẵn sàng của dịch vụ đáp ứng QoS
2.10 Quan hệ giữa kích thước hàng đợi và các tham số lưu lượng
(1) Nếu kích thước bộ đệm nhỏ hơn độ trễ yêu cầu của QoS () sẽ gây nên hiện tượng tràn hàng đợi (Xem Hình 2.10(a)). Vì các gói tin sẽ phải đợi chờ lâu hơn so với mức thỏa thuận dịch vụ được thiết lập.
(2) Nếu dung lượngC của lớp dịch vụ tăng thì chúng ta có thể cung cấp QoS () như nhau với kích thước bộ đệm hàng đợi là nhỏ nhất (Xem Hình 2.10(b)). (3) Nếu tham số Hurst (H) tăng và biến thiên trễ (ρ) tăng chúng ta cần bộ đệm hàng đợi lớn hơn để đáp ứng được lưu lượng đến nhằm giảm xác suất mất gói tin (Xem Hình 2.10(c) và Hình 2.10(d)).
Với những phân tích trên, ta chứng minh được bài toán tối ưu cấp phát tài nguyên tập trung đáp ứng yêu cầu về QoS của các lớp dịch vụ ở định nghĩa 2.4
có hàm mục tiêu là một hàm lồi (convex function).
Mệnh đề2.1. Hàm mục tiêuf =max S n P i=1 pisiC− n P i=1 diDi(si)eβi(Di(si)−di) thỏa
mãn các ràng buộc (2.26) là bài toán tối ưu lồi (Convex optimization problem) Với những giả thiết ở trên, Kallitsis đã chỉ ra rằng chiều dài hàng đợi và trễ xác suất dự kiến đối với mỗi lớp dịch vụ Di(si) là một hàm lồi trên R. Thật vậy, ta có: Di(si) =A(si−α¯)H/(H−1)
si với A= (kσ)1/(1−H)H1/(1−H)(1−H)>0
Lấy đạo hàm cấp 1 theosi ta có:
∂Di ∂si =A ( H H−1 (si−α)1/(H−1) si −(si−α) H/(H−1) s2 i )
Lấy đạo hàm cấp 2 theosi ta có:
∂2Di ∂s2 i =A ( 2H 1−H (si−α)1/(H−1) s2 i + H (H−1)2 (si−α)(2−H)/(H−1) si +2 (si−α)H/(H−1) s3 i )
Từ các công thức trên, kết hợp với H ∈ [1/2,1)chúng ta có thể chỉ ra rằng D00i(si) > 0 là một tập thỏa được nên suy ra Di(si) là lồi trên R. Hàm chi phí ci(si) =biDi(si)eβi(Di(si)−di)là hàm mũ không giảm. Nếuh là hàm lồi không giảm và g là lồi thì f =h(g(x)) cũng là một hàm lồi. Từ đó, suy ra ci(Di(si)) cũng là hàm lồi trên R. Hơn nữa, ta có g(s) = PK
i=1ci(si) là lồi trên RK bởi vì ma trận xác định dương (Ma trận Hessian có các phần tử trên đường chéo chính dương nên nó xác định dương). ∇2g = ∂2D1 ∂s2 1 0 · · · 0 0 ∂2D2 ∂s2 2 · · · 0 .. . ... . .. ... 0 0 · · · ∂2DK ∂s2 K Vì −g(s) là lõm nên P pisiC cũng là hàm lõm vì là tổng của hai hàm lõm. Do đó bài toán chúng ta đang xét là bài toán tối ưu lồi với hàm mục tiêu là hàm lõm (Điều phải chứng minh).
Về mặt lý thuyết, bài toán tối ưu lồi cần tìm max hàm mục tiêu là hàm lõm với các ràng buộc là tuyến tính thì ta có thể giải được nghiệm chính xác trong thời gian đa thức. Có 2 hướng tiếp cận để giải bài toán tối ưu phi tuyến này là:
- Phương pháp tất định (Deterministic methods) sử dụng các tính chất giải tích của hàm mục tiêu và các hàm ràng buộc như: phương pháp kiểu New- ton (Newton-Type), quy hoạch toàn phương liên tục (Sequential Quadratic Programming-SQP), quy hoạch tách, quy hoạch lồi [53]. Trong các trường hợp đó phương án tối ưu toàn cục có thể tìm được sau một số hữu hạn bước tính toán với độ chính xác cho trước. Tuy nhiên, đối với bài toán tối ưu cấp phát tài nguyên tập trung cho các lớp dịch vụ thì các phương pháp tất định tỏ ra không có hiệu quả, vì chúng đều có độ phức tạp là đa thức với hệ số là hàm mũ nên chỉ có thể áp dụng được khi số lượng lớp dịch vụN nhỏ còn khi số lớp dịch vụ tăng thì thời gian tính toán sẽ rất lớn nên không khả thi. - Phương pháp ngẫu nhiên (Stochastic methods) tìm phương án tối ưu dựa trên kỹ thuật gần đúng. Các phương pháp ngẫu nhiên như phương pháp đa khởi tạo (Multistart), luyện thép (SA), thuật giải di truyền (GA) [9] có thể áp dụng để giải các bài toán tối ưu toàn cục dạng bất kì, không đòi hỏi các tính chất đặc biệt của hàm mục tiêu hay các hàm ràng buộc để tìm phương án “gần” tối ưu sau một số hữu hạn bước.
Trong [89], Yeganeh cùng các cộng sự đã đề xuất thuật toán PSO để giải quyết bài toán trên. Tuy nhiên, phương án tối ưu gần đúng tìm được còn sai lệch khá nhiều so với phương án tối ưu thực sự. Vì vậy, luận án lựa chọn tiếp cận theo hướng Heuristic để tìm lời giải gần tối ưu trong thời gian đa thức với thuật toán ACO và MMAS.
2.2.3 Tối ưu định vị tài nguyên tập trung cho các lớp dịch vụ2.2.3.1 Đề xuất thuật toán ACO tối ưu định vị tài nguyên 2.2.3.1 Đề xuất thuật toán ACO tối ưu định vị tài nguyên
Để biểu diễn bài toán với n loại dịch vụ khác nhau, mỗi con kiến được mã hóa bằng véctơk ={s1,s2, ...,sn}. Các cá thể kiến trong đàn được sinh ngẫu nhiên với si là tỷ lệ giữa các các dịch vụ được phân phối đều ngẫu nhiên trong đoạn
[0,1]. Ma trận mùi thể hiện sự di chuyển của các con kiến được biểu diễn bằng ma trận τn×n (với n là số dịch vụ, aij là độ chênh lệch chi phí giữa hai dịch vụ được cung cấp và được xác định bởi:
τij = [ri(si)−ci(si)]−[rj(sj)−cj (sj)] (2.29) Đường đi của mỗi con kiến thể hiện việc cập nhật vết mùi trên các cạnh. Mỗi cạnh của đồ thị mô tả mức độ mùi được lưu lại, tại mỗi nút con kiến k sẽ quyết định nút tiếp theo trong đường đi dựa vào vị trí hiện thời tại nút i và xác suất lựa chọn nút tiếp theo để di chuyển được xác định như sau:
pijk = [τij] α [ηij]β P l∈Nk i [τij]α[ηij]β (2.30)
trong đó, τij là vết mùi trên cạnh nối từ nút dịch vụ si đến dịch vụ sj, α là hệ số điều chỉnh ảnh hưởng của τij;ηij là thông tin heuristic giúp đánh giá chính xác sự lựa chọn của con kiến khi di chuyển, β là hệ số điều chỉnh ảnh hưởng của ηij; Nk i là các lân cận mà con kiến k chưa thăm khi cấp phát tài nguyên cho dịch vụ si. Sau mỗi vòng lặp, vết mùi trên mỗi cạnh được cập nhật lại theo công thức sau:
τjnew =τjcurrent+∆τjk (2.31) với ∆τjk = 1 max n P i=1 (ri(si)−ci(si))
là lượng mùi con kiến k để lại khi đi chuyển từ việc
cấp phát tài nguyên cho dịch vụ si sang cấp phát tài nguyên cho dịch vụ sj.
Khi đó, hàm đo độ thích nghi của con kiếnk được tính như sau:
fk =max S ( n X i=1 pisiC− n X i=1 diDi(si)eβi(Di(si)−di) ) (2.32)
Thuật toán ACO cho cấp phát tối ưu tài nguyên tập trung cho các nút dịch vụ mạng dựa trên chi phí (ACO-ĐVTN) được mô tả như sau:
Thuật toán 2.8 ACO-Định vị tài nguyên tập trung cho các lớp dịch vụ
Begin
Thiết lập tham số:α, β,K,NMax. Khởi tạo:
Sinh ra ma trận mùi cho mỗi con kiếnk. Ghi nhận giá trị mùi ban đầux∗=k;i= 1. Repeat
Fork = 1toK do
Tính hàm mục tiêu cho mỗi con kiếnk theo (2.32); Tính xác suất di chuyển của các con kiến theo (2.30); If f(k)<f(x∗)then
Cập nhật giá trị mùi mới theo công thức (2.31); Ghi nhận giải pháp tốt hơnx∗ =k;
Endif Endfor Untili >NMax; End
2.2.3.2 Đề xuất thuật toán MMAS tối ưu định vị tài nguyên
Nhằm tăng cường khai thác lời giải tốt nhất tìm được so với thuật toán ACO- ĐVTN, chúng ta sử dụng thêm hai biếnIbest và Gbest để lưu lại lời giải tối ưu cục bộ và toàn cục. Khi đó, các cạnh thuộc vào lời giải được cập nhật mùi theo cả Ibest và Gbest. Để tránh hiện tượng tắc nghẽn nếu tất cả các kiến cùng đi một hành trình khi lượng mùi trên các cạnh thuộc hành trình tốt được cập nhật quá nhiều, mặc dù hành trình này không phải là hành trình tối ưu. Miền giới hạn cho vết mùi được thiết lập trong đoạn [τmin, τmax]. Ban đầu vết mùi được khởi tạo bằng
τmax và hệ số bay hơi nhỏ nhằm tăng cường khám phá trong giai đoạn đầu. Sau đó, vết mùi sẽ được khởi tạo lại khi có hiện tượng tắc nghẽn hoặc không tìm được lời giải tốt hơn sau một số bước.
Sau khi đàn kiến xây dựng lời giải, vết mùi được cập nhật bằng thủ tục bay hơi theo (2.31), lượng mùi bổ sung cho tất cả các cạnh thuộc lời giải tốt là:
τij = (1−ρ)τij+∆τijbest (2.33) trong đó,
∆τijbest =
( 1
f(Gbest) Nếu sử dụng Gbest
1
f(Ibest) Nếu sử dụng Ibest (2.34)
Sau đó vết mùi sẽ bị giới hạn trong đoạn[τmin, τmax],∀τij như sau:
τij =
τmax Nếuτij > τmax τmax Nếuτij ∈[τmin, τmax]
τmin Nếuτij < τmin
(2.35)
Khi lựa chọn đồng thời cả Gbest và Ibest sẽ ảnh hưởng đến hướng tìm kiếm. Nếu luôn cập nhật bằng Gbest thì định hướng tìm kiếm sẽ quanh Gbest, ngược lại chọnIbest thì số lượng cạnh được cập nhật mùi nhiều nên việc tìm kiếm giảm tính định hướng hơn. Thuật toán MMAS-ĐVTN được mô tả như sau:
Thuật toán 2.9 MMAS-Định vị tài nguyên tập trung cho các lớp dịch vụ
Begin
Thiết lập tham số:α, β, ρ,τmin, τmax,K,NMax
Khởi tạo:τij =τmax,∀τij;i= 1; Gbest ⇐∅; Repeat
Ibest ⇐∅;
For eachantk= 1...K do Xây dựng phương án sk; If (Ibest =∅)thenIbest ⇐sk; If f(Ibest)<f(sk)then
Ibest ⇐sk;
Cập nhật vết mùi theoIbest bởi (2.33,2.34); Giới hạnτminvàτmax theo (2.35); end if
end for
If (Gbest =∅)thenGbest ⇐Ibest; If (f(Gbest)<f(Ibest)then
Gbest ⇐Ibest;
Cập nhật vết mùi theoGbest bởi (2.33,2.34); Giới hạnτmin vàτmax theo (2.35); end if
Until(i>NMax) or (Tìm thấy phương án tối ưu);
s∗⇐Gbest; Tính hàm mục tiêuf(s∗)theo (2.32); End
Sự khác biệt của thuật toán MMAS-ĐVTN so với ACO-ĐVTN là không đáng kể, do MMAS-ĐVTN chỉ thực hiện thêm phép toán cập nhật vết mùi. Nhưng khi ta áp dụng qui tắc cộng và qui tắc hằng số trong đánh giá độ phức tạp tính toán thì hai thuật toán này có độ phức tạp tương đương. Độ phức tạp tính toán của cả hai thuật toán là O(n2.NMax.K) với n là số lớp dịch vụ, K kích thước quần thể, NMax là số vòng lặp tối đa.
2.2.4 Kết quả thực nghiệm và đánh giá
Quá trình thực nghiệm được tiến hành trên bộ dữ liệu lấy từ [53], các thuật toán PSO [89], ACO-ĐVTN và MMAS-ĐVTN được khai báo và cài đặt trên ngôn ngữ C với cấu hình máy thực nghiệm là chip IntelR CPU Duo Core 3.0 GHz, bộ nhớ RAM 2G. Tham số thực nghiệm được cho trong Bảng 2.12.
Bảng 2.12: Thiết đặt tham số cho thuật toán ACO và MMAS
Thuật toán Các tham số Giá trị
Kích thước đàn kiến K= 100
Số vòng lặp Nmax = 500
ACO Điều khiển ảnh hưởng của vết mùi α= 1
Điều khiển ảnh hưởng của thông tin heuristic β= 10
MMAS Tham số bay hơi ρ= 0.5
Điều khiển ảnh hưởng của vết mùi τmin= 0.01, τmax= 0.5
Mục tiêu bài toán là tìm giá trị hàm mục tiêu f (¯x)trong đó véctơ phân bố tài nguyên x¯ thể hiện sự thay đổi phương ứng với các tham số tốc độ đến trung bình α¯i, mức giá pi, ngưỡng trễ di và tham số Hurst Hi. Hàm mục tiêu của hệ thống đơn giản với 2 lớp dịch vụ(s1,s2)được xác định như sau:
f (s1,s2) =p1s1C+p2s2C−b1D1(s1)e10(D1(s1)−d1)−b2D2(s2)e10(D2(s2)−d2) (2.36) trong đó, Di(si) = (si−α¯i) Hi Hi−1(kσi) 1 1−HiHi1−HiHi(1−Hi) si ,i = 1,2. Khi đó, bài toán tối ưu được mô tả như sau: f = max
S {f (s1,s2)} thỏa mãn ràng buộc: s1+s2 = 1 s1 >α¯1 s2 >α¯2
Bảng 2.13 mô tả giá trị tham số của các lớp dịch vụ thực nghiệm với dung lượng C = 10Mbps [53].
Bảng 2.13: Tham số cho các lớp dịch vụsi(i = 1,2)
Lớp dịch vụ pi bi di QoS(=ε) α¯i σi βi Hi s1 1 0.1 0.01 10−6 0.2 0.01 10 0.7
Trong [53], tác giả đã tìm phương án tối ưu của bài toán bằng cách sử dụng công cụ LASS (Local Analysis of Self-Similarity) [33] và mô phỏng hình dáng của hàm mục tiêu phân bố theo(s1,s2)trên Matlab trong Hình 2.11.
Hình 2.11: Mặt phẳng mô phỏng hàm mục tiêu theo phân bố (s1,s2)
Để chứng minh hiệu quả của các thuật toán đề xuất, các kết quả thực nghiệm chúng được đánh giá dựa trên phương án phân bố tài nguyên và hàm mục tiêu tối ưu nhất tìm được của các thuật toán PSO [89], ACO-ĐVTN và MMAS-ĐVTN so với phương án tối ưu trong [53].
Thực nghiệm 1: Để đánh giá sự ảnh hưởng của tốc độ đến trung bình tới hàm mục tiêu, chúng ta thay đổi giá trị của tốc độ đến trung bình ( ¯α1,α¯2) trong khi các tham số khác được giữ cố định như Bảng 2.13. Bảng 2.14 so sánh kết quả thực nghiệm dựa trên phương án cấp phát tài nguyên tối ưu cho các lớp dịch vụ
(s1∗,s2∗)và hàm mục tiêuf(s1∗,s2∗)tốt nhất của các thuật toán so với phương án tối ưu thực sự sau 50 lần thực hiện. Kết quả so sánh cho thấy, phương án của thuật toán MMAS-ĐVTN có độ sai số nhỏ nhất so với nghiệm tối ưu thực sự. Điều đó khẳng định được ưu điểm của việc sử dụng kết hợp cập nhật vết mùi theo cả lời giải cục bộ và lời giải toàn cục của thuật toán.
Hình 2.12: Ảnh hưởng của( ¯α1,α¯2) đến hàm mục tiêu
Hình2.12 đánh giá sự nhạy cảm của tham số( ¯α1,α¯2) đến hàm mục tiêu cho thấy, khi tốc độ đến trung bình thay đổi thì phương án tối ưu cũng bị thay đổi theo. Trong trường hợp tốc độ đến trung bình được chia đều thì tài nguyên được
cấp phát cũng chia đều cho các lớp dịch vụ. Ở đây có mối quan hệ mật thiết giữa tốc độ lưu lượng đến với tài nguyên được cấp phát theo tỷ lệ thuận. Hơn nữa, hệ thống sẽ rơi vào trạng thái tiêu cực khi lợi nhuận nhà cung cấp bị giảm đáng kể.
Thực nghiệm 2: Để đánh giá sự ảnh hưởng của ngưỡng trễ tới hàm mục tiêu, chúng ta thay đổi giá trị của ngưỡng trễ (d1,d2)trong khi các tham số khác được giữ cố định như Bảng 2.13. Các phương án cấp phát tài nguyên tối ưu cho dịch vụ(s1∗,s2∗)được thể hiện trong Bảng 2.15.
Hình 2.13: Ảnh hưởng của ngưỡng trễ đến hàm mục tiêu
Hình2.13 thể hiện sự nhạy cảm của hàm mục tiêu so với ngưỡng trễdi. Trong các bài toán #6 đến #9 khi chúng ta giữ nguyên độ trễ d1 = 0.01 và cho d2 thay đổi tăng dần từ 0.03 đến 0.12 thì hàm mục tiêu sẽ tăng khi ngưỡng trễ tăng. Mức độ giảm được xác định bởi:
∂f
∂di
=biβiDieβi(Di−di) >0 (2.37)
Như vậy, các lớp dịch vụ có yêu cầu QoS càng chặt chẽ thì yêu cầu về tài nguyên được cấp phát càng lớn vì mức độ suy giảm của hàm mục tiêu rất lớn khi độ lệnh trễ (Di−di) tăng lên vì theo (2.37) sự phụ thuộc này là hàm mũ và tỷ lệ với yêu cầu tương ứng.
Thực nghiệm 3: Để đánh giá sự ảnh hưởng của chi phí tới hàm mục tiêu, chúng ta thay đổi giá trị của (p1,p2)trong khi các tham số khác được giữ cố định như Bảng 2.13. Các phương án cấp phát tài nguyên tối ưu cho dịch vụ (s1∗,s2∗)
được thể hiện trong Bảng 2.16.
Hình 2.14 thể hiện sự ảnh hưởng của hệ số giá đến hàm mục tiêu. Điều dễ nhận thấy là nếu hệ số giá dịch vụ bằng nhau chúng ta có sự phân bổ tài nguyên như nhau. Trong khi yêu cầu về phân bố tài nguyên sẽ thay đổi rất mạnh theo mức giá dịch vụ và tuân theo qui luật phân bố tỷ lệ p1/p2
Thực nghiệm 4: Để đánh giá sự ảnh hưởng của tham số Hurst tới hàm mục tiêu, chúng ta cho thay đổi giá trị của tham sốHi trong khi các tham số khác được giữ cố định như Bảng 2.13. Mức độ thay đổi các phương án cấp phát tài nguyên tối ưu cho dịch vụ (s1∗,s2∗) được thể hiện trong Bảng 2.17. Trong đó, |∆si|, |∆Hi|
mô tả độ lệch của tham số Hi và giá trị cấp phát tài nguyên cho dịch vụ si.
Hình 2.15: Ảnh hưởng của độ lêch |∆Hi|hàm mục tiêu của MMAS-ĐVTN
Sự ảnh hưởng của tham số Hurst Hi thông qua độ lêch |∆Hi| đến hàm mục tiêu được minh họa trong Hình 2.15. Chúng ta có thể thấy, giá trị hàm mục tiêu tỷ lệ nghịch với sự thay đổi của|∆Hi|. Để kiểm chứng về hiệu năng thực thi, luận án đã thống kê và so sánh thời gian thực hiện trung bình của các thuật toán trên