Hiệu năng của mạng liên kết

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

Như đã đề cập trong 2.2, cấu hình mạng được chọn dựa trên chi phí và hiệu năng của nó. Trong phần này, người viết sẽ trình bày hai độ đo hiệu năng chính bao gồm: thông lượng (throughput), độ trễ (latency)

2.5.1.Thông lƣợng (Throughput)

Thông lượng cũng có thể được định nghĩa là lượng thông tin tối đa được truyền trong một đơn vị thời gian trong mạng liên kết [10]. Lượng thông tin được truyền trong một đơn vị thời gian còn được gọi là traffic. Do đó thông lượng còn được hiểu là traffic tối đa mà mạng liên kết chấp nhận được (maximum accepted traffic).

Để định lượng thông lượng, người ta sử dụng đơn vị gói tin trong một giây. Tuy nhiên, trong quá trình nghiên cứu hiệu năng của mạng liên kết thông qua các công cụ giả lập đơn vị thời gian có thể được xác định tương đối bằng đơn vị chu kì đồng hồ (clock cycle). Do đó, thông lượng cũng có thể tính bằng số gói tin trong một clock cycle. Như vậy, thông lượng phụ thuộc vào kích thước của gói tin và kích thước của mạng liên kết (số lượng nút mạng, công nhận dữ liệu). Nhằm mục đích tiêu chuẩn hóa, thông lượng được lượng giá bằng đơn vị bits trên một nút mạng và micro-giây, hay bits trên một nút mạng và clock cycle. Như vậy, thông lượng (throughput) của mạng theo đó được hiểu là tốc độ truyền thông tin (bps) mà mạng chấp nhận trên từng cổng vào (input port) [7].

Thông lượng mang ý nghĩa trái ngược với giao thông yêu cầu (hay còn gọi là offered traffic) – tốc độ gói tin (thông tin) được sinh ra bởi nguồn – Hình 7 [7] thể hiện mối tương quan giữa thông lượng và yêu cầu. Ban đầu, khi lượng thông tin yêu cầu truyền đi còn thấp, thông lượng và offered traffic có giá trị bằng nhau. Theo sự tăng lên của yêu cầu truyền tin, thông lượng đạt đến mức bão hòa và mạng liên kết không thể đáp ứng truyền tất cả các gói tin với tốc độ ban đầu. Đây cũng là phương pháp để đánh giá thông lượng của mạng liên kết dưới một yêu cầu truyền tin cụ thể (traffic pattern).

.

Hình 7: Tương quan giữa throughput và offered traffic

2.5.2.Độ trễ (Latency)

―Độ trễ là khoảng thời gian trải qua từ khi một gói tin được khởi tạo tại nút nguồn đến khi gói tin đó được nhận ở nút đích‖ [10]. Định nghĩa này có thể hiểu theo nhiều mức độ khác nhau. Nếu nghiên cứu chỉ liên quan đến kết nối và các thiết bị mạng, độ trễ được định nghĩa là khoảng thời gian kể từ khi thành phần dữ liệu đầu tiên của gói tin (thường gọi là message header) bắt đầu được gửi vào mạng cho đến khi thành phần dữ liệu cuối cùng đến được đích. Một nút mạng có thể gửi và nhận cùng lúc nhiều gói tin. Do đó, trong mỗi nút mạng có một bộ phận hàng đợi chứa các gói tin gửi đi và gói tin nhận đuợc để chờ xử lý. Nếu quá trình nghiên cứu liên quan đến sự họat động của hàng đợi này, độ trễ nêu trên cần được tính thêm khoảng thời gian trong hàng đợi tại nút nguồn.

Ngoài ra, một số nghiên cứu không chỉ tập trung chú ý tới tác động của mạng liên kết tới độ trễ mà còn chú ý tới tác động của các họat động được thực hiện tại các bộ vi xử lý nguồn, đích để gửi và nhận tin nhắn từ mạng. Các họat động này bao gồm tiến trình chuẩn bị dữ liệu để truyền đi (ví dụ như xây dựng thông tin gói tin – packet

header, thành phần kiểm tra lỗi – checksums), quá trình gửi (inject) và nhận (eject) gói tin vào, ra mạng liên kết. Trong hầu hết các hệ thống, các họat động này được cài đặt trong phần mềm gọi là messaging layer. Đối với những nghiên cứu cân nhắc và đánh giá tác động của messaging layer, độ trễ được định nghĩa là khoảng thời gian kể từ khi lời gọi truyền tin của hệ thống được khởi tạo tại nút nguồn cho đến khi lời gọi nhận tin của hệ thống được hoàn thành tại nút nguồn.

Trong các hệ thống yêu cầu các họat động hoàn thành nhờ sự cộng tác, trao đổi thông tin giữa một nhóm các nút mạng (collective communication operations), độ trễ được đánh giá bằng thời gian kể từ khi một họat động được khởi tạo tại một hay một vài nút mạng cho đến khi tất cả các nút mạng tham gia vào quá trình thực hiện hoàn thành nhiệm vụ của mình. Ví dụ, trong nghiên cứu chỉ liên quan đến kết nối và các thiết bị mạng, độ trễ của thao tác truyền tin đến tất cả các nút mạng khác (multicast) được xác định là khoảng thời gian thành phần dữ liệu đầu tiên được gửi vào trong mạng liên kết tại nút nguồn cho đến khi thành phần dữ liệu cuối cùng được nhận bởi nút đích cuối cùng.

Trong quá trình thực hiện luận văn, người viết quan tâm đến các nghiên cứu tập trung vào kết nối và các thiết bị mạng và bỏ qua các yếu tố liên quan đến hàng đợi và messaging layer. Độ trễ được mô hình hóa thành 3 thành phần chính

latency = injection_time + time_to_fly + switches_latency

o Injection time: một số tài liệu còn gọi là serialization latency[7] hay

transmission time[8]. Đây là thời gian gói tin được chuyển qua mạng. Cụ thể hơn, khoảng thời gian giữa thành phần dữ liệu đầu tiên của gói tin truyền vào mạng đến khi thành phần dữ liệu cuối cùng truyền vào mạng. Theo định nghĩa, injection time đuợc tính bằng kích thước của gói tin chia cho băng thông của đường truyền mạng (trong trường hợp toàn bộ đường truyền này được sử dụng để truyền gói tin đó mà không phải chia sẻ để truyền gói tin nào khác).

o Time to fly: hay còn gọi là time of flight [7], là khoảng thời gian cần thiết để truyền trên đường truyền mạng. Time to fly phụ thuộc vào độ dài của đường truyền mạng. Time to fly trong các lĩnh vực ứng dụng WANs có đơn vị là mili- giây, micro-giấy cho LANs, nano-giây với SANs và pico-giấy đối với OCNs.

o Switches latency: là khoảng thời gian tiêu tốn để gói tin được xử lý tại các bộ chuyển mạch (switch) trên đường truyền (định tuyến truyền tin, gửi tin đến các cổng…) Theo định nghĩa, switches latency phụ thuộc vào số lượng bộ chuyển mạch mà gói tin truyền qua trên đường từ nguồn tới đích. Do đó giá trị trung bình của switches latency của mạng liên kết được tính bằng tích của giá tri trung bình của các đường đi (có thể là ngắn nhất) Havg nhân với thời gian trễ tại một bộ chuyển mạch bất kì tr.

Công thức tính độ trễ nêu trên được sử dụng khi trong quá trình truyền tin không có tranh chấp về mặt tại nguyên. Trong trường hợp ngược lại, độ trễ cần phải cộng thêm khoảng thời gian để các gói tin nằm chờ trong hàng đợi.

Biểu đồ độ trễ theo lượng thông tin yêu cầu truyền đi (offered traffic) thể hiện mối tương quan giữa độ trễ và giá trị này. Khi mà offered traffic còn nhỏ, không xảy ra tranh chấp tài nguyên, độ trễ có hình dạng theo công thức trên. Tuy nhiên, khi offered traffic tăng dần, đồ trễ tăng một lượng lớn. Offered traffic đạt đến giá trị bão hòa khi độ trễ trở nên rất lớn. Hình 8 [7] là một ví dụ của tương quan giữa độ trễ và offered traffic.

CHƢƠNG 3: PHƢƠNG PHÁP ĐÁNH GIÁ VÀ CÔNG CỤ MÔ PHỎNG MẠNG LIÊN KẾT

Trong chương này, người viết trình bày về các phương pháp và công cụ đánh giá được sử dụng trong quá trình thực hiện nghiên cứu đề tài. Với mục tiêu xây dựng một mạng liên kết trao đổi dữ liệu có độ trễ nhỏ có tính khả thi cao, chúng tôi tập trung đánh giá các tiêu chí liên quan đến (i) chi phí cài đặt, vận hàng mạng, (ii) hiệu năng của mạng khi sử dụng (cụ thể là độ trễ truyền dữ liệu), và (iii) khả năng chịu lỗi của mạng.

3.1. Đánh giá chi phí

Trong nghiên cứu về tính toán hiệu năng cao, và trung tấm máy tính (data centers), người viết tập trung đánh giá chi phí của mạng liên kết ở hai quá trình cài đặt và vận hành hệ thống. Chi phí cài đặt mạng liên kết được hiểu là lượng tiền cần thiết để thiết lập được một hệt thống mạng liên kết trong thực tế bao gồm chi phí cho việc mua sắm các thiết bị, dây nối, và chi phí lắp đặt. Ngoài ra, người viết cũng chú ý tới tiêu tốn tài nguyên (điện năng) khi vận hành hệ thống trong thực tế.

3.1.1.Chi phí thiết lập mạng

Chi phí đầu tư cho mua sắm thiết bị mạng chiếm một phần lớn chi phí cài đặt mạng liên kết. Mô hình hóa một mạng liên kết tổng quát có thể hiểu là một mạng kết nối của các thiết bị chuyển mạch (switches). Nhằm đơn giản hóa mô hình tính toán chi phí, chúng tôi lựa chọn chi phí cho một thiết bị chuyển mạch ở mức 500$ cho mỗi cổng (port) dựa trên khảo sát trong [11]. Mỗi cổng tương ứng với một liên kết của nút mạng đó trong mạng liên kết.

Chi phí cài đặt mạng còn bao gồm cả chi phí cho các dây nối – cáp mạng (cable) dùng để liên kết các thiết bị với nhau. Có nhiều giải pháp khác nhau khi lựa chọn xây dựng hệ thống cáp mạng cho mạng yêu cầu hiệu năng cao. Mỗi giải pháp tương ứng với một mức chi phí cụ thể dành cho cáp mạng, đầu kết nối (connector) tại các thiết bị.

Hiện nay, có hai giải pháp được sử dủng phổ biến là dùng cáp đồng và cáp quang. Sử dụng cáp đồng có giá thành rẻ hơn cáp quang do chi phí của đầu kết nối rẻ hơn rất nhiều (bằng khoảng 1/10 chi phí ở cáp quang - Bảng 2). Tuy nhiên cáp đồng không đảm bảo được chất lượng đường truyền khi cần phải nối hai thiết bị có độ dài lớn hơn 5m. Do đó khi cái đặt thực tế, giải pháp lý tưởng sử dụng xem lẫn giữa cáp đồng và cáp mạng.

Chi phí Loại cáp mạng

Chi phí trên 1m dây (Cost_per_m)

Chi phí đầu kết nối (Connector_Cost)

Cáp đồng ( < 5m) 16$ 20$

Cáp quang ( >5m) 5$ 188$

Bảng 2: So sánh chi phí cáp đồng và cáp quang

Trong quá trình nghiên cứu, chúng tôi sử dụng mô hình trong [11] để tính toán chi phí này một cách tổng quát. Trong đó, chi phí cho cáp mạng được tính theo công thức nêu trong Bảng 3. Chi phí dành cho một kết nối bằng giá trị của dây nối đó (bao gồm chi phí dây nối, và chi phí đầu kết nối) cộng thêm 25% chi phí trung bình dành cho nhà sản xuất (chi phí sản xuất, phân phối, tìền lãi) và chi phí để lắp đặt thực tế (installation cost).

Cable_cost = (Cable_length * Cost_per_m + Connector_Cost) * 1.25 + Installation_Cost Bảng 3: Cổng thức tính chi phí cáp mạng theo độ dài

Đối với các mạng liên kết ứng dụng cho tính toán hiệu năng cao và trung tâm dữ liệu lớn, các thiết bộ chuyển mạch (switches) được đặt trong các tủ mạng (cabinets hay racks). Chúng tôi bỏ qua chi phí của tủ mạng vì với một mạng cụ thể với số nút mạng, bộ chuyển mạch cố định, số lượng tủ mạng được sử dụng là như nhau đối với mọi cách sắp xếp bộ chuyển mạch. Tuy nhiên, tủ mạng có ảnh hưởng nhất định đến chi phí lắp đặt thực tế. Chi phi trung bình cho việc cài đặt các kết nối giữa hai nút mạng bên trong

một tủ mạng yêu cầu chi phí 2.5$. Trong khi chi phí này là 6.5$ đối với kết nối giữa hai nút mạng ở hai tủ mạng khác nhau.

Hãy xem xét một ví dụ đơn giản khi sử dụng dây cáp quang để nối hai nút mạng nằm cách nhau 10m và ở hai tủ mạng khác nhau. Như vậy cable_length = 10 > 5m nên trong ví dụ này sử dụng dây cáp quang để đảm bảo chất lượng đường truyền. Do đó Cost_per_m = 5$/m, và Connector_Cost = 188$/1 connector. Vậy chi phí cho kết nối này được tính bằng (10*5+188*2) * 1.25 + 6.5 = 539$.

Một vấn đề khác được đặt ra khi đánh giá bằng lý thuyết chi phí của một mạng liên kết là xác định mô hình tính toán độ dài của dây cáp cần sử dụng. Trong thực tế, mạng sử dụng cho trung tâm dữ liệu được đặt trong một phòng máy (server room) cỡ lớn được trang bị các hệ thống làm mát, hệ thống điện và hệ thống dây mạng, tủ mạng chuyên dụng. Các tủ mạng trong phòng máy được sắp xếp ở dạng lưới AxB gồm A

hàng, mỗi hàng gồm B tủ mạng (cabinets). Mỗi tủ mạng lại gồm nhiều các thiết bị chuyển mạch (switches) xếp theo chiều thẳng đứng. Hình 9 minh họa mô hình phòng mạng trong nghiên cứu. Ở đó, các tủ mạng trên cùng một hàng được đặt cách nhau một khoảng cố định dành cho các luồng khí nóng và khí lạnh (aisle) của bộ phận điều hòa nhiệt độ. Tương tự, giữa hai hàng cũng tổn tại khoảng cách (row aisle).

Trong nghiên cứu của mình, chúng tôi sử dụng mộ hình trình bày trong [12] để mô hình hóa một phòng máy. Ở đó, diện tích của phòng máy được giả sử là không giới hạn nhằm phục vụ cho việc nghiên cứu các mạng liên kết có kích thước bất kì. Các tủ mạng chứa cùng một số lượng các thiết bị chuyển mạch và được đặt trong một lưới AxB. Trong đó A = ⌈√ ⌉ và B = ⌈ ⌉ với m là số lượng tủ mạng.

Dây nối giữa hai nút mạng ở hai tủ mạng khác nhau được tính theo khoảng cách Mahatan bằng tổng khoảng cách theo trục XY. Trong đó, khoảng cách giữa hai bộ chuyển mạch theo trục X (gồm chiều rộng tủ mạng width và aisle) là 0.6m. Độ dài dây nối giữa hai bộ chuyển mạch theo trục Y (gồm chiều sâu tủ mạng và row_aisle) là 2.1m. Vậy độ dài này được tính bằng công thức 0.6*∆X + 2.1*∆Y (m) (còn được gọi là inter-cabinets cable). Bên cạnh đó, độ dài dây cáp giữa hai bộ chuyển mạch trong cùng một tủ mạng (còn gọi là intra-cabinets cable) được lấy giá trị trung bình 2m/1 dây cáp. Ngoài ra, với mỗi một dây cáp mạng được tính thêm một khoảng dôi ra (overhead) trung bình là 2m [13].

Hình 10: Minh họa tính độ dài dây mạng

Hình 10 mô tả ví dụ minh họa tính độ dài dây mạng giữa hai hàng liên tiếp của tủ mạng. Độ dài dây nối giữa nút A và nút C, dAC,được tính theo khoảng cách Mahattan.

Ở đó dAC = dAB + dBC = (0.6*1 + overhead) + (2.1*1 + overhead) = 4.7 (m). Tương tự như vậy, dDE = dEF = dDF = 2(m) vì nằm trong cùng một tủ mạng.

3.1.2.Mức tiêu thụ năng lƣợng họat động

Độ dài dây cáp và cách bố trí thiết bị mạng trong phòng mạng (layout) có ảnh hưởng lớn đến chi phí cài đặt ban đầu mạng liên kết. Không chỉ vậy, độ dài dây cáp cũng ảnh hưởng tới chi phí khi vận hành mạng. Chúng tôi đánh giá chi phí này dựa trên tiêu thụ điện năng (power consumtion) trên một cổng (switch port) và tiêu thụ năng lượng (energy consumtion) khi truyền một gói tin.

< 0.7m >=0.7 m Điện năng tiêu thụ trên một cổng (nW) 6600 12400 Năng lượng tiêu thụ khi truyền 1 gói tin (pJ) 2 60

Bảng 4: Tiêu thụ năng lượng trên cáp mạng

Khảo sát thông số kĩ thuật các bộ chuyển mạch phổ biến hiện nay [14], chúng tôi ước lượng chi phí này phụ thuộc độ dài dây cáp như trong Bảng 4. Qua đó chúng tôi đánh giá tiêu thụ năng lượng của toàn mạng khi thiết kế và khi đưa vào họat động. Tiêu thụ năng lượng của toàn mạng bao gồm tiêu thụ năng lượng của các bộ chuyển mạch và tiêu thụ năng lượng trong hoạt động theo thời gian. Hình 11 thể hiện cách tính năng lượng tiêu thụ của mạng liên kết ở dạng giả code. Trong đó để đánh giá năng lượng tiêu tốn cho quá trình truyền tin phụ thuộc vào kịch bản giả lập trao đổi thông tin được định nghĩa trong traffic.

#Total power and energy of network

total_power = 0 # total power consumption total_energy = 0 # total energy consumption for each (i,j,w) in cables {

# i, j is two nodes of cable # w is cable

total_power =+ power_of(length_of(cable))

total_energy =+ traffic[i, j] * energy_of(length_of(cable)) }

power_of(len){ if(len <= 700){ # [cm] return 6600 # [mW] }else{ return 12400 # [mW] } }

# Energy consumption per packet energy_of(len){ if(len <= 700){ # [cm] return 2 # [pJ] }else{ return 60 # [pJ] } }

Hình 11: Gỉa code tính năng lượng tiêu thụ của mạng liên kết

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

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ư

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