3.4.1.Phƣơng pháp đánh giá
Mục tiêu của phương pháp đánh giá này là nhằm xác định xem tốc độ chạy của một ứng dụng trên siêu máy tính (supercomputer) và trung tâm dữ liệu (data centers) được cài đặt theo cấu hình mạng đang nghiên cứu. Trong đó, các ứng dụng điển hình được lựa chọn để giả lập, mô phỏng cả công việc thực hiện nhiệm vụ trên vi xử lý và thời gian truyền tin trên mạng liên kết. Tốc độ chạy của ứng dụng không nằm ở tốc độ của quá trình giả lập (khoảng thời gian mà ứng dụng sử dụng để hoàn thành công việc của mình, ví dụ đơn giản như thời gian cần thiết để thực hiện một tỉ phép tính) mà được đánh giá bằng số tác vụ trung bình thực hiện trong một giây (average operations per second) khi mà ứng dụng được thực thi. Sử dụng cách đánh giá này, người nghiên cứu có thể đánh giá một cách chính xác sự phù hợp của mạng liên kết, giải thuật định tuyến đang nghiên cứu phù hợp sử dụng cho loại ứng dụng nào.
Một vấn đề đặt ra là có nhiều loại ứng dụng khác nhau trên mạng. Để phục vụ cho việc nghiên cứu, nhiều tổ chức đã đứng ra xây dựng một tập các ứng dụng chuẩn (benchmarks) nhằm thống nhất quá trình thử nghiệm và phân tích, đánh giá kết quả (NASA [15], Hinemo [16]). Từ đó các nhà nghiên cứu có thể so sánh, đánh giá được siêu máy tính xây dựng theo mô hình nào là tốt nhất. Bảng 5 mô tả các lớp ứng dụng
/irr_sim -r20 -Z1 -T2 -d2 –c100 -s33.
-r20: Dùng giải thuật định tuyến Duato Protocol -Z1 : Số lượng nut nguồn là 1
-T2 : Cấu hình mạng liên kết là dạng mesh -d2 : Cấu hình mạn 2 chiều
-c100: Độ trễ tại bộ chuyển mạch switch delay là 100ns -s33: Kích thước gói tin là 33 đơn vị (flit)
của NASA dành cho tính toán song song [15]. Trong đó, IS là chuẩn đại diện cho tập các ứng dụng sử dụng nhân (kernel) hệ điêu hành chỉ hỗ trợ sắp xếp số nguyên và truy cập dữ liệu ngẫu nhiên. FT là chuẩn đại diện cho tập ứng dụng có sử dụng biến đổi Fu- ri-ê rời rạc ba chiều và trao đổi dữ liệu theo hình thức all-to-all. Trong Bảng 5, người viết giữ nguyên giải nghĩa tiếng Anh của NASA nhằm mục đich tra cứu về sau.
Benchmarks Mô tả của NASA
IS Integer Sort, random memory access
EP Embrrasingly Parrallel
CG Conjugate Gradient, irregular memory access and communication MG Multi-Grid on a sequence of meshes, long and short distance
communication, memory intensive
FT discrete 3D fast Fourier Transform, all-to-all communication BT Block Tri-diagonal solver
SP Scalar Penta-diagonal solver LU Lower-Upper Gauss-Seidel solver
Bảng 5: NASA parallel benchmarks
Khi thực hiện quá trình mô phỏng, mỗi một tập ứng dụng có một bộ thông số kĩ thuật, khối lượng công việc, kích thước của mạng liên kết khác nhau. Do đó, NASA xây dựng các bộ thông số kĩ thuật và kích thước mạng liên kết cho mỗi tập ứng dụng và phân vào các lớp riêng biệt bao gồm A, B, C, D, E, S, và W. Lớp A, B, C dành phục vụ cho các nhóm ứng dụng thông thuờng với kích thước vừa phải. Lớp D, E, F phục vụ cho các ứng dụng chạy trên các máy tính có kích thước rất lớn. Lớp S và W là được sử dụng để cấu hình và chuẩn bị môi trường giả lập. Bảng 6 mô tả ví dụ về tham số của các tập ứng dụng CG, IS, và FT. Mô tả đầy đủ về các tham số của các chuẩn NASA đưa ra được trình bày trong [15].
Trong quá trình nghiên cứu, chúng tôi đánh giá cấu hình mạng liên kết và giải thuật định tuyến tương ứng bằng mô phỏng sử dụng tập ứng dụng của NASA, lớp A (phù hợp với kích thước mạng nghiên cứu).
Bench Parameter Class
S Class W Class A Class B Class C Class D Class E CG Number of rows 1400 7000 14000 75000 15000 0 15000 00 90000 00 Number of nonzero 7 8 11 13 15 21 26 Number of iterations 15 15 15 75 75 100 100 Eigenvalue shift 10 12 20 60 110 500 1500 IS Number of keys 216 220 223 225 227 231 Key max. value 211 216 219 221 223 227 FT Grid size 64x 64x 64 128x 128x 32 256x 256x 128 512x 256x 256 512x 512x 512 2048x 1024x 1024 4096x 2048x 2048 Number of iterations 6 6 6 20 20 25 25
Bảng 6: Ví dụ về kích thước mạng và tham số của NASA benchmarks
3.4.2.Công cụ mô phỏng
Chúng tôi cũng lựa chọn sử dụng chương trình mô phỏng có tên là SimGrid [17] để thực hiện đánh giá hiệu năng ứng dụng. Mô hình hoạt động của SimGrid được biểu hiện như Hình 15 (nguồn [17]). Trong đó tập các ứng dụng chuẩn đều cài đặt MPI (Message Passing Interface) được chạy thử nghiệm trong thực tế nhằm lấy mẫu thông tin hoạt động lưu trữ trong các file trace. SimGrid cung cấp công cụ lấy mẫu, ghi log thông tin hoạt động của một ứng dụng bất kì. Các file trace này sau đó là đầu vào cho môi trường giả lập SMPI bằng cách off-line (từ file được lưu trữ từ trước) hoặc on-line (trực tiếp trong quá trình thực thi ứng dụng). Mặt khác, SimGrid cũng cung cấp công cụ mô tả cấu hình mạng liên kết dựa trên mô tả trong file có định dạng xml. Kết quả giả lập của SMPI mô tả quá trình hoạt động của mạng liên kết cũng được ghi ra một file trace theo thời gian. Kết quả này được sử dụng để phân tích, đánh giá hiệu năng của mạng liên kết.
CHƢƠNG 4: GIẢI THUẬT ĐỊNH TUYẾN TRÊN MẠNG
Trong chương này, người viết sẽ trình bày về kết quả nghiên cứu chính của luận văn liên quan đến các cấu hình mạng và giải thuật định tuyến trên mạng. Trước hết, người viết nhắc lại kết quả nghiên cứu đã công bố về Distributed Shortcut Network (DSN) của cùng nhóm tác giả. Từ đó người viết sẽ trình bày các kết quả mới mở rộng và phát triển từ DSN nhằm đưa ra các thuật toán định tuyến hiệu quả và tích hợp khả năng mở rộng quy mô trong mạng liên kết. Các kết quả mới này sẽ được trình bày tập trung vào các đóng góp của người viết trên nền đóng góp chung của nhóm nghiên cứu.
4.1. Distributed Shortcut Netwotk (DSN) 4.1.1.Tổng quan ý tƣởng 4.1.1.Tổng quan ý tƣởng
Trong lịch sử nghiên cứu, các mạng liên kết sử dụng hiệu ứng ―thế giới nhỏ‖ (small-world) được đề xuất áp dụng cho các kiến trúc mạng quy mô lớn (large-scale network)[18]. Hiệu ứng thế giới nhỏ nhìn chung thể hiện một mạng có đường kính nhỏ, bậc đỉnh thấp và hỗ trợ định tuyến phân tán (distributed routing), nghĩa là tìm đường chỉ sử dụng thông tin cục bộ. Trong các trình bày của mình về phân tích, đánh giá hiệu ứng thế giới nhỏ [19], Kleinberg chỉ ra rằng nếu thêm chọn lọc một vài các liên kết xa có độ dài ngẫu nhiên (random long-range links), không những có thể giảm đường kính của mạng liên kết mà còn có thể hỗ trợ định tuyến phân tán. Dựa trên quan điểm quan trọng này, chúng tôi hướng tới thiết kế một cấu hình mạng bậc đỉnh thấp có hiệu năng cao áp dụng hiệu ứng thế giới nhỏ.
DLN-x (Distributed Loop Network) với x là số bậc của là một cấu hình mạng áp dụng hiệu ứng thế giới nhỏ. Mạng liên kết bao gồm n đỉnh được sắp xếp trong một mạng hình tròn (ring) với các liên kết gọi là shortcuts. Shortcut nối một đỉnh i bất kì với đỉnh j = i + ⌈ ⌉ mod n với k nhận giá trị từ 1 đến x−2. Mạng liên kết này có dường kính là logarit của số đỉnh n trong trường hợp bậc x=logn (đường kính logarit).
Koibuchi và các đồng nghiệp giới thiệu một cấu hình mạng gọi là DLN-x-y [2] ở đó y
là số liên kết ngẫu nhiên được thêm vào trong mỗi nút mạng của DLN-x. Loại đồ thị mới này có bậc của đỉnh là hằng số (constant degree) và đường kính logarit. Mặc dù vậy, cả DLN-x và DLN-x-y đều tồn tại một vài hạn chế. DLN-logn có đường kính logarit nhưng bậc của đỉnh cũng bằng logn. Giá trị đỉnh này là khá lớn so với kì vọng và làm cho chi phí thiết bị (sử dụng các bộ chuyển mạch có nhiều cổng kết nối) tăng cao. DLN-x-y có đường kính logarit và bậc là hằng số nhưng lại cần các thông tin về toàn bộ mạng liên kết trong giải thuật định tuyến. Hơn nữa, mạng liên kết này lại sử dụng tổng độ dài cáp mạng lớn khi cài đặt Do đó DLN-x-y khó có thể áp dụng trong thực tế.
Tìm hiểu và đánh giá về các mạng liên kết trên, chúng tôi đề xuất một ý tưởng trong đó sử dụng cùng một kiểu liên kết shortcut như trong DLN-logn nhưng tối ưu chúng theo một cách thông minh hơn, có hiệu quả kinh tế hơn (giống như cách làm trong đề xuất của Kleinberg [19]). Trong DLN-logn, mỗi nút mạng u có một shortcuts đi được một đoạn đường dài n/2 (khoảng cách xét trên vòng tròn các nút mạng). Giả thiết này khiến cho số lượng liên kết dài quá nhiều, làm tăng tổng độ dài của dây cáp mạng. Chúng tôi khắc phục điều này bằng ý tưởng nhóm các nút mạng lại với nhau. Ở đó, một nhóm các nút mạng dùng chung một liên kết dài shortcut xuất phát từ một nút mạng trong nhóm đó. Ý tuởng này có thể làm tăng đường kính của mạng liên kết lên một vài đơn vị nhưng có thể làm giảm bậc của đỉnh và tổng độ dài cáp mạng một cách rõ rệt.
Chúng tôi đặt tên cho mạng liên kết mới này DSN (Distributed Shortcuts Networks). Một cách tổng quát, mạng liên kết gồm n nút mạng liên kết dưới dạng mạng hình tròn. Các nút mạng này được nhóm thành logn các nhóm nút mạng kề nhau. Mỗi nhóm nút mạng (còn gọi là super-node) có một tập gồm logn shortcuts với khoảng cách nà n/2k với k = 1…logn. DSN kế thừa được tính chất bậc đỉnh thấp (low degree)
và đường kính logarit cũng như một phương pháp định tuyến tìm đường đơn giản, hiệu quả. Thiết kế trong DSN cũng giúp làm giảm tổng độ dài dây cáp mạng.
4.1.2.Mạng liên kết DSN và giải thuật định tuyến
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