1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu về các công cụ phần mềm hệ phân tán đã có, và khảo sát các cơ sở trong việc mô phỏng và đề xuất thiết kế thử nghiệm

70 68 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 1,83 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chính vì vậy trong luận văn này, tác giả sẽ tập trung vào việc trình bày và đề xuất phương pháp xây dựng công cụ phần mềm đánh giá và mô phỏng cho thuật toán định tuyến trên mạng liên kế

Trang 1

TÌM HIỂU VỀ CÁC CÔNG CỤ PHẦN MỀM HỆ PHÂN TÁN ĐÃ

CÓ, VÀ KHẢO SÁT CÁC CƠ SỞ TRONG VIỆC MÔ PHỎNG VÀ

ĐỀ XUẤT THIẾT KẾ THỬ NGHIỆM

LUẬN VĂN THẠC SĨ KỸ THUẬT Chuyên ngành Kỹ Thuật Phần Mềm

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

NGƯỜI HƯỚNG DẪN KHOA HỌC:

1 PGS TS Nguyễn Khanh Văn

Hà Nội – Năm 2017

Trang 3

i

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1 – CƠ SỞ LÝ THUYẾT 3

1.1 Mạng liên kết 3

1.1.1 Khái niệm mạng liên kết 3

1.1.2 Các thành phần cơ bản trong mạng liên kết 5

1.2 Khái niệm dùng trong đánh giá hiệu năng giải thuật định tuyến 6

1.2.1 Thông lượng 7

1.2.2 Độ trễ 10

1.2.3 Đường kính mạng, độ dài trung bình của đường truyền 12

1.2.4 Các tiêu chí đánh giá hiệu năng khác 12

1.2.5 Các tác nhân ảnh hưởng đến đánh giá hiệu năng mạng 13

1.3 Một số cấu trúc mạng cơ bản 15

1.3.1 Phân loại cấu trúc mạng 15

1.3.2 Cấu trúc mạng Fat-tree 18

1.3.3 Cấu trúc mạng Jellyfish 21

1.3.4 Cấu trúc mạng liên kết ngẫu nhiên 2-D 23

1.4 Giải thuật định tuyến trên mạng 24

1.4.1 Phân loại giải thuật định tuyến 24

1.4.2 Giải thuật định tuyến đường đi ngắn nhất SPR 27

1.4.3 Giải thuật định tuyến Thorup-Zwick (TZ) 28

1.4.4 Giải thuật định tuyến BbR 30

CHƯƠNG 2 – PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU NĂNG MẠNG LIÊN KẾT 32

2.1 Đánh giá chi phí 32

2.2 Đánh giá hiệu năng sử dụng lý thuyết đồ thị 34

2.2.1 Thông lượng 34

2.2.2 Độ trễ 34

2.2.3 Đánh giá khả năng chịu lỗi 35

2.3 Đánh giá hiệu năng sử dụng công cụ mô phỏng 36

2.4 Đánh giá hiệu năng sử dụng nhiều tiêu chí kết hợp 38

CHƯƠNG 3 – THIẾT KẾ CÔNG CỤ PHẦN MỀM SELASIM 39

Trang 4

ii

3.1 Nguyên lý hoạt động của SelaSim 39

3.2 Sơ đồ cấu trúc của SelaSim 40

3.3 Phương pháp mô phỏng 44

3.3.1 Phương pháp chọn tập nút mạng mẫu 45

3.3.2 Mô phỏng, đánh giá thông lượng 46

3.3.3 Mô phỏng, đánh giá độ trễ trên mạng 48

3.3.4 Đánh giá đường kính mạng và độ dài trung bình của đường truyền 49

3.4 So sánh SelaSim và các phần mềm khác 49

CHƯƠNG 4 – KẾT QUẢ THỰC NGHIỆM 51

4.1 Kết quả thực nghiệm với các kích thước của tập mẫu 51

4.2 Kết quả thực nghiệm với các giải thuật định tuyến TZ, SPR và BbR 52

4.3 Kết luận 54

KẾT LUẬN 55

5.1 Kết quả đạt được 55

5.2 Hạn chế và hướng phát triển 55

TÀI LIỆU THAM KHẢO 57

PHỤ LỤC 59

Trang 5

iii

LỜ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 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àn thiệ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 trong Viện Công nghệ Thông tin – Truyền thông nói riêng và Đại học Bách Khoa Hà Nội nó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ình họ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 quan tâ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 6

iv

DANH MỤC CÁC KHÁI NIỆM, KÝ HIỆU, CÁC CHỮ VIẾT TẮT

STT Tên tiếng Anh Tên tiếng Việt Ký hiệu Giải nghĩa

Routing

Giải thuật định tuyến BbR

đường truyền tham gia vào quá trình chuyển tiếp gói tin

từ nút nguồn đến nút đích

Bộ chuyển mạch được tính là một thiết bị trung gian, tuy nhiên kênh truyền không được tính là một thiết bị trung gian

Giải thuật định tuyến đường

đi ngắn nhất

giải thuật định tuyến tìm ra đường đi ngắn nhất giữa nút nguồn và nút đích

compact routing

Giải thuật định tuyến TZ

Trang 7

v

latency

Độ trễ không tải

Độ trễ của mạng ở trạng thái không tải

Trang 8

vi

DANH MỤC CÁC BẢNG

Bảng 1.1: Một số mẫu trao đổi thông tin 14

Bảng 2.1: Sự liên hệ giữa kích thước file SimGrid và số nút mạng 37

Bảng 3.1: So sánh SelaSim và các phần mềm mô phỏng khác 50

Bảng 4.1a: Kết quả chạy SelaSim với các kích thước k cho tập mẫu 51

Bảng 4.1b: Kết quả chạy SelaSim với các kích thước k cho tập mẫu 52

Trang 9

vii

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1.1: Mô hình một mạng liên kết đơn giản 3

Hình 1.2: Phân loại mạng liên kết 5

Hình 1.3a: Đồ thị liên hệ giữa thông lượng và dung lượng thông tin đầu vào 8

Hình 1.3b: Đồ thị liên hệ giữa thông lượng và dung lượng thông tin đầu vào 8

Hình 1.4: Đồ thị liên hệ giữa độ trễ và lưu lượng thông tin đầu vào 10

Hình 1.5: Một số cấu trúc mạng cơ bản 16

Hình 1.6: Cấu trúc mạng ba tầng 18

Hình 1.7: Cấu trúc mạng Fat-tree với bốn cụm chuyển mạch 19

Hình 1.8: Sơ đồ kết nối tại một bộ chuyển mạch ở tầng Edge trong mạng Fat-tree 20 Hình 1.9: Sơ đồ kết nối tại một bộ chuyển mạch ở tầng Core trong mạng Fat-tree 20 Hình 1.10: Cấu trúc mạng Fat-tree với k = 6 21

Hình 1.11a, b: So sánh cấu trúc mạng Fat-tree và Jellyfish 22

Hình 1.11c: So sánh cấu trúc mạng Fat-tree và Jellyfish 23

Hình 1.12: Kết nối ngẫu nhiên trong mạng GRID-2 24

Hình 1.13: Sơ đồ mô tả đường truyền có hai thiết bị trung gian tham gia vào quá trình truyền tin 27

Hình 1.14: Giả mã thuật toán TZ 29

Hình 1.15: Sơ đồ mô tả quá trình định tuyến từ s đến d 30

Hình 1.16: Định tuyến nội vùng và liên vùng trong mạng liên kết ngẫu nhiên 31

Hình 2.1: Sơ đồ minh họa một data center 33

Hình 2.2: Đồ thị mô phỏng một mạng liên kết 35

Hình 2.3: Sơ đồ mạng liên kết với 4 nút và file SimGrid của mạng 37

Hình 3.1: Nguyên lý hoạt động của SelaSim 39

Hình 3.2: Thiết kế của công cụ SelaSim 40

Hình 3.3: Module ITopology 41

Hình 3.4: File cấu trúc mạng của mạng 2-D random shortcut network 41

Hình 3.5: Module IRouting 42

Trang 10

viii

Hình 3.6: Module IEvaluator 43

Hình 3.7: Quy trình vận hành SelaSim 44

Hình 3.8: Giả mã phương pháp chọn tập mẫu 46

Hình 3.9: Giả mã cách tính thông lượng 47

Hình 4.1 a) Kích thước bảng định tuyến của TZ, BbR, SPR với nhiều kích thước mạng khác nhau b) So sánh kích thước bảng định tuyến của TZ và BbR với kích thước từ 1024 đến 4096 53

Hình 4.2: Trung bình chiều dài đường đi và độ trễ của mạng 1024 nút 54

Trang 11

1

MỞ ĐẦ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 nổi lên như một 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

Đi kèm với nhu cầu sử dụng mạng liên kết là nhu cầu đánh giá hiệu năng của các mạng liên kết và so sánh chúng với nhau theo một số tiêu chí hiệu năng được định nghĩa trước Hiệu năng của mạng liên kết có thể được đánh giá một cách chính xác khi mạng liên kết được đưa vào sử dụng Tuy nhiên, do chi phí lắp đặt một trung tâm

dữ liệu tương đối lớn, việc đánh giá chính xác hiệu năng của mạng gần như không khả thi Chính vì vậy, các lý thuyết đồ thị và các công cụ mô phỏng đã được sử dụng một cách rộng rãi trong các nghiên cứu đánh giá hiệu năng của mạng liên kết Với các mạng liên kết kích thước lớn, việc đánh giá hiệu năng mạng bằng lý thuyết là tương đối khó khăn do số lượng tham số cần đánh giá rất lớn Trong những trường hợp như vậy, việc sử dụng các công cụ mô phỏng được coi như một giải pháp khả dĩ hơn Một số công cụ mô phỏng có thể kể đến như SimGrid, NS2, OMNET++, OpNet v.v Các công cụ mô phỏng này có khả năng tính toán và mô phỏng tương đối mạnh mẽ cũng như chính xác Chúng hỗ trợ mô phỏng các hệ thống tính toán lớn như

hệ thống tính toán song song, tính toán lưới, tính toán đám mây, cũng như tính toán hiệu năng cao v.v Mặc dù vậy, các công cụ mô phỏng này đều có những hạn chế nhất định và trong một số trường hợp không đáp ứng được một yêu cầu đánh giá hiệu năng của một bài toán cụ thể Có thể lấy ví dụ như công cụ mô phỏng SimGrid không hỗ trợ tính toán cho thuật toán định tuyến mà có nhiều hơn một đường đi giữa hai nút bất kỳ, sự hỗ trợ và tốc độ tính toán của công cụ mô phỏng SimGrid đối với các mạng siêu máy tính có hàng chục nghìn, trăm nghìn nút cũng rất hạn chế Chính vì vậy, để khắc phục nhược điểm đó và để phục vụ mục đích nghiên cứu chuyên biệt, nhóm nghiên cứu của phòng SEDIC lab chúng tôi dưới sự hướng dẫn của thầy Nguyễn Khanh Văn đã phát triển một hệ thống mô phỏng riêng để phục vụ nhu cầu đánh giá

Trang 12

2

hiệu năng của mạng siêu liên kết với hàng chục nghìn, trăm nghìn nút Trong quá trình làm việc tại phòng SEDIC lab, tác giả đã tham gia vào các buổi trao đổi, kiểm chứng kết quả chạy phần mềm mô phỏng và tiến hành xây dựng các bảng định tuyến cho các thuật toán được phòng SEDIC lab nghiên cứu Trong quá trình làm việc này, tác giả nhận thấy đề tài luận văn đã đăng ký với nội dung “Tìm hiểu về các công cụ phần mềm hệ phân tán đã có, và khảo sát các cơ sở trong việc mô phỏng và đề xuất thiết kế thử nghiệm” vượt quả khả năng và thời gian cho phép Thêm vào đó phần mềm mô phỏng được sử dụng tại phòng SEDIC lab được phát triển và đóng góp bởi nhiều người, bởi vậy việc hệ thống hóa các tài liệu, các phương pháp đo đạc được sử dụng cũng như việc kiểm chứng phương pháp lấy tập các nút mạng mẫu là chưa được thực hiện Từ các nhu cầu thực tế đó, dưới sự hướng dẫn của thầy hướng dẫn, tác giả

đã quyết định nghiên cứu và hoàn thành một phạm vi nhỏ của đề tài đã đăng ký ban đầu Chính vì vậy trong luận văn này, tác giả sẽ tập trung vào việc trình bày và đề xuất phương pháp xây dựng công cụ phần mềm đánh giá và mô phỏng cho thuật toán định tuyến trên mạng liên kết kích thước lớn với mong muốn sẽ tổng quát hóa phần mềm mô phỏng hiện tại của SEDIC lab, trình bày cách thức các phương pháp đo đạc đang hoạt động thế nào và tiến hành phát biểu cũng như kiểm chứng phương pháp lấy tập các nút mẫu

Trang 13

3

CHƯƠNG 1 – CƠ SỞ LÝ THUYẾT

Trong mục này, người viết sẽ trình bày khái niệm mạng liên kết, một số tiêu chí được sử dụng trong đánh giá hiệu năng mạng liên kết như thông lượng, độ trễ Người viết cũng trình bày một số cấu trúc mạng cơ bản cũng như giải thuật định tuyến trên mạng Cấu trúc mạng và giải thuật định tuyến có liên quan đến hướng nghiên cứu của luận văn này sẽ được trình bày trong các mục 1.3 và 1.4

1.1 Mạng liên kết

Để có thể đánh giá được hiệu năng của mạng liên kết, chúng ta cần hiểu và định nghĩa được khái niệm mạng liên kết là gì, có những thành phần chủ yếu nào sẽ ảnh hưởng đến sự đánh giá hiệu năng của mạng Mục 1.1.1 sẽ giải thích khái niệm thế nào là mạng liên kết, các thành phần chủ yếu của mạng sẽ được trình bày trong mục 1.1.2

1.1.1 Khái niệm 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à được sử dụng để vận chuyển dữ liệu giữa các thiết

bị đầu cuối [1]

Hình 1.1: Mô hình một mạng liên kết đơn giản [1]

Hình 1.1 mô tả cấu trúc mạng của một mạng liên kết điển hình, trong đó các thiết bị đầu cuối (kí hiệu từ TB1 đến TB6) kết nối với mạng liên kết Các mũi tên

Trang 14

4

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 muốn trao đổi dữ liệu với TB5, TB1 gửi một gói tin chứa dữ liệu cần trao đổi đến mạng liên kết Mạng liên kết sẽ thực hiện chuyển tiếp gói tin này đến TB5 Tính lập trình được của mạng liên kết được thể hiện ở việc mạng liên kết có thể tạo ra các kết nối khác nhau giữa các thiết bị đầu cuối ở các thời điểm khác nhau theo thời gian nhằm phục vụ nhu cầu truyền tin trong mạng Tại một thời điểm, mạng liên kết trong Hình 1.1 có thể chuyển tiếp gói tin từ TB3 đến TB5, ngay sau đó cũng có thể sử dụng lại các tài nguyên này để chuyển tiếp gói tin từ TB3 đến TB1

Các hệ thống thỏa mãn định nghĩa về mạng liên kết được nêu lên ở trên được phân loại thành các loại mạng liên kết khác nhau tùy thuộc vào số lượng thiết bị kết nối và khoảng cách giữa các thiết bị Theo [2] có bốn loại mạng liên kết chính được phân biệt như sau:

• On-chip networks (OCN): Còn được nhắc tới với thuật ngữ network-onchip (NoC), OCNs được sử dụng để kết nối các đơn vị chức năng vi kiến trúc, các thanh ghi (register), bộ lưu trữ trung gian (caches), các bộ vi xử lý (processor) trong các con chip hoặc module đa chip 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 centimet

• System/storage area networks (SAN): 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ớ (processor-memory) trong các hệ thống đa nhân (multiprocessor) và hệ thống đa máy tính (multicomputer) Mạng liên kết này cũng được sử dụng để kết nối các bộ lưu trữ và thiết bị đọc/ghi trong các môi trường máy chủ và trung tâm dữ liệu Số lượng thiết bị được kết nối trong SAN có thể lên tới hàng nghìn thiết bị khác nhau phân bố trong khoảng cách từ vài chục đến vài trăm mét

• Local area networks (LAN): 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 trong một phòng, một tòa nhà hoặc một khu vực Các mạng LAN có thể kết nối hàng trăm hoặc hàng ngàn thiết bị nếu sử dụng thêm

Trang 15

Bốn loại mạng liên kết đã trình bày ở trên có thể được hiển thị một cách trực quan như trong Hình 1.2 với trục tung (trục đứng) thể hiện khoảng cách lớn nhất giữa các thiết bị và trục hoành (trục ngang) thể hiện số lượng thiết bị trong mạng liên kết

Hình 1.2: Phân loại mạng liên kết [2]

1.1.2 Các thành phần cơ bản trong mạng liên kết

Để đáp ứng các yêu cầu hiệu năng của một hệ thống cụ thể, các yếu tố cấu trúc mạng, giải thuật định tuyến và giải thuật điều khiển luồng được thiết kế, xây dựng dựa trên sự cân nhắc đến các giới hạn, rành buộc kỹ thuật của mạng Một điểm chính quyết định đến sự hiệu quả của mạng liên kết là việc chia sẻ các kết nối trong mạng, chính vì vậy, thay vì liên kết các thiết bị đầu cuối với nhau theo từng đôi một, các thiết bị đầu cuối sẽ được kết nối thông qua các bộ chuyển mạch và các kênh truyền chung Các bộ chuyển mạch và các thiết bị đầu cuối được gọi chung là các nút mạng, cách thức hay mẫu thiết kế, cấu trúc hình học mà các nút mạng được liên kết với nhau

Trang 16

Điều khiển luồng là quá trình ra lệnh, lựa chọn gói tin nào được quyền truy cập vào một tài nguyên cụ thể tại một thời điểm trong mạng Điều khiển luồng được thực hiện liên tục trong toàn bộ quá trình vận hành mạng và đóng vai trò quan trọng trong việc chuyển tiếp các gói tin với độ trễ nhỏ nhất, đảm bảo các tài nguyên không

bị sử dụng quá tải, hoặc không được sử dụng trong thời gian dài

1.2 Khái niệm dùng trong đánh giá hiệu năng giải thuật định tuyến

Phụ thuộc vào nhu cầu và mục đích cụ thể của việc đánh giá, hai hay nhiều mạng liên kết bất kỳ và giải thuật định tuyến trên mạng liên kết sẽ được đánh giá và

so sánh dựa trên một hoặc nhiều tiêu chí chung Trong mục này, người viết sẽ trình

Trang 17

7

bày một số tiêu chí đánh giá hiệu năng chính như thông lượng, độ trễ và một số các tiêu chí khác ít sử dụng hơn Một số tác nhân có ảnh hưởng đến hiệu năng mạng và đánh giá hiệu năng mạng cũng được mô tả trong phần cuối của mục này

1.2.1 Thông lượng

Thông lượng của một mạng được định nghĩa bằng lượng thông tin mà mạng

có thể truyền được trong một đơn vị thời gian Thông lượng thường được đo bằng số lượng bit được truyền đi trong một giây (bits per second – bps) Thông lượng lý tưởng của mạng được định nghĩa là thông lượng của mạng khi mẫu trao đổi thông tin (traffic pattern) trong mạng, thuật toán định tuyến và giải thuật điều khiển luồng (flow control) trong mạng đạt điều kiện lý tưởng Điều này đồng nghĩa với việc các đường truyền tương đương trên mạng sẽ chịu một lượng tải bằng nhau, và các đường truyền

sẽ được sử dụng với hiệu xuất cao nhất Tuy nhiên, do thông lượng thực tế của mạng

bị ảnh hưởng bởi nhiều yếu tố như cấu trúc mạng, thuật toán định tuyến v.v thông lượng thực tế của mạng sẽ luôn nhỏ hơn thông lượng lý tưởng

Thông lượng lớn nhất của mạng đạt được khi các đường truyền trong mạng trở lên bão hòa Khi các đường truyền trong mạng chưa bão hòa, thông lượng của mạng sẽ tăng dần lên khi dung lượng thông tin đầu vào (offered traffic) – lượng thông tin được sinh ra bởi các nút nguồn – tăng lên Khi đạt đến điểm bão hòa, thông lượng

sẽ không tăng lên mặc dù lượng thông tin đầu vào tăng lên như được mô tả trong Hình 1.3a Trong trường hợp mạng ổn định, thông lượng của mạng sẽ gần như không thay đổi sau khi đạt đến điểm bão hòa điều này được thể hiện rõ trong Hình 1.3a khi giá trị của thông lượng đi ngang sau khi mạng đạt đến trạng thái bão hòa Tuy nhiên trong thực tế, rất nhiều mạng không ổn định và thông lượng của chúng thường đi xuống sau khi đạt đến trạng thái bão hòa như mô tả trong Hình 1.3b Nguyên nhân xảy ra tình trạng sụt giảm về thông lượng là do khi mạng đạt đến trạng thái bão hòa, các gói tin phải cạnh tranh về tài nguyên trong mạng, và một số gói tin bắt đầu bị mất

Trang 18

8

Hình 1.3a: Đồ thị liên hệ giữa thông lượng và dung lượng thông tin đầu vào [1]

Hình 1.3b: Đồ thị liên hệ giữa thông lượng và dung lượng thông tin đầu vào [1]

Trang 19

9

Để đơn giản hóa việc tính toán thông lượng, thông thường băng thông của các kênh truyền trên mạng được giả định bằng nhau và bằng b Lượng tải trên một kênh truyền được tính theo công thức 1.1

Đây chính là lượng thông tin sẽ cần truyền qua kênh truyền nếu mỗi đầu vào (input)

lượng tải lớn nhất trên toàn bộ các kênh truyền Khi mạng trở lên bão hòa, lượng thông tin đầu vào sẽ bằng thông lượng của mạng, và lượng tải yêu cầu trên kênh truyền bị bão hòa (bottleneck channel) sẽ bằng băng thông của kênh truyền Vì vậy thông lượng lý tưởng của mạng có thể được tính theo công thức 1.2 và 1.3 trong đó

Θ&ý (ưở+, là thông lượng lý tưởng của mạng

"#$ ≥ 0= 22 1

băng thông của lớp cắt mạng và N là tổng số nút mạng

Trang 20

10

1.2.2 Độ trễ

Độ trễ của mạng được định nghĩa là khoảng thời gian cần thiết để một gói tin

đi từ nút nguồn đến nút đích Khoảng thời gian này được tính từ lúc thành phần dữ liệu đầu tiên của gói tin bắt đầu được gửi vào mạng đến khi thành phần dữ liệu cuối cùng của gói tin đến đích Độ trễ của mạng ở trạng thái không tải là độ trễ có thể đạt được trên mạng khi các gói tin không phải cạnh tranh về tài nguyên trên mạng Đây chính là độ trễ lý tưởng và được tính bằng tổng thời gian cần thiết để một gói tin được đẩy vào mạng một cách toàn bộ cộng với thời gian để thành phần dữ liệu đầu tiên của gói tin được truyền trên mạng

Hình 1.4: Đồ thị liên hệ giữa độ trễ và lưu lượng thông tin đầu vào [1]

Để đánh giá hiệu năng của mạng, trong một số trường hợp, độ trễ của mạng được biểu diễn như một hàm phương trình của lưu lượng thông tin đầu vào như trong Hình 1.4 Do ảnh hưởng bởi cấu trúc mạng, giải thuật định tuyến và điều khiển luồng

Trang 21

11

trung bình, số lượng nhỏ nhất của các thiết bị trung gian tham gia vào quá trình truyền tin, kích thước gói tin và băng thông của mạng Trong trường hợp dữ liệu truyền vào

trễ của mạng sẽ tăng dần đến vô cùng như trong Hình 1.4 đã mô tả Từ Hình 1.4 chúng ta nhận thấy độ trễ của mạng bị giới hạn bởi độ dài trung bình của các đường truyền trong mạng, trong khi đó thông lượng bị giới hạn bởi thuật toán định tuyến

tổng dung lượng của một lớp cắt mạng

Về mặt lý thuyết, độ trễ lý tưởng của mạng có thể được tính bằng công thức 1.6 dưới đây:

gói tin di chuyển trong các bộ định tuyến trung gian và di chuyển trong các kênh

BD = 7"=+× 9+ J"=+ 1.8

gói tin có thể được truyền đi trong mạng Kết hợp hai công thức 1.7 và 1.8, ta có công

Trang 22

12

1.2.3 Đường kính mạng, độ dài trung bình của đường truyền

Một gói tin có thể sử dụng nhiều đường truyền khác nhau để đi từ nút mạng

trung bình của đường truyền là giá trị trung bình của tất cả các đường truyền trong mạng mà các gói tin sẽ phải đi với một mẫu trao đổi thông tin và một phương pháp định tuyến bất kỳ Hai giá trị đường kính mạng và độ dài trung bình của đường truyền ảnh hưởng trực tiếp đến độ trễ trong mạng, chính vì vậy, trong một số nghiên cứu, hai tiêu chí này được sử dụng như một trong các tiêu chí chính khi đánh giá hiệu năng của mạng và giải thuật định tuyến

1.2.4 Các tiêu chí đánh giá hiệu năng khác

Ngoài các tiêu chí đã đề cập, trong một số trường hợp, người ta còn so sánh hai hay nhiều mạng sử dụng các tiêu chí khác như khả năng chịu lỗi, giá thành, khả năng mở rộng v.v

• Khả năng chịu lỗi của mạng: đây là tiêu chí đánh giá khả năng hoạt động của mạng khi trong xuất hiện các lỗi liên quan đến kênh truyền, thiết bị điều hướng hoặc nút mạng Mạng được coi là có khả năng chịu lỗi đơn điểm nếu mạng vẫn có khả năng hoạt động trong trường hợp một kênh truyền hoặc một nút mạng bị lỗi Những mô hình mạng như Star, mạng Ring có khả năng chịu lỗi kém, trong khi đó những mạng như Mesh, Hybrid có khả năng chịu lỗi cao hơn Khả năng chịu lỗi của mạng có liên quan trực tiếp đến sự đa dạng của các đường truyền trong mạng và phương thức định tuyến được sử dụng trong mạng Một mạng với nhiều hơn một đường truyền giữa hai nút bất kỳ sẽ có khả năng chịu lỗi cao hơn so với một mạng tương ứng chỉ có duy nhất một

Trang 23

13

đường truyền giữa hai nút bất kỳ Tương tự, mạng sử dụng phương thức định tuyến tĩnh sẽ có khả năng chịu lỗi thấp hơn so với mạng sử dụng phương thức định tuyến động

• Giá thành lắp đặt mạng: là tiêu chí đánh giá dựa trên tổng toàn bộ chi phí để lắp đặt và đưa vào hoạt động một mạng Chi phí này bao gồm chi phí của vật liệu sử dụng làm kênh truyền, chi phí của các thiết bị chuyển mạch, định tuyến trung gian v.v Lấy trung tâm dữ liệu như một ví dụ, mỗi một nút mạng trong một trung tâm dữ liệu sẽ được đặt trong một tủ mạng, chi phí cho trung tâm

dữ liệu sẽ bao gồm chi phí cáp mạng dùng để kết nối các thiết bị trong cùng một tủ mạng cũng như kết nối các tủ mạng lại với nhau

• Khả năng mở rộng của mạng: là tiêu chí đánh giá khả năng đáp ứng của mạng khi thêm nút mạng mới Với một số mạng như Star hay Bus, việc thêm mới một nút mạng tương đối dễ dàng do số liên kết phải tạo mới tương đối nhỏ Ngược lại, với một số mạng như Mesh toàn phần (fully connected Mesh) hay Torus, việc thêm mới một nút mạng tương đối khó khăn và tốn kém hơn do số lượng liên kết mới khá lớn

• Kích thước bảng định tuyến: nguồn tài nguyên của mạng có hạn, điều này cũng đúng với nguồn tài nguyên tại mỗi nút mạng Tại mỗi nút mạng, các nguồn tài nguyên của nút mạng sẽ được sử dụng để lưu trữ thông tin bảng định tuyến,

thước bảng định tuyến đóng vai trò như một tiêu chí quan trọng trong việc đánh giá hiệu năng của một mạng [9]

1.2.5 Các tác nhân ảnh hưởng đến đánh giá hiệu năng mạng

Như đã trình bày ở các phần trước, hiệu năng của mạng bị ảnh hưởng trực tiếp bởi cấu trúc mạng, phương pháp định tuyến trên mạng và điều khiển luồng Cấu trúc mạng sẽ quyết định đường kính, đường kính mạng sẽ quyết định đến độ trễ trong mạng Cấu trúc mạng cũng ảnh hưởng trực tiếp đến cách lắp đặt mạng, khả năng thêm nút mạng mới, chi phí lắp đặt mạng cũng như khả năng chịu lỗi của mạng Phương

Trang 24

14

pháp định tuyến cũng như điều khiển luồng sẽ xác định cách thức các gói tin được truyền đi trong mạng, tổng độ dài vật lý của đường truyền Nói cách khác phương pháp định tuyến và điều khiển luồng sẽ quyết định đến độ trễ mạng, khả năng chịu lỗi của mạng, kích thước bảng định tuyến cũng như hiệu năng của mạng trong trường hợp mạng đạt trạng thái bão hòa

Bảng 1.1: Một số mẫu trao đổi thông tin

Tên mẫu trao đổi thông tin Mô tả mẫu

dự đoán một cách chính xác trước khi hệ thống được đưa vào vận hành Chính vì vậy, khi đánh giá hiệu năng mạng và hiệu năng của phương pháp định tuyến, các mẫu trao đổi thông tin thường được sử dụng như một cơ sở để đánh giá Mẫu trao đổi thông tin

Trang 25

dạng trộn (permuation) thể hiện việc mọi gói tin gửi từ một nguồn s được gửi đến duy nhất 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

trộn (permutation) có thể được tìm thấy trong Bảng 1.1 Trong phương pháp trộn theo

1.3 Một số cấu trúc mạng cơ bản

Trong mục này, người viết sẽ trình bày định nghĩa của cấu trúc mạng, cách phân loại cấu trúc mạng dựa trên một số mô hình cấu trúc mạng phổ biến như cấu trúc mạng Star, Bus, hay cấu trúc mạng Ring Người viết cũng giới thiệu và trình bày một số cấu trúc mạng nổi tiếng như Fat tree hay Jellyfish Trong mục 1.3.4, tác giả sẽ trình bày cấu trúc mạng liên kết ngẫu nhiên 2-D Grid, là mô hình cấu trúc mạng sẽ được sử dụng làm đối tượng nghiên cứu trong bài luận văn này

1.3.1 Phân loại cấu trúc mạng

Cấu trúc mạng là mẫu thiết kế các kết nối giữa các nút mạng với nhau hay được hiểu là một phương pháp sắp xếp các kênh truyền và nút mạng Phụ thuộc vào cách sắp xếp các nút mạng và cách chúng được kết nối với nhau, cấu trúc mạng có

Trang 26

16

thể được chia thành nhiều loại khác nhau Một số ví dụ của các cấu trúc mạng như mạng Star, Mesh, Ring, Tree hay Bus có thể tìm thấy trong Hình 1.5

Hình 1.5: Một số cấu trúc mạng cơ bản (Nguồn: Wiki)

Có rất nhiều loại cấu trúc mạng được thiết kế và ứng dụng trong thực tế, tuy nhiên chúng có thể được chia ra làm một số loại chính như sau [13]:

• Point-to-point: là kiến trúc mạng đơn giản nhất Trong kiến trúc này, giữa hai thiết bị đầu cuối sẽ có một liên kết được dùng riêng và cố định duy nhất Cấu trúc point-to-point thường được xử dụng khi cần một đường truyền riêng không bị gián đoạn giữa hai thiết bị đầu cuối

• Bus: là một kiến trúc mạng mà ở đó các nút mạng kết nối với nhau thông qua một kênh truyền dùng chung đóng vai trò như xương sống của mạng Các gói tin từ một thiết bị đầu cuối sẽ được truyền vào kênh dùng chung và được phát

đi đến tất cả các thiết bị đầu cuối trong mạng cho đến khi được xử lý bởi thiết

bị đầu cuối mong muốn Một thiết bị đầu cuối sẽ bỏ qua tất cả các gói tin mà không được gửi đích danh đến nó Bởi sử dụng một kênh truyền chung, chi phí của mô hình Bus tương đối nhỏ hơn so với chi phí của các mô hình khác, tuy nhiên việc điều khiển luồng trong mô hình Bus lại tương đối phức tạp và tốn chi phí cao

Trang 27

17

o Bus tuyến tính (Linear bus): Trong mô hình này tất cả các nút trong mạng đều nối đến một kênh truyền chung duy nhất, các gói tin trong mạng sẽ được nhận bởi tất cả các nút mạng

o Bus phân tán (Distributed bus): Trong mô hình này, tất cả các nút mạng đều nối đến một kênh truyền chung, tuy nhiên, kênh truyền chung sẽ được phân nhánh thành nhiều nhánh con

• Star: hay còn gọi là cấu trúc 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 Tất cả các nút mạng khác sẽ được nối với nút trung tâm thông qua các kênh truyền point-to-point Mạng Star không nhất thiết phải có dạng ngôi sao, tuy nhiên tất cả các nút đều bắt buộc phải kết nối đến nút mạng trung tâm, tất cả các gói tin đều phải đi qua nút mạng trung tâm này 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ểm của star là bị phụ thuộc vào

• Ring: hay còn gọi mạng hình tròn Mỗi nút mạng sẽ 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 Dữ liệu trong mạng Ring được truyền đi theo một chiều duy nhất Khi một nút gửi đi một gói tin, gói tin sẽ đi qua từng nút mạng để đến nút mạng đích, mỗi nút mạng trung gian

sẽ đóng vai trò như một thiết bị kích sóng (repeater) Trong ring không có nút mạng trung tâm, mọi nút mạng đều bình đẳng Ring dễ gặp vấn đề khi một nút mạng xảy ra sự cố, ngoài ra, 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 toàn bộ mạng

• 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

o Mesh toàn phần: Trong mạng này, tất cả các nút mạng đều được kết nối lại với nhau một cách trực tiếp Mạng Mesh toàn phần không cần sử dụng đến packet switching hay broadcasting, tuy nhiên số lượng kết nối trong mạng rất cao (1.10) nên mạng Mesh toàn phần trở nên không khả thi khi số lượng nút trong mạng lớn

Trang 28

18

o Mesh bán toàn phần: Trong mạng này, một số nút mạng sẽ chỉ có một kết nối duy nhất đến một nút mạng khác, các nút mạng còn lại có thể được kết nối đến hai nút mạng hoặc nhiều hơn sử dụng kết nối point- to-point

• Hybrid: là mạng được tạo thành bởi sự kết hợp của hai hay nhiều mô hình mạng khác nhau Mạng hình cây (tree) có thể coi như sự kết hợp giữa mạng Bus và mạng Star

1.3.2 Cấu trúc mạng Fat-tree

Cấu trúc mạng Fat-tree được xây dựng dựa trên cấu trúc mạng cây truyền thống và cấu trúc Clos [11] Tuy nhiên, trong cấu trúc mạng Fat-tree, thay vì sử dụng những bộ chuyển mạch có băng thông lớn và giá thành đắt, Fat-tree sử dụng các bộ chuyển mạch phổ thông hơn và giá thành rẻ hơn Hình 1.6 mô tả mô hình cấu trúc mạng hình cây ba tầng truyền thống

Hình 1.6: Cấu trúc mạng ba tầng [11]

Trong mạng hình cây truyền thống, kết nối giữa một máy chủ và một bộ chuyển mạch – đường màu xanh – thông thường là các kết nối GigE, trong khi đó kết nối giữa các bộ chuyển mạch – đường màu đỏ – thông thường là các kết nối 10GigE

Trang 29

19

Việc sử dụng các kết nối 10GigE giữa các bộ chuyển mạch nhằm mục đích đảm bảo được tốc độ kết nối cao giữa các bộ chuyển mạch, tuy nhiên điều này không làm tăng tính chịu lỗi của mạng do chỉ tồn tại duy nhất một kênh truyền giữa hai nút mạng Trong mô hình Fat-tree điều này không còn đúng nữa Trong Fat-tree, tất cả

bộ chuyển mạch 10Gig đều được thay thế bằng bộ chuyển mạch 1Gig Trong tree, cấu trúc ba tầng vẫn được giữ nguyên, và một khái niệm cụm chuyển mạch (pod) được sử dụng Một cụm chuyển mạch là một cụm các bộ chuyển mạch thuộc lớp Edge

Fat-và lớp Aggregation Hình 1.7 mô tả một mạng Fat-tree với bốn cụm chuyển mạch Mỗi cụm chuyển mạch sẽ có bốn bộ chuyển mạch, với hai bộ chuyển mạch ở tầng Edge và hai bộ chuyển mạch ở tầng Aggregation

Hình 1.7: Cấu trúc mạng Fat-tree với bốn cụm chuyển mạch [11]

cụm chuyển mạch sẽ được cấu thành bởi các bộ chuyển mạch tại hai tầng chuyển

tầng Aggregation Như vậy, số lượng máy chủ có thể hỗ trợ bởi mạng Fat-tree sẽ là

Trang 30

20

ta có thể thực hiện mô tả các kết nối tại một bộ chuyển mạch ở tầng Edge trong trường

sẽ kết nối với ba máy chủ và ba bộ chuyển mạch ở tầng Aggregation

Hình 1.8: Sơ đồ kết nối tại một bộ chuyển mạch ở tầng Edge trong mạng Fat-tree Mỗi bộ chuyển mạch ở tầng Aggregation trong một cụm chuyển mạch sẽ được

đều sẽ được nối lần lượt đến cụm chuyển mạch Hình 1.9 mô tả các kết nối của một

Hình 1.9: Sơ đồ kết nối tại một bộ chuyển mạch ở tầng Core trong mạng Fat-tree

Trang 31

21

Một số ưu điểm dễ nhận thấy của Fat-tree đó là các bộ chuyển mạch giống hệt nhau, nên có thể dễ dàng tận dụng các thành phần rẻ tiền cho các bộ chuyển mạch trong mạng Thêm vào đó, do số lượng kênh truyền dư thừa trên mạng, khả năng chịu lỗi của Fat-tree tương đối tốt Tuy nhiên do cấu trúc của Fat-tree, độ dài của các đường truyền trong Fat-tree đa phần bằng nhau và bằng 6 Đây là một giá trị tương đối lớn khi so sánh với sơ đồ mạng Jellyfish

Hình 1.10: Cấu trúc mạng Fat-tree với k = 6

1.3.3 Cấu trúc mạng Jellyfish

Một vấn đề chúng ta có thể dễ dàng nhận thấy đối với mạng Fat-tree đó là khả năng mở rộng – thêm vào máy chủ, các bộ chuyển mạch –rất hạn chế Thứ nhất, số lượng máy có thể được hỗ trợ bởi Fat-tree bị hạn chế bởi tham số , vì vậy việc thêm vào máy chủ là bất khả thi nếu tham số giữ nguyên Thứ hai, việc thay đổi, nâng cấp một mạng Fat-tree sử dụng các bộ chuyển mạch với cổng lên một mạng Fat-

mạch hiện có Tuy nhiên, với mạng Jellyfish, việc mở rộng và thêm mới trở lên dễ dàng hơn do mạng Jellyfish được xây dựng dựa trên mô hình đồ thị ngẫu nhiên Phương pháp xây dựng mạng Jellyfish được tiến hành dựa trên các bộ chuyển

Trang 32

22

hợp tất cả các bộ chuyển mạch ToR có cùng và , mạng sẽ là một mô hình đồ thị

số lượng các bộ chuyển mạch ToR Hình 1.11 mô tả một mạng Fat-tree (a) và Jellyfish (b) với 16 máy chủ và 20 bộ chuyển mạch, mỗi bộ chuyển mạch có bốn cổng

Hình 1.11a, b: So sánh cấu trúc mạng Fat-tree và Jellyfish [10]

Hình 1.11c biểu diễn sự phân bổ độ dài của các đường truyền trong mạng Jellyfish và mạng Fat-tree với 686 máy chủ Từ Hình 1.11c, có thể dễ dàng nhận thấy

độ đài của các đường truyền trong mạng Jellyfish đa dạng hơn mạng Fat-tree Trong mạng Jellyfish, độ dài các đường truyền phân bổ từ hai đến sáu, với tỷ lệ các đường truyền có độ dài bốn và năm chiếm tỷ lệ lớn nhất Ngược lại, đa phần các đường truyền trong mạng Fat-tree có độ dài là sáu, chỉ một phần nhỏ các đường truyền có

độ dài hai hoặc bốn Từ đó có thể nhận thấy độ dài trung bình của các đường truyền trong mạng Jellyfish nhỏ hơn mạng Fat-tree, điều này đồng nghĩa với việc mạng Jellyfish có độ trễ trung bình thấp hơn mạng Fat-tree

Trang 33

23

Hình 1.11c: So sánh cấu trúc mạng Fat-tree và Jellyfish [10]

Do được xây dựng dựa trên mô hình mạng ngẫu nhiên, việc mở rộng mạng

– tương đối đơn giản Quá trình mở rộng và thêm mới một bộ chuyển mạch ToR được thực hiện theo ba bước như sau:

- Bước 3: Lặp lại quá trình từ bước 1 cho đến khi không còn hoặc chỉ còn một cổng trống duy nhất

1.3.4 Cấu trúc mạng liên kết ngẫu nhiên 2-D

Mạng liên kết ngẫu nhiên 2-D là mạng được xây dựng dựa trên mạng 2-D Grid

và mạng liên kết ngẫu nhiên, trong đó, mỗi nút trong lưới sẽ được nối với các nút hàng xóm liền kề theo chiều ngang và dọc Ngoài ra, mỗi nút sẽ có một số kết nối ngẫu nhiên đến các nút xa hơn trong bảng [9] Hình 1.12 mô tả ví dụ một nút mạng với hai kết nối ngẫu nhiên trong mạng liên kết ngẫu nhiên 2-D

Trang 34

24

Một mạng liên kết ngẫu nhiên 2-D Grid như mô tả trong Hình 1.12 sẽ có độ dài đường kính mạng nhỏ hơn so với mạng 2-D Grid tương đương và vì vậy sẽ có độ trễ nhỏ hơn Ngoài ra, để đảm bảo kích thước bảng định tuyến tại mỗi nút nhỏ, số lượng kết nối ngẫu nhiên tại mỗi nút thường bằng nhau và bằng – với chẵn [9] Với mạng mà có số lượng kết nối ngẫu nhiên trong mạng đồng nhất, chúng ta sẽ tạm gọi là GRID-r với là số lượng kết nối ngẫu nhiên

Hình 1.12: Kết nối ngẫu nhiên trong mạng GRID-2 [9]

1.4 Giải thuật định tuyến trên mạng

Giải thuật định tuyến cùng với cấu trúc mạng và điều khiển luồng cấu thành

ba thành phần chính của một mạng liên kết Trong phần 1.4.1, các giải thuật định tuyến sẽ được phân loại thành các nhóm Các giải thuật định tuyến SPR, TZ và BbR

sẽ được trình bày sơ qua trong các mục 1.4.2 đến 1.4.4

1.4.1 Phân loại giải thuật định tuyến

Định tuyến là quá trình chọn lựa chọn đường đi trên một mạng máy tính từ nút nguồn đến nút đích Đối với một hệ thống mạng, giải thuật định tuyến đóng vai trò rất quan trọng vì những lý do sau:

Trang 35

25

• Giải thuật định tuyến tốt sẽ có thể phân tải đều trên các kênh truyền kể cả trong trường hợp mẫu trao đổi thông tin không phải lý tưởng Việc này sẽ trực tiếp làm tăng thông lượng của mạng

• Giải thuật định tuyến tốt sẽ giúp tìm ra đường đi ngắn nhất cho mỗi gói tin, do

đó giảm thiểu được độ trễ trong truyền tin từ nguồn tới đích Tuy nhiên, sẽ có

sự đánh đổi giữa việc lựa chọn đường đi ngắn nhất và việc phân tải đều trên các kênh truyền Nói một cách khác, để phân tải đều trên các kênh truyền, trong một số trường hợp, đường đi ngắn nhất không phải là một sự lựa chọn tối ưu

• Giải thuật định tuyến tốt giúp làm tăng khả năng chịu lỗi của mạng Ví dụ khi một số thiết bị trung gian hoặc kênh truyền bị loại bỏ khỏi mạng, với một giải thuật định tuyến tốt, mạng sẽ vẫn hoạt động bình thường, hiệu năng sẽ bị giảm không đáng kể

• Giải thuật định tuyến tốt giúp giảm thiểu hiện tượng thắt cổ chai (bottleneck) Tức là giảm thiểu hiện tượng quá nhiều gói tin cùng đi qua một bộ chuyển mạch, định tuyến trung gian, một kênh truyền chung v.v Thay vào đó, thuật toán định tuyến tốt giúp phân bố đều đường đi của các gói tin qua các bộ chuyển mạch, bộ định tuyến, các kênh truyền khác nhau

Có nhiều cách phân loại giải thuật định tuyến dựa trên nhiều tiêu chí khác nhau như phân chia theo số lượng đích đến của từng gói tin, địa điểm sẽ thực hiện việc định tuyến, thời gian thực hiện định tuyến hoặc phương pháp triển khai định tuyến Tuy nhiên trong bài này, chúng ta sẽ chỉ tập trung vào việc phân chia theo địa điểm thực hiện việc định tuyến và thời gian thực hiện định tuyến Dựa trên địa điểm sẽ thực hiện việc định tuyến, chúng ta có thể phân loại định tuyến thành các loại sau:

• Định tuyến tại nguồn (source routing): Nút nguồn sẽ quyết định toàn bộ đường truyền mà gói tin sẽ đi qua Thông tin này sẽ được thêm vào trong nội dung của gói tin và gửi đi Lợi ích của phương pháp này là thời gian thực hiện định tuyến thấp do chỉ phải thực hiện một lần duy nhất tại nguồn, tuy nhiên điều

Ngày đăng: 09/11/2018, 22:21

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w