Đánh giá hiệu năng mạng liên kết bằng công cụ mô phỏng

Một phần của tài liệu Nghiên cứu thuật toán định tuyến trên mạng và công cụ mô phỏng (Trang 45)

3.3.1.Phƣơng pháp đánh giá hiệu năng

Phương pháp này thực hiện dựa trên tư tưởng xây dựng một bộ giả lập mô phỏng mạng liên kết và các hoạt động truyền gửi tin trên mạng. Quá trình giả lập, cho phép người nghiên cứu trích suất được các thông tin về độ trễ và thông lượng phụ thuộc vào lượng thông tin yêu cầu truyền đi (offered traffic). Từ đó, chúng tôi đánh giá hiệu năng của mạng liên kết thông qua đồ thị dưới hai cách thức CNF và BNF trình bày trong Workshop on Parallel Computer Routing and Communication (PCRCW’94) [10].

CNF, viết tắt của Chaos Normal Form, là định dạng đồ thị ở đó độ trễ và thông lượng được biểu diễn tương quan với offered traffic (trình bày trong mục 2.5) bằng hai đồ thị độc lập. Trong cả hai đồ thị, trục X thể hiện offered traffic. Bằng cách sử dụng hai đồ thị, chúng ta có thể theo dõi được độ trễ truyền tin trong cả trường hợp bão hòa.

BNF, viết tắt của Burton Normal Form, là định dạng đồ thị biểu diễn độ trễ và thông lượng trong một đồ thị duy nhất. Trong trường hợp này, trục X tương ứng thông lượng và trục Y thể hiện cho độ trễ.

Trong quá trình nghiên cứu, và đánh giá kết quả, chúng tôi sử dụng hai định dạng đồ thị này một cách linh họat tùy thuộc vào mục đích sử dụng.

3.3.2.Công cụ mô phỏng

Để đánh giá hiệu năng của ứng dụng, chúng tôi sử dụng một chương trình mô phỏng bằng C++ được phát triển và sử dụng bởi phòng nghiên cứu tại Koibuchi lab, International Institute of Informatics, Japan và được trình bày trong [2]. Chương trình mô phỏng này gôm hai thành phần và hoạt động như trong Hình 13.

Hình 13: Mô tả cách thức họat động của bộ giả lập mạng

Mkpkt là chương trình có nhiệm vụ tạo ra kịch bản mô phỏng. Mkpkt nhận tham số đầu vào để điều khiển quá trình tạo kịch bản giả lập như:

o –c<n>: thời gian giả lập tính theo số lượng chu kì đồng hồ (clock cycle)

o –n<n> : số lượng nút nguồn (nút truyền tin)

o –d<n>: số lượng nút đích

o –i<n>: số chu kì đồng hồ để các nút nguồn lặp lại phát tín hiệu

o –f: sử dụng nút nguồn cố định không

o –t<n>: traffic pattern.

o –a<n>: số lượng thành phần xử lý

Kịch bản mô phỏng là một file text có nhiều nhiều dòng. Mỗi dòng mô tả thông tin của một gói tin được truyền đi trong mạng bao gồm: chu kì đồng hồ gói tin được truyền đi clock, id của nút nguồn Source, và id của nút đích Destination. Trong Hình

mkpkt

Packet script

Simulator Trace file

User configuration

13 là một ví dụ của kịch bản truyền tin. Ở đó, tại chu kì đồng hồ giả lập thứ 45, nút mạng 12 gửi một gói tin đến nút mạng số 25.

Kịch bản mô phỏng sau đó lại là đầu vào của bộ giả lập simulator. Simulator sẽ nhận thông tin kịch bản này, tạo ra cấu hình mạng liên kết tương ứng, chạy thuật toán định tuyến để truyền tin giữa hai nút mạng theo kịch bản và mô phỏng gói tin được truyền trên mạng theo thời gian chu kì đồng hồ.

Bên cạnh kịch bản mô phỏng, bộ giả lập simulator sử dụng các tham số điều khiển của người nghiên cứu để thực hiện chương trình. Simulator có rất nhiều tham số và được chia ra làm một số nhóm sau:

o Statistic parameters: là các tham số phục vụ cho việc thống kế, trích suất kết quả giả lập về sau

o Timming parameters: là các tham số liên quan đến thời gian. Đặc biệt các tham số mặc định về thời gian trễ tren dây cáp (time to fly), độ trễ tại mỗi bộ chuyển mạch (switches delay).

o Topology parameters: tham số xác định loại mạng liên kết, số chiều, số lượng nút mạng trong mạng liên kết, số lượng nút nguồn…

o Switch parameters: tham số cài đặt các giá trị mặc định cho bộ chuyển mạch như kích thước của hàng đợi, kích thước của bộ đệm…

o Routing parameters; bao gồm các tham số về quá trình định tuyến, chỉ ra giải thuật định tuyến được sử dụng, loại phương pháp định tuyến được sử dụng (phân tán hay định tuyến ở nguồn)…

Hình 14 minh họa một câu lệnh sử dụng công cụ mô phỏng với các tham số đầu vào tương ứng. Kết quả của quá trình giả lập sẽ được ghi ra trace file. Qua đó, người nghiên cứu có thể phân tích thông tin trong file này để đánh giá hiệu năng của mạng liên kết cũng như giải thuật định tuyến được cài đặt.

Hình 14: Minh họa câu lệnh sử dụng công cụ mô phỏng

3.4. Đánh giá hiệu năng của ứng dụng 3.4.1.Phƣơng pháp đánh giá 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 lx 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.

Một phần của tài liệu Nghiên cứu thuật toán định tuyến trên mạng và công cụ mô phỏng (Trang 45)