Trước hết, chúng tôi trình bày chi tiết phương pháp xây dựng mạng liên kết DSN-x- n. với n là số nút mạng. Trong các trường hợp không có sự nhập nhằng, chúng tôi kí hiệu mạng liên kết này là DSN-x. Ở đó x là biến đầu vào nhận giá trị 1 ≤ x ≤ ⌈ ⌉-1 biểu diễn số lượng shortcut tối đa của một super-node.
o N nút mạng được sắp xếp theo mạng hình tròn (ring). Các nút mạng được xác định bằng một số ID từ 0 cho đến n-1. Mỗi một nút mạng i liên kết với hai nút mạng hàng xóm (i-1) mod n và (i+1) mod n được gọi là Pred hay Succ.
o Mỗi nút mạng cũng đuợc dán nhãn từ 1 đến p=⌈ ⌉ được gọi là level của nút mạng đó. Level l được dán nhãn cho các nút mạng có ID k x p + l -1 với k = 0,1,2,…, ⌊ ⌋.
o Một nút mạng i có level l ≤ x có một liên kết dài shortcut nối tới nút mạng j có level
l+1 và có khoảng cách tới nút i ít nhất bằng ⌊ ⌋. Chúng tôi gọi shortcut này là level-l shortcut (shortcut có độ dài ngắn nhất là n/2l).
Hình 16: Minh họa level và ID trên DSN
Hình 16 và Hình 17 minh họa chi tiết phương pháp xây dựng cấu hình mạng DSN. Trước hết Hình 16 mô tả cách thức đánh chỉ số ID và dán nhãn trên mạng gồm n nút mạng sắp xếp theo hình tròn. Hình 17 mô tả chi tiết mạng liên kết DSN với n = 32 nút
mạng và x = 4. Trong mạng liên kết này, log(32) = 5 nút mạng liền kề đuợc nhóm lại với nhau thành một super-node. Mỗi super-node có 4 shortcuts đến các nút mạng khác. Nút mạng ID = 0, level = 1 có 2 liên kết Pred và Succ đến hai nút mạng 31 và 1. Ngoài ra nút mạng ID = 0 cũng có một shortcut có độ dài nối tới nút mạng 16 có level = 2 và khoảng cách d(0,16) ≥ 32/ 21 = 16.
Hình 17: Minh họa mạng liên kết DSN-4-32
Để đơn giản, chúng tôi hình dung DSN-x là mạng liên kết DLN-x của các super- node bậc x+2. Giải thuật định tuyến trên mạng liên kết DSN được xây dựng một cách tự nhiên dựa trên phương pháp định tuyến của mạng DLN-x nêu trên. Trong mạng DLN-x của các supernode, quá trình định tuyến từ một nút nguồn U đến một nút đích
V được thực hiện bằng cách lựa chọn định tuyến dựa vào 1 shortcut thích hợp trong x
shortcuts của nút U. Shortcut được lựa chọn có độ dài lớn hơn một nửa quãng đường từ
UV. Bước này được lặp lại p lần để gói tin đến được nút đích. Tương tự như vậy, định tuyến trong mạng DSN cũng dựa vào việc truyền tin trên các shortcut thích hợp từ super-node chứa nút mạng nguồn u đến super-node chứa nút mạng nguồn v cộng thêm
Chi tiết hơn, giả sử chúng ta cần phải thực hiện quá trình định tuyến từ một nút nguồn s đến nút đích t. Không làm mất tính tổng quát, giả sử 0 ≤ s˂ t < n và d = t-s là khoảng cách giữa hai nút mạng. Gọi l = ⌊ ⌋ +1 ở đó n/2l < d ≤ n/2l-1. Bảng 7 mô tả chi tiết giải thuật định tuyến trên mạng liên kết DSN. Giải thuật được chia ra làm 3 bước: (i) PRE-WORK là quá trình định tuyến để nút nguồn s tìm thấy nút v trong nhóm các nút liền kề có có shortcut thích hợp. (ii) MAIN-PROCESS là quá trình lặp lại liên tục các bước nhảy rút ngắn khoảng cách từ nút hiện tại tới nguồn đi 1 nửa quảng đường. và (iii) FINISH là quá trình đến đuợc nút đích t dựa vào các liên kết bên trong nhóm nút liền kề của t.
DSN-Routing Algorithm Pseudo-code
1: procedure DSN-ROUTING(s, t) 2: u ← s
3: l ← ⌊log (n/dut )⌋+1 ››i.e. n/2l ≤ dut ≤ n/2l-1
›› PRE-WORK Phase —————— 4: while lu > l do ›› lu− level of u
5: u ← u.Pred 6: l ← ⌊log (n/dut )⌋+1 7: end while ›› MAIN-PROCESS Phase ———— 8: repeat 9: if lu = l then 10: u ← u.Shortcut 11: else 12: u ← u.Succ 13: end if 14: l ← ⌊log (n/dut )⌋+1 15: until lu= x+1 or dut ≤ p or overshooting t ›› FINISH Phase ——————— 16: repeat 17: u ← u.Succ or u ← u.Pred 18: until u = t 19: end procedure
Bảng 7: Giải thuật định tuyến trên mạng DSN
Trong bước đầu tiên PRE-WORK, nút nguồn s luôn luôn phải tìm nút gần nhất u có level l. Nếu nút s có level lớn l, chúng ta cần phải định tuyến gói tin theo chiều tăng dần của độ cao (bằng p + 1 – l) hoặc giảm dần của level và ngược lại.
Bước thứ hai MAIN-PROCESS là một vòng lặp. Trong bước này, gói tin sẽ đi dựa vào các shortcut với chiều giảm dần của độ cao. MAIN-PROCESS chỉ dừng lại khi không thể tiếp tục định tuyến bằng shortcut đuợc nữa (khi mà nút hiện tại u đủ gần so với nút đích t). Tại đó, gói tin được định tuyến tới nút t dựa vào các liên kết trong super-node chứa t.
4.1.3.Các kết quả đạt đƣợc
4.1.3.1. Đánh giá bằng lý thuyết đồ thị
Dựa vào phương pháp đồ thị, các chứng minh trong [3] đã chỉ ra kết quả sau về tính chất của DSN:
o Trong mạng liên kết DSN, bậc của đỉnh hầu hết là 4 nhưng có p nút mạng có bậc lớn nhất bằng 5
o Trong trường hợp x > p−log p
o Đường kính của mạng liên kết nhận giá trị lớn nhất là 2.5p + r với r = n
mod p
o Đường kính định tuyến (routing diameter) hay giá trị lớn nhất của một đường đi trong quá trình định tuyến không quá 3p+ r.
o Với cặp nguồn s và t được chọn ngẫu nhiên từ tập n nút mạng, giá trị trung bình của đường đi dựa trên giải thuật định tuyến nêu trên là ≤ 2p trong khi giá trị của đường đi nhỏ nhất ≤ 1.5p.
o Độ dài trung bình của shortcuts trong mạng liên kết DSN ≤ n/p. Do đó tổng độ dài cáp mạng ≤ n2/p + 2n. Đánh giá tương tự với DLN-2-2 (mạng có bậc trung bình
bằng với DSN), độ dài trung bình của shortcut là n/3. Theo đó tổng độ dài cáp mạng của DSN nhỏ hơn DLN-2-2 một khoảng là p/3.
4.1.3.2. Đƣờng kính và giá trị trung bình của đƣờng đi ngắn nhất
Chúng tôi so sánh đường kính và giá trị trung bình của đường đi ngắn nhất (average shortest path length) của mạng liên kết DSN với các mạng liên kết có cùng số đỉnh và số cạnh (cùng bậc của đỉnh). Chúng tôi lựa chọn so sánh DSN với một mạng không sử dụng tính ngẫu nhiên là 2D-Torus, mạng sử dụng tính chất ngẫu nhiên là DLN-2-2. Trong các kết quả, chúng tôi đặt tên các mạng liên kết này lần lượt là DSN, TORUS và RANDOM (cho DLN-2-2).
(a) (b)
Hình 18: Đường kính và trung bình đường đi ngăn nhất vs kích thước mạng DSN
Hình 18 biểu diễn đường kính (hình a) và độ dài đường đi ngắn nhất (hình b) của mỗi mạng liên kết dựa trên kích thước mạng. Trong quá trình so sánh, giá trị nhỏ hơn được đánh giá là tốt hơn (độ trễ truyền tin nhỏ hơn)
Trong hầu hết các kích thước mạng, mạng liên kết RANDOM có đường kính và độ dài đường đi ngắn nhất là nhỏ nhất. Khi so sánh với Torus, DSN có đường kình và độ dài đường đi ngắn nhất tốt hơn lần lượt 67% và 55%. Các giá trị này của DSN cũng tiếp cận RANDOM. Theo đó, chúng tôi đánh giá DSN có cùng tính chất so với RANDOM. Khi kích thước của mạng liên kết lớn hơn, cả RANDOM và DSN đều đảm
bảo được độ dài đường đi là ngắn hơn Torus. Dựa vào đó, chúng tôi nói rằng RANDOM và DSN có khả năng mở rộng, co giãn tốt (goog scalability)
4.1.3.3. Trung bình độ dài cáp mạng
Chúng tôi đánh giá độ dài cáp mạng dựa vào phương pháp được trình bày trong mục 3.1.1 Độ dài cáp mạng trung bình được tính toán và thể hiện trong Hình 19. Giá trị nhỏ hơn của độ dài cáp mạng trung bình được đánh giá là tốt hơn. Đố với mạng liên kết RANDOM, độ dài cáp mạng tăng một cách nhanh chóng theo sự tăng dần của kích thước mạng. Ngược lại, mạng liên kết DSN có các đặc tính (i) Độ dài cáp mạng trung bình tương đương với Torus và (ii) ngắn hơn nhiều khi so sánh với RANDOM. Dựa trên cách tính toán chi phí cài đặt và vận hành mạng liên kết đã trình bày, chúng tôi đánh giá DSN có hiệu quả kinh tế cao khi tiết kiệm chi phí cài đặt so với RANDOM.
Hình 19: Độ dài cáp mạng theo kích thước mạng của DSN
4.1.3.4. Đánh giá hiệu năng bằng phƣơng pháp giả lập
Chúng tôi sử dụng phương pháp đánh giá giả lập nêu trong mục 3.3 để giả lập và đánh giá hiệu năng của mạng liên kết DSN. Ở đó, tất cả các bộ chuyển mạch (switch) đều được cấu hình để sử dụng chuyển mạch gói (virtual cut-through switching). Switch delay được đặt giá trị 100ns, injection dealy và link dealy đều được nhận giá trị 20ns.
Các mạng liên kết được đánh giá sử dụng 4 kênh truyền ảo (virtual channel) trên mạng có kích thước gồm 64 switches. Mỗi switch sử dụng 4 cổng phục vụ mạng liên kết và 4 cổng để kết nối với các thiết bị đầu cuối, các nút tính toán.
Chúng tôi đánh giá hiệu năng của mạng liên kết thông qua hai độ đo là độ trễ (latency) và thông lượng (throughput hay accepted traffic) biểu diễn dưới dạng đồ thị BNF. Chúng tôi cũng đánh giá các độ đo này với ba loại mẫu trao đổi thông tin (traffic pattern) được dùng phổ biến để đánh giá hiệu năng mạng liên kết là uniform traffic, bit reversal traffic, và neighboring traffic.
Hình 20: Độ trễ và thông lượng của mạng liên kết DSN
Hình 20 biểu diễn kết quả trên đồ thị của hiệu năng của mạng liên kết DSN khi so sánh với RANDOM và Torus. Các cấu trúc mạng có cùng thông lượng (tương đương
nhau). Tuy nhiên độ trễ là khác nhau trong trường hợp tải thấp (low-traffic load). Dựa trên đánh giá về đuờng kính và trung bình độ dài đường đi ngắn nhất trong mục 4.1.3.2 cho mạng có kích thước 64 nút, DSN có độ trễ nhỏ hơn Torus và tương đương với RANDOM. Traffic pattern cũng có ảnh hưởng đến độ trễ. So với Torus, DSN giảm độ trễ 4.3% với bit reversal traffic và 15% đối với uniform traffic.
4.2. DSN-α và giải thuật định tuyến hiệu quả
DSN được xây dựng và thiết kế với mục đích tối ưu chi phí cài đặt mạng liên kết (thông qua tối thiểu tổng chiều dài cáp mạng). Dựa trên phương pháp luận của quá trình thiết kế và thử nghiệm DSN, chúng tôi tiếp tục phát triển mạng liên kết sử dụng hiệu ứng thế giới nhỏ này nhằm mục đích tạo ra một cơ chế định tuyến hiệu quả (độ trễ nhỏ) và ổn định. Chúng tôi đưa ra những thay đổi nhỏ trong DSN và đề xuất ra mạng liên kết gọi là DSN-α như là một biến thể mở rộng của DSN với giải thuật định tuyến mới. DSN-α được trình bày chi tiết trong [20]. Trong phần này, người viết sẽ mô tả sơ lược thiết kế và các kết quả đạt được. Trong đó, người viết sẽ làm nổi bật lên phần nội dung có sự đóng góp của mình trong quá trình thực hiện đồ án.
4.2.1.Mạng liên kết DSN-α
Phương pháp xây dựng mạng liên kết DSN-α vẫn bao gồm các bước trong DSN:
o N nút mạng được sắp xếp theo mạng hình tròn (ring). Các nút mạng được xác định bằng một số ID từ 0 cho đến n-1. Mỗi một nút mạng i liên kết với hai nút mạng hàng xóm (i-1) mod n và (i+1) mod n được gọi là Pred hay Succ.
o Mỗi nút mạng cũng đuợc dán nhãn từ 1 đến p=⌈ ⌉ được gọi là level của nút mạng đó. Level l được dán nhãn cho các nút mạng có ID k x p + l -1 với k = 0,1,2,…, ⌊ ⌋
o Mỗi nút mạng có level l ≤ p − ⌊log p⌋ có một liên kết dài Shortcut nối đến nút j có level l+1 có khoảng cách tới nút i ít nhất bằng ⌊ ⌋. Chúng tôi gọi shortcut này là level-l shortcut (shortcut có độ dài ngắn nhất là n/2l).
Bên cạnh đó, chúng tôi thêm vào một số liên kết mới nhằm phục vụ mục đích cụ thể.
o Up links: Mỗi nút mạng có level l > 1 có một liên kết đến nút mạng gần nhất có level l-1 theo chiều kim đồng hồ trên mạng hình tròn.
o Walk links: Gọi q = ⌊log p⌋, x = ⌈p/q⌉. Với mỗi một nhóm gồm p nút mạng liên tiếp, chúng tôi thêm q ―Walk‖ link giữa nút kp−1+ix và kp−1+(i+1)x với i = 0, . . . , (q−1) and k = 0, 1, . . . , ⌊n/p⌋.
o Cycle Breaking links (CBL): Mọi nút mạng trong khoảng từ 1 đến 2p có một CBL link đến nút gần nhất theo chiều ngược chiều kim đồng hồ (Chú ý rằng những liên kết này giống với Pred nhưng được đặt ra với mục đích loại bỏ tắc nghẽn trong mạng).
Chúng tôi cũng sử dụng thuật ngữ Up, Walk hay Shortcut khi truyền tin sử dụng các kết nối kiểu này theo chiều kim đồng hồ. Các thuật ngữ c-Up, c-Walk và c- Shortcut để dành cho trường hợp còn lại. Hình 21 minh họa tập liên kết của một nút mạng điển hình.
Hình 21: Minh họa các liên kết của một nút mạng trong DSN-α 4.2.2.Giải thuật định tuyến hiệu quả
Giải thuật định tuyến ba bước của DSN-α được mô tả trong Bảng 8 và Bảng 9.
DSN-α custom routing algorithm
1: procedure DSN-ROUTING(s,t) 2: u ← s, lu− level of u
3: Call the PRE-WORK Procedure
4: if u is not too close to destination t then
5: Call the MAIN-PROCESS Procedure 6: end if
8: end procedure
Bảng 8: Giải thuật định tuyến trên mạng liên kết DSN--α The new PRE-WORK Phase
1: procedure PRE-WORK 2: u ← s, lu− level of u
3: if t in next super-node and lu > 1 then 4: u ← u.Up
5: jump to FINISH when overshooting 6: else 7: l ← ⌊log (n/dut )⌋+ 1 ››i.e. n/2l ≤ dut ≤ n/2l-1 8: while lu > l do 9: u ← u.Up 10: l ← ⌊log (n/dut )⌋+1 11: end while 12: end if 13: end procedure
The new MAIN-PROCESS phases
1: procedure MAIN-PROCESS 2: repeat 3: if lu= l and lu ≤ p − q then 4: u ← u.Shortcut 5: else 6: u ← u.Succ or u ← u.Walk 7: end if 8: l ← ⌊log (n/dut )⌋+1 9: until u = t or overshooting t 10: end procedure
The new FINISH phases
1: procedure FINISH 2: repeat 3: if 0 ≤ t ≤ 2p − 1 and 1 ≤ u ≤ 2p then 4: u ← u.CBL 5: else 6: u ← u.Pred or u ← u.c−Walk 7: end if 8: until u = t 9: end procedure
Trong bước PRE_WORK, khi mà gói tin đang ở nút mạng t ở xa nút đích sẽ đi theo các Up links để đến đến được tới nút mạng chứa shortcut thích hợp (dòng 7 đến dòng 11). Dòng 3 đến dòng 5 thể hiện trường hợp đặc biệt khi mà nút đích nằm rất gần nút hiện tại (super-node tiếp theo theo chiều kim đồng hồ). Khi đó, gói tin được chuyển tiếp theo Up link để đến được super-node này. Sau đó quá trình định tuyến sẽ chuyển sang bước MAIN_PROCESS hoặc FINISH nếu nhảy quá nút đích.
Bước MAIN_PROCESS lặp lại quá trình di chuyển thông qua các Shortcut đi được quãng đường có độ dài lớn hơn nửa quãng đường từ nút hiện tại đến nút đích (distance –halving Shortcut). Trong quá trình di chuyển đến nút chứa Shortcut phù hợp bên trong mỗi super-node, chúng tôi sử dụng Succ như trong DSN hoặc sử dụng Walk nhằm giảm số buớc nhảy. MAIN_PROCESS dừng lại khi gói tin truyền vượt quá nút đích trên mạng hình tròn theo chiều kim đồng hồ. Tương tự như trong MAIN_PROCESS, chúng ta có thể dùng c-Walk để tăng tốc độ của bước nhảy quay lui đến đích t trong bước FINISH.
Chúng tôi cũng đề xuất một biến thể khác của bước PRE-WORK. Trong đó, trong trường hợp nút hiện tại rất gần nút đích t theo hướng ngược chiều kim đồng hồ (nút đích nằm ở super-node ngay phía trước nút hiện tại) chúng tôi sử dụng BACKWARD- MODE. FORWARD-MODE vẫn đường sử dụng như trong mô tả nêu trên khi mà nút hiện tại rất gần nút đích tính theo chiều kim đồng hồ. Bảng 10 mô tả bước PRE_WORK sử dụng BACKWARD-MODE.
The PRE-WORK phase with BACKWARD-MODE