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
1: procedure PRE-WORK-BW 2: u ← s, lu− level of u
3: if dut ≤ n/2 or lu= 1 or > p − q then
›› FORWARD-MODE ————— 4: if t in next super-node and lu > 1 then 5: u ← u.Up
6: jump to FINISH when overshooting 7: else
8: l ← ⌊log (n/dut )⌋+ 1 9: while lu > l do 10: u ← u.Up 11: l ← ⌊log (n/dut )⌋+ 1 12: end while 13: end if 14: else ›› BACKWARD-MODE ————
15: if t in previous super-node and lu < p then
16: u ← u.c − Up
17: jump to FINISH when not overshooting 18: else if dut ≤ p then 19: jump to FINISH 20: else 21: repeat 22: u ← u.c− Shortcut 23: until overshooting t 24: end if 25: end if 26: end procedure
Bảng 10: Giải thuật định tuyến trên mạng DSN-α sử dụng BACKWARD-MODE
Những thay đổi trong cấu hình mạng liên kết và giải thuật định tuyến nêu trên nhằm giúp xây dựng một giải thuật định tuyến có đệ trễ nhỏ và đảm bảo cân bằng tải trên đường truyền. Cơ chế định tuyến này cũng có thể được mở rộng nhằm tăng khả năng chịu lỗi.
4.2.3.Các kết quả đạt đƣợc 4.2.3.1. Đánh giá bằng lý thuyết
Gọi r = n mod p là kích thước của super-node không đầy đủ (super-node cuối cùng trên mạng vòng tròn). Chỉ có duy nhất một super-node không đầy đủ nếu n không chia hết cho p. Gọi w = ⌈ ⌉ biểu diễn độ dài của các Walk Links. Các kết quả đánh giá và chứng minh trong [20] chỉ ra rằng:
o Hầu hết các nút mạng có bậc là 6 nhưng giá trị lớn nhất không vượt quá 11. Có nhiều nhất 2logp nút mạng có khả năng có bậc lớn nhất
o Sử dụng phương pháp định tuyến chúng tôi đề xuất (có hoặc không có BACKWARD-MODE) độ dài đường đi lớn nhất (đường kính định tuyến) không vượt quá 2p + 2q + 2w.
o Giá trị lớn nhất của đường đi nhỏ nhất (đường kính của mạng liên kết) không vượt quá p +2.5q + 4w
Xét mạng liên kết DSN-α-x với x > p-logp:
o Đối với hai cặp nguồn s và đích t bất kì lựa chọn ngẫu nhiên từ n nút mạng, độ dài trung bình của đường đi dựa vào giải thuật định tuyến của chúng tôi là nhở hơn hoặc bằng 1.5p + 0.5q + w
o Độ dài trung bình của đường đi ngắn nhất nằm trong khoảng p và p + 0.5q + 2w Kết quả này cho ta thấy rằng, độ dài của đường đi dựa vào giải thuật định tuyến trên DSN- α gần gấp rưỡi đường đi ngắn nhất (trong khi đối với DSN giá trị này bằng 1,7 lần) Qua đó có thể thấy được DSN-α tốt hơn DSN về mặt độ trễ. Dựa vào chứng minh lý thuyết, chúng tôi cũng chỉ ra rằng:
o Băng thông của DSN-α xấp xỉ 2n/p + 2p.
o Trong DSN-α, sử dụng giải thuật định tuyến trên mạng là không xảy ra tắc nghẽn.
Đây là một kết quả quan trọng thể hiện sức mạnh và sự hiệu quả của thuật toán định tuyến do chúng tôi đề xuất.
4.2.3.2. Đƣờng kính và độ dài cáp mạng
Chúng tôi so sánh DSN-α với các mạng liên kết khác tương đương về số nút mạng và số liên kết bao gồm 3D-Torus, và DLN-6 (bậc của đỉnh là 6). Bảng 11thể hiện độ mối tương quan về đường kính mạng. Trong khi đó Bảng 12 là kết quả so sánh giá trị trung bình của độ dài cáp mạng. Các giá trị này càng bé càng có lợi. (độ trễ và chi phí cài đặt thấp). Giống như mong đợi, DSN-α có đường kính nhỏ hơn 3D-Torus và luôn
có độ dài trung bình cáp mạng là ngắn nhất. DLN-6 không có khả năng mở rộng quy mô khi độ dài trung bình dây cáp mạng tăng nhanh theo chiều tăng dần của kích thước mạng.
Network Size 64 128 256 512 1024 2048
3D Torus 3.1 6.0
DSN-α 2.8 4.4 5.1 6.0 6.8 DLN-6 2.6 3.0 3.4 3.8 4.2 4.6
Bảng 11: Bảng so sánh về đường kính mạng của 3D-Torus, DSN-α và DLN-6
Network Size 64 128 256 512 1024 2048
3D Torus 3.1 4.5
DSN-α 3.2 3.7 4.0 4.3 4.8
DLN-6 4.1 4.7 5.6 6.1 8.0 10.0
Bảng 12: Bảng so sánh về độ dài cáp mạng của 3D-Torus, DSN-α và DLN-6
4.2.3.3. Đánh giá hiệu năng bằng phƣơng pháp giả lập
Sử dụng phương pháp giả lập và các tham số giống như trong mục 4.1.3.4, chúng tôi đánh giá hiệu năng của mạng liên kết khi sử dụng các giải thuật định tuyến khác nhau. Kích thước mạng liên kết được giả lập bao gồm 256 bộ chuyển mạch với 4 nút tính toán trên một bộ chuyển mạch. Chúng tôi sử dụng R27 và R28 để chỉ giải thuật định tuyến trên DSN-α khi sử dụng BACKWARD-MODE và không sử dụng. R23 chỉ giải thuật định tuyến của DSN. Cuối cùng Up*/down* chỉ giải thuật định tuyến được trình bày trong [21].
Hình 22 là đồ thị đánh giá sự thay đổi của thông lượng (accepted traffic) có đơn vị là Gbits/sec/host của mạng trong khi sử dụng 4 giải thuật định tuyến nêu trên với tốc độ dữ liệu được truyền vào trong mạng (requested traffic). Mặc dù trong giải thuật Up*/Down*, thông lượng đạt giá trị lớn nhất (khoảng 2,3 Gbits/sec) nhưng nó cũng giảm xuống ngay sau đó khi mà requested traffic có giá trị lớn Mặt khác, R27 (định
tuyến sử dụng BACKWARD-MODE) không những có thông lượng lớn mà còn đảm bảo được hiệu năng tốt ngay cả trong trường hợp requested traffic lớn (heavy traffic).
(a) Uniform traffic (b)Bit reversal traffic
(c)Matrix transpose traffic
Hình 22: Đánh giá thông lượng của DSN-α
Tương tự, độ trễ được đánh giá theo requested traffic trong Hình 23. Cả 4 giải thuật định tuyến đều có độ trễ tương đương nhau khi requested traffic còn thấp. Tuy nhiên theo sự tăng dần của tốc độ yêu cầu truyền tin, cả 4 giải thuật đều cho độ trễ tăng khá nhanh. Nhìn chung, R27 có độ trễ nhỏ hơn nhiều (khoảng 50%) so với các giải thuật định tuyến khác.
(a) Uniform traffic (b)Bit reversal traffic
(c)Matrix transpose traffic
Hình 23: Đánh giá độ trễ của DSN-α
Bên cạnh độ trễ và thông lượng, chúng tôi cũng quan tâm đến khả năng cân bằng tải của giải thuật định tuyến. Chúng tôi tính toán tỉ lệ giữa tải lớn nhất và tải trung bình nhất trên một liên kết trong quá trình giả lập. Giá trị tỉ lệ này càng nhỏ, càng thể hiện khả năng lựa chọn đường đi để tải trên các liên kết là đồng đều của giải thuật định tuyến. Từ kết quả trong Bảng 13, chúng tôi chỉ ra rằng, giải thuật định truyền trên DSN-α (R27, R28) luôn có giá trị của tỉ lệ này nhỏ hơn nhiều so với Up*/Down*. Từ đó thể hiện khả năng cân bằng tải của giải thuật định tuyến.
Network size Up*/Down* R27 R28
64 3.76 2.89 3.21
256 3.97 3.34 3.29
512 6.58 3.41 3.41
1024 12.6 3.4 4.21
Bảng 13: Bảng so sánh tỉ lệ tải lớn nhất và tải trung bình trong DSN-α
4.2.3.4. Đánh giá khả năng chịu lỗi
Chúng tôi đáng giá khả năng chịu lỗi của giải thuật định tuyến bằng cách loại dần liên kết khỏi mạng. Chúng tôi chọn tỉ lệ cạnh lỗi từ 1% cho đến 10% (mỗi lần thử nghiệm sẽ tăng 1%). Kết quả thử nghiệm cho các cấu hình mạng DSN-α có kích thước từ 128 đến 1024 nút mạng được biểu diễn trong Hình 24. Ở đó, trục x là tỉ lệ cạnh lỗi được loại bỏ ra khỏi mạng. Trục y là tỉ lệ của trung bình độ dài trội lên của đuờng đi trong quá trình định tuyến với tỉ lệ cạnh lỗi. Từ đồ thị có thể thấy rằng, độ dài trội lên của đuờng đi tăng không vượt quá 3 lần tỉ lệ cạnh lỗi trong hầu hết các trường hợp.
Hình 24: Khả năng chịu lỗi của DSN-α
Tóm lại, các kết quả đánh giá cho thấy DSN-α và giải thuật định tuyến tương ứng (cụ thể R27 sử dụng BACKWARD-MODE) có hiệu năng cao cả về độ trễ truyền tin, thông lượng lẫn cân bằng tải. Giải thuật định tuyến cũng có khả năng chịu lỗi tốt trong khoảng tỉ lệ cạnh lỗi từ 1%-10%.
4.3. DSN-F và giải thuật định tuyến tích hợp với khả năng mở rộng
Bên cạnh các yếu tố về hiệu năng như độ trễ truyền tin, cân bằng tải và khả năng chịu lỗi, tính chất mở rộng quy mô, khả năng co giãn cũng là một yếu tố được quan tâm đối với các mạng liên kết ứng dụng cho các siêu máy tính và trung tâm dữ liệu. Trong thực tế, theo thời gian sử dụng, nhu cầu nâng cao khả năng tính toán của các siêu máy tính trong TOP500 [6] là cấp thiết. Để giải quyết bài toán này một cách hiệu quả, chúng ta không những cần phải nâng cao khả năng của phần mềm, ứng dụng cài đặt trên các siêu máy tính mà còn phải quan tâm đến khả năng thêm một số lượng nhất định các con chip xử lý sau khi siêu máy tính này được cài đặt ban đầu (nhằm giảm chi phí cho việc cài đặt hệ thống) Mặt khác, các trung tâm dữ liệu (data centers) thường hay đề ra yêu cầu mở rộng hệ thống theo thời gian hoạt động.
Quá trình thêm một hay nhiều nút mạng vào trong một mạng liên kết được cài đặt sẵn cần phải chú ý đến (i) tối thiểu hóa số lượng dây cáp mạng cần phải nối lại (ii) độ dài trung bình của cáp mạng trong mạng mới, và (iii) sự biến đổi hiệu năng cua mạng liên kết.
Do đó, chúng tôi thực hiện một số thay đổi nhỏ và đề xuất một biến thể của DSN gọi là DSN-F. Mạng liên kết DSN-F được thiết kế để dể dàng mở rộng quy mô mà vẫn đảm bảo được các ưu điểm của DSN bao gồm bậc đỉnh nhỏ, đường kính logarit, tổng độ dài cáp mạng nhỏ. Chúng tôi cũng đề xuất một phương pháp mở rộng có thể thêm nút mạng vào mạng liên kết một cách tự nhiên, dễ dàng. Với phương pháp mở rộng này, DSN-F có thể có kích thước tùy ý (arbitrary size) và có khả năng mở rộng quy mô (incremental expandability properties).
4.3.1.Mạng liên kết DSN-F
Thiết kế mới của chúng tôi được xây dựng dựa trên một vài nhận định dưới đây. Trước hết, chúng tôi quan tâm đến vấn đề super-node không đầy đủ trong thiết kế nguyên bản của DSN-x. Super-node I gọi là không đầy đủ nếu super-node này không
⌈ ⌉) Gọi r = n mod p. Có thể thấy super-node không đầy đủ chính là super-node cuối cùng bao gồm r nút mạng. Sự tồn tại của loại super-node này ảnh hưởng đến quá trình định tuyến và làm cho độ dài của đường đi lớn hơn. Theo đó, giá trị lớn nhất của độ dài đường đi từ một nguồn tới một đích bất kì dựa trên giải thuật định tuyến của DSN là 3p+r (chứng minh trong [3]). Giá trị này có thể nhỏ hơn nếu chúng ta loại bỏ được super-node không đầy đủ.
Hơn nữa, [3] cũng đưa ra ý tưởng để giải quyết vấn đề mở rộng quy mô. Ở đó, nút mạng được thêm vào giữa hai nút mạng ban đầu. Các nút mạng ban đầu được gọi là nút mạng chính (major node). Nút mạng mới được gọi là nút mạng phụ (minor node). Các nút mạng phụ chỉ có liên kết cục bộ với các nút mạng khác trong cùng supernode mà không có shortcut. Phương pháp mở rộng quy mô này hoạt động tốt khi chúng ta thêm một vài nút mạng (số lượng rất nhỏ) vào mạng liên kết. Tuy nhiên, trong trường hợp số