Đánh giá hiệu năng mạng liên kết bằng lý thuyết đồ thị

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 41)

Trong phương pháp đánh giá lý thuyết, mạng liên kết được mô hình hóa bằng một đồ thị. Ở đó, mỗi đỉnh của đồ thị đại diện cho một nút mạng (hay một bộ chuyển mạch) còn mỗi cạnh của đồ thị đại diện cho một dây cáp mạng (kết nối giữa các bộ chuyển mạch). Nhằm đơn giản hóa mô hình, chúng tôi bỏ qua các thiết bị đầu cuối cũng như các các cổng kết nối giữa thiết bị đầu cuối và bộ chuyển mạch tương ứng. Chúng tôi sử dụng phương pháp này để đánh giá thông lượng lý tưởng (ideal throughput) độ trễ (latency) và khả năng chịu lỗi (fault tolerance) của mạng liên kết.

3.2.1.Đánh giá thông lƣợng lý tƣởng

Mạng liên kết đuợc mô hình hóa bằng đồ thị gồm N nút mạng và tập cạnh C đại diện cho các kết nối, kênh truyền. Băng thông (bandwidth) của mỗi cạnh c trong C

được kí hiệu là wc.Gỉa thiết, tất cả các cạnh c đều có cùng giá trị băng thông wc = b và quá trình tuyền tin trong mạng không xảy ra tranh chấp tài nguyên mạng.Thông lượng (throughput) của mạng theo định nghĩa là tốc độ truyền dữ liệu (bps) mà mạng chấp nhận trên từng cổng vào (input port). Thông lượng lý tưởng là tốc độ tối đa tại một cổng vào có thể đáp ứng được. Tải của kênh truyền c là lượng thông tin truyền qua kênh truyền nếu như mỗi cổng vào của mạng đều nhận được một gói tin. Như vậy có thể mô hình các giá trị này dưới dạng công thức như sau:

Tải của một kênh truyền: γc = byêu cầu sử dụng trên c / bcổng vào. Khi kênh truyền chịu tải tối đa γmax = max(γc) , bcổng vào = θideal và byêu cầu sử dụng trên c = b. Do đó

θideal = b / γmax

Gọi γB là tải của một kênh truyền trên một Bisection trong đó Bisection là nhát cắt chia đôi mạng thành hai nửa bằng nhau về số lượng nút mạng. Số lượng kênh truyền, kết nối bị nhát cắt này cắt qua gọi là số kênh truyền của bisection, kí hiệu là BC. Do γB γmaxγmax = b / θideal nênta có γB ≤ b / θideal

θideal ≤ b / γB (*)

Giả sử các gói tin truyền trên mạng dựa trên phân phối xác suất đều (random traffic). Vì bisection chia đôi mạng thành hai nửa bằng nhau nên có N/2 gói tin truyền qua BC cạnh của Bisection. Từ đó có thể tính được tải của một cạnh trên Bisection γB

= N/2BC gói tin. Từ (*) ta có

θideal ≤ b / (N/2BC) = 2bBC/N = 2BB/N (**)

(BB = bBC còn được gọi là băng thông của Bisection).

Nhát cắt và Bisection trong mạng liên kết tương ứng với khái niệm Cut và Min Cut trong đồ thị vô hướng nói chung. Do đó khi mô hình hóa mạng liên kết bằng đồ thị, chúng tôi có thể tính được thông lượng lý tưởng sử dụng công thức (**)

3.2.2.Đánh giá độ trễ

Như đã trình bày trong chương cơ sở lý thuyết, độ trễ truyền tin trong mạng liên kết khi không có tranh chấp tài nguyên được xác định gồm ba thành phần bao gồm: và thời gian chuyển gói tin qua mạng (injection time), độ trễ truyền dữ liệu trên dây nối (time to fly), độ trễ tại các bộ chuyển mạch (switches latency). Đối với các mạng liên kết phục vụ trong lĩnh vực ứng dụng SAN (phục vụ cho tính toán hiệu năng cao và trung tâm dữ liệu), injection time vào khoảng 300ns, tốc độ truyền dữ liệu trên dây nối vào

khoảng 5ns/m và switches latency trung bình khoảng 100ns/switch[8]. Bằng phương pháp đồ thị, chúng tôi đánh giá độ trễ lớn nhất và độ trễ trung bình trên mạng liên kết.

Hình 12: Mô hình mạng liên kết bằng đồ thị có trọng số

Mạng liên kết được mô hình hóa bằng đồ thị G vô hướng (hoặc có hướng) có trọng số. Trọng số trên mỗi cạnh tương ứng với độ dài của của cáp mạng. Từ đồ thị này, chúng tôi tìm được đường đi ngắn nhất, đuờng đi dựa vào giải thuật định tuyến bất kì giữa hai cặp đỉnh bất kì. Sử dụng các tham số về độ trễ nêu trên, chúng tôi đánh giá được độ trễ của mạng liên kết. Ví dụ một mạng liên kết được mô hình bằng đồ thị có trọng số như Hình 12. Vậy độ trễ trên cạnh AB không tính injection time được tính như sau:

( ) ( )

Một gói tin được truyền từ nút mạng A sang nút mạng B theo con đường A B có độ trễ:

( )

Một gói tin được truyền từ nút mạng A sang nút mạng C theo con đường từ A  B

 C có tổng độ trễ tính như như sau:

A B C D E 4m 3.25m 3m 2m 7m 5m

( )

( ).

Tính đuợc độ trễ của tất cả các đường đi giữa cặp đỉnh nêu trên, chúng tôi tính được độ trễ truyền tin trung bình, và độ trễ lớn nhất trên mạng.

Ngoài ra, khi so sánh độ trễ giữa hai mạng liên kết có cùng số nút mạng một cách tương đối dựa trên phương pháp nêu trên, hai giá trị này có thể được đánh giá tương đối thông qua độ dài đường đi trung bình Havg và đường kính d của mạng liên kết. Rõ ràng injection time là như nhau đối với mọi đường đi giữa hai cặp nút mạng bất kì. Chúng tôi giả sử độ trễ trên đường dây time to fly trung bình khi truyền tin giữa các mạng liên kết là chênh lệch không đáng kể. Vậy độ trễ có thể được đánh giá thông qua thời gian tiêu tốn trên các bộ chuyển đổi switches latency. Switches delay trung bình được tính bằng tích của độ dài đường đi trung bình Havg nhân với độ trễ trên một bộ chuyển mạch. Khi tính độ trễ lớn nhất của một gói tin được truyền đi trên mạng, switches delay lớn nhất được tính bằng tích giá trị của đường đi dài nhất nhân với độ trễ trên một bộ chuyển mạch. Đường đi được nhắc tới trong nghiên cứu của chúng tôi là đường đi được xác định theo giải thuật định tuyến. Trong trường hợp, giải thuật định tuyến luôn đưa ra các con đường tối ưu, Havg là độ dài trung bình của các đường đi ngắn nhất, còn giá trị của đường đi dài nhất chính là giá trị lớn nhất trong số các đường đi ngắn nhất (hay còn gọi là đường kính của mạng liên kết). Tóm lại, trong các nghiên cứu của mình, chúng tôi phân tích đánh giá độ trễ bằng phương pháp đồ thị thông qua đánh giá hai giá trị giá trị trung bình của đường đi ngắn nhất (tiếng Anh gọi là average shortest path length) và đường kính (tiếng Anh gọi là diameter) của mạng liên kết.

3.2.3.Đánh giá khả năng chịu lỗi

Khả năng chịu lỗi là khả năng của mạng họat động trong trường hợp có một hoặc nhiều lỗi. Một lỗi được hiểu là một nút mạng hoặc một kết nối (kênh truyền) bị hỏng và không sử dụng được trong quá trình truyền tin. Nhằm mục đích đơn giản hóa, chúng

tôi mô hình hóa lỗi trên kết nối. Lỗi trên một nút mạng có thể chuyển thành lỗi trên tất cả các kết nối liên quan đến nút mạng đó. Trên đồ thị, một cạnh tương ứng với liên kết bị lỗi sẽ được loại bỏ khỏi đồ thị. Mạng liên kết tồn tại lỗi sẽ tương ứng với đồ thị còn lại sau khi xóa bỏ các cạnh lỗi khỏi đồ thị ban đầu.

Để đánh giá khả năng của mạng có lỗi, chúng tôi xóa bỏ một cách nhẫu nhiên các cạnh trên đồ thị ban đầu. Đối với mỗi một mạng liên kết, số lượng cạnh bị xóa bỏ ngẫu nhiên được xác định bằng tỉ lệ cạnh lỗi α. Trong đó α lấy các giá trị từ 1% đến 10% số cạnh. Đồ thị thu được sau khi xóa các cạnh trên sẽ là đầu vào của quá trình đánh giá hiệu năng (thông lượng, độ trễ) nêu ở 3.2.1 và 3.2.2.

3.3. Đánh giá hiệu năng mạng liên kết bằng công cụ mô phỏng 3.3.1.Phƣơng pháp đánh giá hiệu năng 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

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 41)