Tùy thuộc vào số luơng các thiết bị được kết nối và khoảngcách giữa các thiết bị, mạng liên kết được chia ra làm bốn lĩnh vực ứng dụng chính[2]: - On-chip networks OCNs hay còn được nhắc
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-Trần Trung Hiếu
NGHIÊN CỨU MÔ PHỎNG VÀ TÍNH GIÁ THÀNH
CHO TÔ-PÔ MẠNG LIÊN KẾT TRONG SIÊU MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 TS Phan Thanh Liêm
2 PGS TS Nguyễn Khanh Văn
Hà Nội – 2015
Trang 2MỤC LỤC
Danh mục các ký hiệu, các chữ viết tắt 6
Danh mục các hình vẽ, đồ thị 7
MỞ ĐẦU 9
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 10
1.1 Tổng quan về mạng liên kết (Interconnection Network) 10
1.1.1 Khái niệm, ứng dụng của mạng liên kết 10
1.1.2 Các thành phần cơ bản trong mạng liên kết 12
1.2 Tổng quan về cấu hình mạng 14
1.3 Tổng quan về giải thuật định tuyến trên mạng 17
1.4 Tổng quan về điều khiển luồng 18
1.5 Hiệu năng của mạng liên kết 21
1.5.1 Thông lượng (Throughput) 21
1.5.2 Độ trễ (Latency) 23
CHƯƠNG 2: PHƯƠNG PHÁP ĐÁNH GIÁ MẠNG LIÊN KẾT 26
2.1 Đánh giá chi phí 26
2.1.1 Chi phí thiết lập mạng 26
2.1.2 Chi phí vận hành mạng 30
2.2 Đánh giá hiệu năng mạng liên kết bằng lý thuyết đồ thị 31
2.2.1 Đánh giá thông lượng lý tưởng bằng lý thuyết đồ thị 31
2.2.2 Đánh giá độ trễ bằng lý thuyết đồ thị 33
2.2.3 Đánh giá khả năng chịu lỗi bằng lý thuyết đồ thị 35
2.3 Đánh giá hiệu năng mạng liên kết bằng công cụ mô phỏng 35
Trang 32.3.1 Phương pháp đánh giá hiệu năng bằng công cụ mô phỏng 35
2.4 Đánh giá hiệu năng của ứng dụng 36
2.4.1 Phương pháp đánh giá 36
2.4.2 Công cụ mô phỏng 38
CHƯƠNG 3: CÔNG CỤ MÔ PHỎNG SIMGRID 40
3.1 Giới thiệu sơ lược về các công cụ mô phỏng mạng 40
3.2 Tổng quan về kỹ thuật mô phỏng 43
3.2.1 Hệ thống, mô hình và mô phỏng 43
3.2.2 Các bước trong mô phỏng một hệ thống 46
3.3 Công cụ mông phỏng Simgrid 48
3.3.1 Tổng quan về Simgrid 48
3.3.2 Cấu hình căn bản cho các ứng dụng Simgrid 49
3.3.3 Kiến trúc Simgrid 54
CHƯƠNG 4: ỨNG DỤNG MINH HỌA 65
4.1 Các yêu cầu cho ứng dụng 65
4.2 Giải pháp cho ứng dụng 66
4.3 Các kết quả đạt được 70
4.3.1 So sánh kết quả thực thi trên môi trường thực và giả lập Simgrid 70
4.3.2 So sánh thời gian tính toán, thời gian giả lập khi số tiến trình chạy song song khác nhau 70
4.3.3 So sánh thời gian tính toán, thời gian giả lập khi kích thước ma trận khác nhau 71
4.3.4 So sánh thời gian tính toán, thời gian giả lập khi sử dụng các loại topology khác nhau 71
Trang 4KẾT LUẬN 73 TÀI LIỆU THAM KHẢO 75
Trang 5LỜI CAM ĐOAN
Trước tiên tôi xin chân thành gửi lời cảm ơn và lòng biết ơn sâu sắc tới TSPhan Thanh Liêm, PGS TS Nguyễn Khanh Văn – Viện Công nghệ Thông tin –Truyền thông, người đã tận tình hướng dẫn, chỉ bảo tôi trong suốt quá trình hoànthiện luận văn Đồng thời tôi cũng xin bày tỏ lòng biết ơn các thầy cô giáo trongViện Công nghệ Thông tin – Truyền thông nói riêng và Đại học Bách Khoa Hà Nộinói chung đã chỉ dạy, cung cấp những kiến thức quý báu cho tôi trong suốt quá trìnhhọc tập và nghiên cứu tại trường
Tôi xin gửi lời cảm ơn sâu sắc tới gia đình, bạn bè, những người luôn quantâm và giúp đỡ tôi trong suốt thời gian học tập và hoàn thành luận văn
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả trong luận văn là trung thực và chưa từng được ai công bốtrong bất kỳ công trình nào khác
Trang 6DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
ST
T
1 Interconnection
network Mạng liên kết, mạng kết nối
2 OCNs On-chip networks
3 SANs System/storage area networks
4 DSN Distributed Shortcut Networks
5 Logarithmic diameter Tính chất của một mạng mạng liên kết có đường
10 SMPI Simulated Message Passing Interface
11 DAG Direct Acyclic Graph
12 XBT Extensible Bench of Tools
13 HPC High-performance computing
14 P2P Peer to peer
Trang 7DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1: Mô hình mức cao của mạng liên kết 10
Hình 2: Các lĩnh vực ứng dụng của mạng liên kết 12
Hình 3: Các cấu hình mạng cơ bản 15
Hình 4: Mạng liên kết 2D-Torus gồm 4x4 nút mạng 16
Hình 5: Ví dụ về định tuyến trên mạng kết 2D-Torus 18
Hình 6: Ví dụ về tắc nghẽn của Wormhole switching 21
Hình 8: Tương quan giữa latency và offered traffic 25
Hình 9: Minh họa mô hình phòng mạng 28
Hình 10: Minh họa tính độ dài dây mạng 29
Hình 11: Giả code tính năng lượng tiêu thụ của mạng liên kết 31
Hình 12: Mô hình mạng liên kết bằng đồ thị có trọng số 33
Hình 13: Mô hình hoạt động của SimGrid 38
Hình 14: So sánh về thông lượng với công cụ GTNetS, SSFNet, NS2 42
Hình 15: So sánh thời gian thực thi với công cụ GTNetS (nguồn [14]) 43
Hình 16: Một mạng minh họa đơn giản 50
Hình 17: Kiến trúc Simgrid 55
Hình 18: Minh họa đồ thị DAG 56
Hình 19: Kết quả so sánh khi chạy ứng dụng mô phỏng bằng MSG sử dụng các ngôn ngữ C, Java (nguồn [18]) 62
Hình 20: Chạy SMPI ở chế độ lưu vết và xem hình ảnh kết quả sử dụng ứng dụng tiện ích Vite hoặc Viva 63
Hình 21: Sự khác nhau giữa MPI và SMPI ở môi trường giả lập 63
Trang 8Hình 22: Hoạt động diễn ra bên trong Simgrid sau khi được khởi tạo Một luồng được tạo ra bởi SIMIX ứng với mỗi tiến trình của người dùng Một mô hình giả lập các tài nguyên, nền tảng được tạo ra bởi lõi giả lập Surf 64Hình 23: Luồng công việc giả lập bên trong Simgrid Surf thực hiện ước đoán thời gian cho các hoạt động và trả lại thông tin đầu ra 64Hình 24: Minh họa một Server room 65Hình 25: Một số kiểu topology 3D torus (4,4,4) 66
Trang 9MỞ ĐẦU
Trong những năm gần đây, việc sử dụng các siêu máy tính, các trung tâm dữliệu hiện đại là nhu cầu thiết yếu ở nhiều nước trên thế giới để xử lý và lưu trữ dữliệu phục vụ cho công tác nghiên cứu khoa học, ứng dụng và kinh doanh Tại ViệtNam, đã xuất hiện ngày càng nhiều các trung tâm dữ liệu hiện đại ở các trường đạihọc như đại học Bách Khoa Hà Nội, đại học Quốc Gia, các doanh nghiệp như FPTtelecom, VNPT, Viettel, VC Corp… Trong lĩnh vực nghiên cứu khoa học, nhiềunghiên cứu trong và ngoài nước về mạng liên kết là kết quả của mô phỏng Điều đónói lên tầm quan trọng và mức độ ứng dụng rộng rãi của mô phỏng trong nghiêncứu về mạng liên kết Mô phỏng cho phép đánh giá được hiệu năng của một hệthống mạng với các điều kiện, cấu hình khác nhau trong trường hợp các phươngpháp đánh giá trực tiếp trên các hệ thống thật hoặc qua phân tích tính toán bằng toánhọc không khả thi
Hiện nay, trong các công cụ mô phỏng mạng liên kết, Simgrid nổi lên nhưmột công cụ có khả năng mô phỏng mạnh mẽ, chính xác, linh hoạt và hiệu năngcao Simgrid có khả năng mô phỏng cho các hệ thống tính toán phân tán lớn, trong
đó bao gồm nhiều loại như hệ thống tính toán song song, tính toán lưới (Grid), tínhtoán đám mây (Cloud), tính toán hiệu năng cao (HPC), mạng khách chủ, mạngngang hàng (P2P) Simgrid cũng có thể sử dụng cho các ứng dụng lập trình songsong truyền thông điệp MPI Chính nhờ Simgrid có khả năng đáp ứng nhiều tiêu chícủa các cộng đồng tính toán phân tán khác nhau, nên Simgrid đã trở lên vượt trội sovới các công cụ được xây dựng với một đặc thù hệ thống nhất định, Simgrid có thểcoi như một thước đo chung để so sánh, đánh giá giữa các hệ thống, ứng dụng phântán
Tại Việt Nam, việc các nghiên cứu sử dụng Simgrid chưa thực sự nhiều, hơnnữa khi thiết lập một mạng liên kết, việc ước đoán, tính giá thành cho tô-pô mạng làmột khâu khá quan trọng vì những lý do trên nên tôi đã chọn đề tài “Nghiên cứu mô
Trang 10phỏng và tính giá thành cho tô-pô mạng liên kết trong siêu máy tính sử dụng công
cụ Simgrid”
Trang 11CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về mạng liên kết (Interconnection Network) 1.1.1 Khái niệm, ứng dụng của mạng liên kết
Mạng liên kết (Interconnection Network) được hiểu một cách tổng quát là
một hệ thống có thể lập trình được vận chuyển dữ liệu giữa các thiết bị đầu cuối [1].Hình 1 mô tả mạng liên kết ở mức cao Trong đó, các thiết bị đầu cuối (kí hiệu từ
TB1 đến TB5) kết nối với mạng liên kết thông qua các kết nối Các mũi tên biểu
diễn kết nối có hai chiều thể hiện khả năng vận chuyển dữ liệu vào và ra mạng liên
kết Khi thiết bị đầu cuối TB1 trao đổi dữ liệu với TB5, TB1 gửi một gói tin chứa dữ liệu đó đến mạng liên kết Gói tin này tiếp đó được chuyển tiếp tới TB5
Tại một thời điểm, mạng liên kết trong Hình 1 có thể chuyển tiếp gói tin từ
TB1 đến TB5, sau đó cũng có thể được sử dụng để chuyển tiếp gói tin từ TB2 đến TB5 Tính chất này thể hiện khả năng có thể lập trình được của mạng liên kết Ở đó,
các kết nối khác nhau giữa các thiết bị đầu cuối khác nhau được thiết lập và thay đổitheo thời gian nhằm phục vụ nhu cầu truyền tin trong mạng
Hình 1: Mô hình mức cao của mạng liên kết
Hiện nay, mạng liên kết được ứng dụng rộng rãi trong các hệ thống máy tính
và các hệ thống chuyển mạch thông tin liên lạc Đặc biệt, mạng liên kết được thiết
Trang 12kế để sử dụng ở các mức độ khác nhau trong các hệ thống máy tính nhằm đáp ứngnhu cầu của các nhóm ứng dụng khác nhau như: tính toán hiệu năng cao (high-performance computing), lưu trữ vào ra (storage I/O), các hệ thốngcluster/workgroup Tùy thuộc vào số luơng các thiết bị được kết nối và khoảngcách giữa các thiết bị, mạng liên kết được chia ra làm bốn lĩnh vực ứng dụng chính[2]:
- On-chip networks (OCNs) hay còn được nhắc tới với thuật ngữ
network-on-chip (NoC): được sử dụng để kết nối bên trong các vi kiến trúc giữa các đơn vị chứcnăng, thanh ghi (register), bộ lưu trữ trung gian (caches), các bộ vi xử lý (processor)trong các module đa chip Hiện nay, OCNs hỗ trợ các kết nối giữa vài chục thiết bịđặt trong các vi mạch với khoảng cách tối đa khoảng vài centimets
- System/storage area networks (SANs): Đây là mạng liên kết được sử dụng
để kết nối các bộ vi xử lý liên kết (interprocessor) và các bộ nhớ memory) trong các hệ thống đa nhân và hệ thống đa máy tính (multicomputer).Ngoài ra loại mạng liên kết này cũng được sử dụng để kết nối các thành phần lưutrữ và thành phần xử lý vào ra trong môi trường gồm các máy chủ (server) và cáctrung tâm dữ liệu (data centers) Số lượng thiết bị được kết nối trong SANs có thểlên tới hàng nghìn thiết bị khác nhau phân bố với khoảng cách khoảng vài trăm met
(processor Local area networks (LANs): Đây là mạng liên kết được sử dụng để kết nối
hệ thống máy tính cá nhân Kết nối máy tính trong một cụm là một ví dụ điển hình.Ban đầu, các mạng LAN chỉ kết nối hàng trăm thiết bị, nhưng với cầu nối (bridges),mạng LAN có thể kết nối lên đến vài nghìn thiết bị Khoảng cách kết nối tối đa baophủ khu vực có đường kính một vài kilomet, cho đến vài chục kilomet
- Wide area networks (WANs): WANs kết nối các hệ thống máy tính phân bố
phân tán trên toàn thế giới WANs cũng kết nối hàng triệu các máy tính với nhautrên khoảng cách lớn
Hình 2 (nguồn [8]) minh họa mối quan hệ giữa các lĩnh vực ứng dụng của
Trang 13giữa chúng Trục hoành (trục ngang) biểu thị số lượng thiết bị trong mạng liên kết.Trục tung (trục đứng) biểu thị khoảng cách giữa các thiết bị tính theo đơn vị met.
Hình 2: Các lĩnh vực ứng dụng của mạng liên kết
Trong quá trình thực hiện luận văn, người viết nghiên cứu các vấn đề củamạng liên kết một cách tổng quát nhưng tập trung hơn cho các mạng liên kết ứngdụng trong lĩnh vực SANs Đặc biệt, các vấn đề liên quan đến mạng liên kết phục
vụ tính toán hiệu năng cao, và trung tâm dữ liệu (data center) Do đó, người viết sẽtrình bày cơ sở lý thuyết cơ bản liên quan đến lĩnh vực nghiên cứu của mình trongcác phần tiếp theo và có thể không bao hàm nội dung liên quan đến các lĩnh vựckhác
1.1.2 Các thành phần cơ bản trong mạng liên kết
Để đáp ứng được các yêu cầu của từng lĩnh vực ứng dụng cụ thể (ví dụ như
độ trễ truyền tin hay chi phí), mạng liên kết được xây dựng thông qua việc cân nhắccác ràng buộc kĩ thuật nhằm cài đặt ba yếu tố cấu hình mạng (topology), định tuyến(routing) và điều khiển luồng (flow control) Trong hầu hết các ứng dụng, thay vìcác thiết bị đầu cuối được liên kết với nhau từng đôi một, mạng liên kết được cài đặtdưới dạng một nhóm các bộ chuyển tiếp trung gian (router) dùng chung kết nối
Trang 14thông qua các kênh truyền Các thiết bị đầu cuối, bộ chuyển tiếp trung gian đượcgọi là nút mạng (node) Mẫu thiết kế các kết nối giữa các nút mạng được gọi là cấuhình mạng – topology Trong nhiều trường hợp cụ thể, bộ chuyển tiếp còn gắn liềnvới thuật ngữ thiết bị chuyển mạch (switch) vì quá trình chuyển tiếp thông tin đượcthực hiện nhờ kĩ thuật chuyển mạch Khái niệm nút mạng cũng được hiểu trongphạm vi hẹp chỉ bao gồm các bộ chuyển tiếp hay bộ chuyển mạch do sự thay đổicác thiết bị đầu cuối không ảnh hưởng nhiều đến kết quả nghiên cứu
Các gói tin được truyền giữa các thiết bị đầu cuối bằng cách được chuyểntiếp một vài lần thông qua các kênh truyền dùng chung và bộ chuyển tiếp trung gian
từ nguồn tới đích Ở đó, một gói tin có thể được truyền đi theo nhiều con đườngkhác nhau từ nguồn cho tới đích Định tuyến (routing) là quá trình lựa chọn và chỉ
ra con đường nào sẽ được chọn để gói tin truyền theo Quá trình định tuyến cần ưutiên lựa chọn những con đường ngắn nhất trong khi vẫn đảm bảo được yêu cầu cânbằng tài nguyên dùng chung trên mạng (bộ chuyển tiếp, kênh truyền) Độ dài củađường đi liên quan trực tiếp tới độ trễ (latency) truyền tin của mạng trong khi tải(load) thể hiện khối lượng sử dụng của một tài nguyên cụ thể
Tại một thời điểm, một tài nguyên có thể được yêu cầu sử dụng bởi các góitin khác nhau Điều khiển luồng (flow control) là quá trình lựa chọn, ra lệnh cho góitin nào được quyền truy cập vào một tài nguyên cụ thể tại thời điểm đó Điều khiểnluồng được thực hiện liên tục theo thời gian và đóng vai trò quan trọng trong việcvừa chuyển tiếp các gói tin với độ trễ nhỏ nhất, vừa đảm bảo được các tài nguyênkhông bị sử dụng quá tải, hoặc không được sử dụng trong thời gian dài
Ngoài cấu hình mạng, định tuyến, và điều khiển luồng, một khái niệm quantrọng ảnh hưởng đến việc nghiên cứu và đánh giá, thử nghiệm các mạng liên kết đó
là “mẫu trao đổi thông tin” (traffic pattern) Traffic pattern là một phương pháp môhình hóa sự phân phối của các gói tin được gửi đi trong mạng liên kết Bảng 1 mô tảcác traffic pattern hay được sử dụng trong quá trình nghiên cứu đánh giá hoạt động
của mạng liên kết Trong một mạng liên kết gồm N nút mạng, Random traffic thể
Trang 15hiện một gói tin được gửi từ nguồn s đến đích d bất kì một cách ngẫu nhiên Do đó lượng thông tin gửi từ s đến d xác định được xác định theo phân phối đều λ sd = 1/N.
Permuation traffic thể hiện mọi gói tin gửi từ một nguồn s được gửi đến một hay
một vài đích xác định Do đó nút đích được xác định bằng một hàm của nguồn d = π(s) Bảng 1 liệt kê một vài traffic pattern khác nhau dựa trên phương pháp trộn
(permutation)
Bit permutation d i = s f(i) ⊕ g(i)
Bit complement di = ¬si
Bit rotation d i = s i+1 mod b
Transpose d i = si+b/2 mod b
tố liên quan trực tiếp đến cài đặt chi tiết Cấu hình mạng ảnh hưởng tới thông số kĩthuật của bộ chuyển tiếp trung gian như số cổng kết nối, tốc độ truyền tin cần thiết.Qua đó, cấu hình mạng ảnh hưởng tới chi phí của mạng liên kết Cấu hình mạngcũng quyết định đến quá trình định tuyến (routing) Mỗi mẫu kết nối giữa nút mạngyêu cầu các thuật toán định tuyến riêng biệt nhằm đảm bảo hiệu năng của mạng liênkết Tóm lại, cấu hình mạng được chọn sử dụng dựa trên chi phí và hiệu năng của
nó
Trang 16Có rất nhiều loại cấu hình mạng được thiết kế và ứng dụng trong thực tế.Một cách tổng quát, có năm loại cấu hình mạng cơ bản sau:
- Bus: là một kiến trúc mạng ở đó các nút mạng kết nối với nhau thông qua
chia sẻ một kênh truyền dùng chung (Hình 3.a) Bus là cách kết nối các nút mạngđơn giản nhất, dễ cài đặt và mở rộng Bus tiêu tốn ít dây nối (cable) nên rẻ hơn cáccấu hình mạng khác Tuy nhiên sử dụng bus phải quan tâm đến vấn đề điều khiểnluồng khi mà hai nút mạng muốn truyền tin tại cùng một thời điểm trên cùng mộtđường bus Tóm lại, bus chỉ phù hợp sử dụng cho những mạng liên kết nhỏ vàkhông yêu cầu tốc độ cao
- Star: hay còn gọi là cấu hình mạng dạng sao bao gồm một nút mạng trung
tâm đóng vai trò như cầu nối để truyền dữ liệu (Hình 3.b) Star cũng dễ dàng mởrộng quy mô bằng cách nâng cao số kết nối của nút mạng trung tâm Nhược điểmcủa star là bị phụ thuộc vào khả năng, cấu hình phần cứng của nút mạng trung tâm
Trang 17Hình 3: Các cấu hình mạng cơ bản
- Ring: hay còn gọi là mạng hình tròn Ở đó mỗi một nút mạng liên kết trực
tiếp với đúng hai nốt mạng khác tạo thành một vòng tròn khép kín (Hình 3.c) Trongring không có nút mạng trung tâm, mọi nút mạng là bình đẳng Tuy nhiên ring dễgặp vấn đề khi một nút mạng xảy ra sự cố Thêm nữa, việc thêm, bớt hay bảo trìmột nút mạng cũng có thể ảnh hưởng đến sự hoạt động của mạng liên kết
- Mesh: mô tả một mạng liên kết mà ở đó từ mỗi một nút mạng đều tìm được
kết nối đến nút mạng khác Mesh thường được biết đến với dạng lưới Hình 3.d mô
tả một mesh mà ở đó một nút mạng liên kết trực tiếp với mọi nút mạng khác
- Tree: Mạng hình cây là sự kết hợp của bus và star (Hình 3.e)
Hình 3 minh họa ví dụ của năm cấu hình mạng cơ bản nêu trên Ở đó, meshđược sử dụng rộng rãi trong các mạng truyền thống nhờ tính chất đơn giản của cấu
Trang 18hình mạng và dễ dàng định tuyến [3] Dựa vào đó, những cấu hình mạng như là ary n-dimensional mesh hoặc là k-ary n-dimensional torus đã được thiết kế và pháttriển [3] Hình 4 (nguồn [1]) mô tả mạng 4-ary 2-dimentional torus gồm 16 nútmạng được xắp xếp dưới dạng lưới 4x4 nút mạng Trong đó, mỗi nút mạng kết nốivới 4 nút mạng khác (gọi là nút mạng có bậc 4) K-ary n-dimensional torus có tínhchất “có quy tắc” (regular) Ở đó, số kết nối trên các nút mạng là như nhau (bậckhông đổi với mọi đỉnh).
k-Hình 4: Mạng liên kết 2D-Torus gồm 4x4 nút mạng
1.3 Tổng quan về giải thuật định tuyến trên mạng
Định tuyến là quá trình quá trình lựa chọn và chỉ ra con đường để gói tintruyền từ nguồn tới đích trong một mạng liên kết xác định Giải thuật định tuyến làthuật toán dùng để lựa chọn con đường nói trên Thuật toán định tuyến có vai tròquan trọng bởi một số lý do sau: (i) Thuật toán định tuyến giúp cân bằng tải trongquá trình truyền tin Nghĩa là lượng thông tin được tuyền qua mỗi kết nối là tươngđương nhau trong quá trình hoạt động của mạng liên kết Từ đó, việc tranh chấp tàinguyên và tắc nghẽn (deadlock) được giảm thiểu (ii) Một thuật toán định tuyến tốt
Trang 19sẽ giúp cho các gói tin được truyền đi theo con đường ngắn nhất có thể Qua đó gópphần làm giảm thiểu độ trễ truyền tin (iii) Ngoài ra, thuật toán định tuyến tốt còn cókhả năng chịu lỗi khi một hay một vài nút mạng, liên kết xảy ra sự cố và không thểhoạt động Trong trường hợp này, một thuật toán định tuyến phải loại bỏ cácphương án lựa chọn đường đi bao gồm các liên kết bị lỗi và phải lựa chọn nhữngđường đi khác nhằm đảm bảo sự hoạt động của mạng liên kết
Có rất nhiều cách phân loại thuật toán định tuyến khác nhau Dựa trên số
lượng đích tới của một gói tin, unicast routing chỉ các thuật toán định tuyến các gói tin được gửi từ một nút nguồn tới một đích Trong khi đó multicast routing chỉ các
thuật toán gửi tin tới hai hay nhiều đích trong mạng liên kết
Thuật toán định tuyến cũng có thể được phân loại dựa trên địa điểm màquyết định định tuyến được thực hiện Một cách đơn giản, con đường truyền tin có
thể được quyết định ngay tại nguồn (source routing), tại một bộ điều khiển tập trung (centralized routing) hoặc được quyết định một cách phân tán tại các nút mạng trong quá trình truyền tin (distributed routing)
Giải thuật định tuyến được cài đặt theo nhiều cách khác nhau Một vài cách
phổ biến nhất được áp dụng đó là sử dụng bảng định tuyến (table lookup routing) hay sử dụng máy trạng thái hữu hạn (finite-state machine routing) Trong cả hai trường hợp này thuật toán định tuyến đều có thể là deterministic hoặc adaptive Deterministic routing là các thuật toán định tuyến mà đường đi giữa nút nguồn s và nút đích d được chọn trước và không đổi trong mọi lần định tuyến (kể cả trong trường hợp có nhiều con đường từ s đến d) Còn adaptive routing là phương pháp
định tuyến dựa vào trạng thái của mạng liên kết để xác định con đường chính xác tạimỗi lần lựa chọn Trạng thái này bao gồm thông tin về các nút mạng, các liên kếttrong mạng (bị lỗi hay không), thông tin về yêu cầu sử dụng các liên kết…
Trong quá trình định tuyến, nếu tất cả các con đường được lựa chọn đều là
ngắn nhất, chúng ta gọi là minimal routing Ngược lại, giải thuật có tính chất
non-minimal Hình 5 (nguồn [1]) là một ví dụ về thuật toán định tuyến trên mạng liên
Trang 20kết 4-ary 2-dimentional torus Trong đó thuật toán định tuyến trong Hình 5a làminimal do chỉ ra con đường ngắn nhất từ nút mạng 01 đến nút mạng 22 còn Hình5b là non-minimal Nếu các con đường định tuyến được xác định tại nút mạng 01(ngay từ đầu) thì đó là source routing Nếu con đuờng từ 01 đến 22 luôn luôn khôngđổi tại mọi thời điểm định tuyến, thuật toán này gọi là deterministic routing Sourcerouting và deterministic routing thường được cài đặt sử dụng bảng định tuyến (tablelookup routing).
Hình 5: Ví dụ về định tuyến trên mạng kết 2D-Torus
1.4 Tổng quan về điều khiển luồng
Điều khiển luồng (flow control) là quá trình xác định cách thức các tàinguyên trên mạng (kết nối, bộ đệm tại các nút mạng…) được phân phối cho các góitin sử dụng trong quá trình truyền tin Điều khiển luồng tốt là cách thức phân phốitài nguyên một cách có hiệu quả qua đó truyền tin với độ trễ nhỏ xác định trước
Ví dụ, hai gói tin đến từ hai cổng khác nhau tại một bộ chuyển tiếp tại cùngmột thời điểm Dựa trên giải thuật định tuyến, hai gói tin này cần được chuyển tiếpđến cùng một cổng ra Trong trường hợp này, điều khiển luồng là cơ chế giải quyết
sự xung đột về yêu cầu sử dụng tài nguyên Một phương pháp đơn giản đó là chọnmột gói tin ngẫu nhiên để chuyển tiếp và loại bỏ gói tin còn lại (gói tin này sẽ được
Trang 21gửi lại sau) Đây là cơ chế đơn giản nhất trong điều khiển luồng khi không lưu trữ
gói tin tại các bộ chuyên tiếp (bufferless flow-control)
Một cơ chế điều khiển luồng khác phức tạp hơn và hiệu quả hơn gọi là
chuyển mạch (circuit switching) Trong đó, nút nguồn sẽ gửi gói tin thăm dò đến
nút đích Gói tin thăm dò chỉ bao gồm thông tin truyền tin cơ bản (ví dụ nút nguồn,nút đích) mà không bao gồm dữ liệu Gói tin thăm dò có tác dụng đăng kí sử dụngtài nguyên tại các nút mạng mà nó đi qua Khi nút đích nhận được gói tin thăm dònày sẽ gửi trả một gói tin gọi là ACK xác nhận Nút nguồn sẽ bắt đầu truyền dữ liệutheo con đường được thiết lập bởi gói tin thăm dò trước đó sau khi nhận được ACK.Các tài nguyên trên được gói tin này sử dụng chỉ được giải phóng khi toàn bộ dữliệu đến với nút đích Trong trường hợp một gói tin thăm dò không được cấp pháttài nguyên ngay lập tức tại một nút mạng, nó sẽ được lưu trữ lại trong hàng đợi (dokích thước gói tin thăm dò nhỏ) cho đến khi tài nguyên được giải phóng Với cáchđiều khiển luồng này, độ trễ truyền tin đôi khi rất lớn khi một gói tin cần phải đợitài nguyên được giải phóng tại nút mạng được nhiều gói tin truyền qua (nút thắt cổchai)
Do đó, một phương pháp điều khiển luồng khác hiệu quả hơn được để ra gọi
là “chuyển mạch gói” (packet switching) Trong phương pháp này, dữ liệu được
chia thành các thành phần nhỏ hơn có độ dài bằng nhau gọi là packet Một vài bytesđầu của packet chứa thông tin định tuyến và điều khiển gọi là packet header Trongquá trình truyền tin, nếu xảy ra tranh chấp tài nguyên, các packet này sẽ được lưutrữ lại tại nút mạng đó và chờ cho đến khi tài nguyên được giải phóng Do vậy,
chuyển mạch gói còn được gọi là store-and-forward switching Với cơ chế này, các
phần nhỏ của toàn bộ dữ liệu được truyền trong mạng theo các đường khác nhaunhằm tận dụng các tài nguyên rảnh rỗi Ngoài ra quá trình chờ đợi để giải phóng tàinguyên cũng ngắn hơn do kích thước của các packet là nhỏ hơn rất nhiều so vớikích thước dữ liệu cần truyền
Trang 22Trong quá trình chuyển mạch gói, quá trình định tuyến được thực hiện khitoàn bộ packet được truyền tới và lưu trữ tại nút trung gian Tuy nhiên, trong thực
tế, packet header truyền đến nút mạng này trước khi toàn bộ phần dữ liệu mà packet
ấy chứa truyền tới Nhằm giảm độ trễ truyền tin, và giảm thời gian sử dụng tàinguyên của một packet, quá trình định tuyến và chuyển tiếp packet header có thểđược thực hiện ngay khi tài nguyên yêu cầu sử dụng được rảnh rỗi mà không cầnphải chờ đợi toàn bộ packet đến được nút trung gian Với phương pháp điều khiển
luồng này, một packet sử dụng cùng lúc cổng ra (output port) tại một nút trung gian
và cổng vào (input port) tại nút mạng tiếp theo Phương pháp này được gọi là
virtual cut-though switching
Lưu trữ các packet có kích thước lên đến hàng chục bytes gây khó khăn choviệc chế tạo các bộ chuyển tiếp (hay bộ chuyển mạch) có kích thước nhỏ, giá thành
rẻ Bên cạnh đó, quá trình chờ đợi các packet được truyền tin cũng góp phần tạo độ
trễ truyền tin Nhằm khắc phục các yếu điểm này, Wormhole switching đã được đề
xuất Trong phương pháp này, các packets đuợc chia nhỏ thành các đơn vị truyềntin (flits) Kích thước bộ đệm tại các cổng ra và cổng vào tại một nút mạng đủ lớn
để chứa một vài flits Ví dụ một flits có thể có kích thước cỡ 16 bits Nhờ đó, yêucầu về kích thước bộ đệm trong các bộ định tuyến giảm đi đáng kể Mặt khác,phương pháp điều khiển luồng Wormhole switching có thể khiến quá trình truyềntin bị tắc nghẽn Trong trường hợp một packet phải đợi tài nguyên được giải phóng,packet trong Wormhole Switching bị chặn lại tại nhiều bộ chuyển tiếp thay vì một
bộ chuyển tiếp duy nhất như ở Virtual Cut-through switching Hình 6 (nguồn [4])minh họa trường hợp này Trong đó, gói tin B đang chiếm tài nguyên bộ đệm củamột cổng ra tại nút mạng R3 Packet header của gói tin A truyền tới R3 phải đợi bộđệm ở cổng ra được giải phóng Trong khi các thành phần dữ liệu của gói tin Ađược lưu trữ trong bộ đệm tại nút mạng R1 và R2 thay vì được lưu trữ toàn bộ tạiR3 Lưu ý rằng các bộ đệm trong ví dụ này chỉ có kích thước rất nhỏ 2 flits (cỡ 32bits)
Trang 23Hình 6: Ví dụ về tắc nghẽn của Wormhole switching
1.5 Hiệu năng của mạng liên kết
Như đã đề cập trong 1.2, cấu hình mạng được chọn dựa trên chi phí và hiệună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 baogồm: thông lượng (throughput), độ trễ (latency)
1.5.1 Thông lượng (Throughput)
Thông lượng được định nghĩa là lượng thông tin tối đa được truyền trongmột đơn vị thời gian trong mạng liên kết [4] 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, ban đầu người ta sử dụng đơn vị gói tin trongmộ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ôngqua 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 tintrong một clock cycle Một cách tổng quát, thông lượng tỉ lệ thuận với kích thướccủa mạng liên kết (số lượng nút mạng hay số cổng vào dữ liệu) Mạng liên kết cókích thước lớn hơn có khả năng truyền được số lượng gói tin lớn hơn Mặt khác, vớimỗi ứng dụng cụ thể, kích thước của gói tin là khác nhau Do đó, nhằm mục đích
Trang 24tiê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, bit percycle) mà mạng chấp nhận trên từng cổng vào (input port) [1].
Hình 7: Tương quan giữa throughput và offered traffic
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 (nguồn[1]) thể hiện mối tương quan giữa thông lượng và yêu cầu Ban đầu, khi lượngthông tin yêu cầu truyền đi còn thấp, thông lượng và offered traffic có giá trị bằngnhau 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 Đâycũ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ầutruyền tin cụ thể (traffic pattern)
Trang 251.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útnguồn đến khi gói tin đó được nhận ở nút đích” [4] Định nghĩa này có thể hiểu theonhiề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 đầutiên của gói tin (thường gọi là message header) bắt đầu được gửi vào mạng cho đếnkhi 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ậncù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ứacác gói tin gửi đi và gói tin nhận được để chờ xử lý Nếu quá trình nghiên cứu liênquan đến sự hoạt động của hàng đợi này, độ trễ nêu trên cần được tính thêm khoảngthờ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ạngliên kết tới độ trễ mà còn chú ý tới tác động của các hoạt động được thực hiện tạicác bộ vi xử lý nguồn, đích để gửi và nhận tin nhắn từ mạng Các hoạt động này baogồ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 gói tin vào(inject) và lấy gói tin ra (eject) khỏi mạng liên kết Trong hầu hết các hệ thống, cáchoạt động này được cài đặt trong phần mềm gọi là messaging layer Đối với nhữngnghiên cứu cân nhắc và đánh giá tác động của messaging layer, độ trễ được địnhnghĩ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ạinú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 hoạt độ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 hoạt động được khởi tạo tại mộthay 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ựchiệ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ếtnố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
Trang 26và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ứutậ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 [1] hay
transmission time [2] Đây là thời gian gói tin được gửi vào mạng (inject) 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, injectiontime được tính bằng kích thước của gói tin chia cho băng thông của đường truyềnmạ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 [1], 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 đườngtruyề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áccổ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ủaswitches latency của mạng liên kết được tính bằng tích của giá trị trung bình của các
đường đi (có thể là ngắn nhất) H avg nhân với thời gian trễ tại một bộ chuyển mạch
bất kì t r
Công thức tính độ trễ nêu trên được sử dụng khi trong quá trình truyền tinkhô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ảicộng thêm khoảng thời gian để các gói tin nằm chờ trong hàng đợi
Trang 27Hình 8: Tương quan giữa latency và offered traffic
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 Tuynhiên, khi offered traffic tăng dần, độ trễ tăng một lượng lớn Offered traffic đạt đếngiá trị bão hòa khi độ trễ trở nên rất lớn Hình 8 (nguồn [1]) là một ví dụ của tươngquan giữa độ trễ và offered traffic
Trang 28CHƯƠNG 2: PHƯƠNG PHÁP ĐÁNH GIÁ 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ụ đánhgiá đượ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âydựng một mạng liên kết trao đổi dữ liệu và giải thuật định tuyến có độ trễ nhỏ, cókhả năng mở rộng, 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ành mạng, (ii) hiệu năng của mạng khi sử dụng (cụ thể là thông lượng
và độ trễ truyền dữ liệu), và (iii) khả năng chịu lỗi của mạng
2.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 (datacenters), 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ầnthiết để thiết lập được một hệ thống mạng liên kết trong thực tế bao gồm chi phí choviệ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ế
2.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 đặtmạ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ạngkế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ínhtoá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 [5] Mỗi cổng tương ứng với một liênkết của thiết bị chuyển mạch đó 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ựachọ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áptươ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
Trang 29kế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êncáp đồng không đảm bảo được chất lượng (tốc độ truyền cao – 5Gbps) khi cần phảinố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 xen lẫn giữa cáp đồng và cáp quang
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)
đó (bao gồm chi phí dây nối, và chi phí đầu kết nối) cộng thêm 25% chi phí trungbì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ưởngnhất định đến chi phí lắp đặt thực tế Chi phí trung bình cho việc cài đặt các kết nốigiữ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útmạ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
Trang 30truyền Do đó Cost_per_m = 5$/m, và Connector_Cost = 188$/1 connector Vậy chiphí 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ộtmạ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 Trongthực tế, mạng sử dụng cho trung tâm dữ liệu được đặt trong một phòng máy (serverroom) 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âymạ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 minhhọ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ảngcách (row aisle)
Hình 9: Minh họa mô hình phòng mạng
Trong nghiên cứu của mình, chúng tôi sử dụng mô hình trình bày trong [6]
để 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ướcbấ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
Trang 31vớ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ảngcách Mahatan bằng tổng khoảng cách theo trục X và Y Trong đó, khoảng cách giữahai 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)X + 2.1*ΔX + 2.1*ΔY (m)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êmmột khoảng dôi ra (overhead) trung bình là 2m [7]
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ếpcủ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áchMahattan Ở đó 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
Trang 322.1.2 Chi phí vận hành mạ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âycá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àydựa trên tiêu thụ điện năng (power consumtion) trên một cổng (switch port) và tiêuthụ năng lượng (energy consumtion) khi truyền một gói tin
Điện năng tiêu thụ trên
một cổng (nW)
Năng lượng tiêu thụ khi
truyền 1 gói tin (pJ)
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 [8], chúngtôi ước lượng chi phí này phụ thuộc độ dài dây cáp như trong Bảng 4 Qua đó chúngtô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 hoạtđộ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
Trang 33Hình 11: Giả code tính năng lượng tiêu thụ của mạng liên kết
2.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óabằ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ữacá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ạchtươ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ạngliên kết
2.2.1 Đánh giá thông lượng lý tưởng bằng lý thuyết đồ thị
Mạng liên kết đượ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à w c Giả thiết, tất cả các cạnh c đều có cùng giá trị băng thông w c =
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 (θideal)
là tốc độ tối đa tại một cổng vào có thể đáp ứng được Thông lượng của mạng là lýtưởng trong trường hợp không có xảy ra tranh chấp tài nguyên trên mạng Khi đó,một vài kênh truyền được sử dụng để truyền tin với tốc độ tối đa Nếu không một
Trang 34kênh truyền nào được sử dụng tối đa, mạng vẫn có thể truyền được nhiều dữ liệuhơn nữa Do đó, thông lượng của mạng liên kết có thể được đánh giá thông qua tải
của một kênh truyền Tải của kênh truyền c là lượng thông tin cần 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 đơn vị thông tin (ví
dụ như 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ứcnhư sau:
Tải của một kênh truyền γc = banwidth yêu cầu sử dụng trên c / banwidth cổng vào
Dưới một kịch bản truyền tin (traffic pattern) xác định, một kênh truyền chịutải tối đa γmax = (γc) Trong trường hợp bão hoà, yêu cầu tại một cổng vào chính
bằng thông lượng lý tưởng bandwidth cổng vào = θideal và yêu cầu sử dụng trên cạnhchịu tải tối đa chính bằng băng thông của cạnh đó 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ượngkê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 và γmax = b / θideal nên ta có γB ≤ b / θideal và
θ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ênBisection γB = N/2B C gói tin Từ (*) ta có
θideal ≤ b / (N/2BC) = 2bBC/N = 2BB/N (**)
(B B = bB C còn được gọi là băng thông của Bisection)
Trang 35Nhá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ếtbằ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 (**)
2.2.2 Đánh giá độ trễ bằng lý thuyết đồ thị
Như đã trình bày trong chương cơ sở lý thuyết, độ trễ truyền tin trong mạngliê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 baogồm: thời gian chuyển gói tin qua mạng (injection time), độ trễ truyền dữ liệu trêndây nối (time to fly), độ trễ tại các bộ chuyển mạch (switches latency) Đối với cácmạ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ệună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ảng100ns/switch [2] 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, đường đi dựa vào giải thuật định tuyếnbấ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
Trang 36bằng đồ thị có trọng số như Hình 12 Vậy độ trễ trên cạnh AB không tính injectiontime được tính như sau:
latencyAB = AB * 5 + 100 (ns) = 4 * 5 + 100 = 120 (ns)Một gói tin được truyền từ nút mạng A sang nút mạng B theo con đường
tương đối thông qua độ dài đường đi trung bình H avg 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ạngbất kì Chúng tôi nhận thấy độ trễ trên đường dây time to fly trung bình khi truyềntin 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 H avg
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ắctới trong nghiên cứu của chúng tôi là đường đi được xác định theo giải thuật địnhtuyến Trong trường hợp, giải thuật định tuyến luôn đưa ra các con đường tối ưu,
Trang 37nhấ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à đườngkí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ântích đánh giá độ trễ bằng phương pháp đồ thị thông qua đánh giá hai giá trị trungbình của đường đi ngắn nhất (average shortest path length) và đường kính(diameter) của mạng liên kết.
2.2.3 Đánh giá khả năng chịu lỗi bằng lý thuyết đồ thị
Khả năng chịu lỗi là khả năng của mạng hoạt động trong trường hợp có mộthoặ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ảnhó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ểnthà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ạnhtươ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ẫunhiê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ủaquá trình đánh giá hiệu năng (thông lượng, độ trễ) nêu ở 3.2.1 và 3.2.2
2.3 Đánh giá hiệu năng mạng liên kết bằng công cụ mô phỏng 2.3.1 Phương pháp đánh giá hiệu năng bằng công cụ mô phỏ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 xuất được các thông tin về độ trễ và thông lượngphụ 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à
Trang 38BNF trình bày trong Workshop on Parallel Computer Routing and Communication(PCRCW’94) [4]
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ằngcá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 ứngthô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 địnhdạng đồ thị này một cách linh hoạt tùy thuộc vào mục đích sử dụng
2.4 Đánh giá hiệu năng của ứng dụng
2.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ạycủa một ứng dụng trên siêu máy tính (supercomputer) và trung tâm dữ liệu (datacenters) đượ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ôngnằm ở tốc độ của quá trình giả lập (khoảng thời gian mà ứng dụng sử dụng để hoànthà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 đánhgiá 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ạngliê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ụngnào
Trang 39Mộ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ụngchuẩ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, Hinemo [10]) 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 của NASA dành cho tính toán song song [9] Trong đó, IS là chuẩn đạidiệ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đích tra cứu về sau
IS Integer Sort, random memory access
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 thườ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ả