Đề tài Đồng bộ thận trọng trong mô phỏng mạng truyền thông quy mô lớn

Kỹ thuật mô phỏng song song theo sự kiện rời rạc hiện nay đã cho phép ứng dụng với các mô hình mạng truyền thông quy mô lớn (chứa tới hàng triệu thiết bị đầu cuối và thiết bị chuyển mạch). Tuy nhiên, hiệu suất mô phỏng song song có thể bị giảm xuống đáng kể nếu không sử dụng những thuật toán đồng bộ thích hợp. Nội dung bài báo đã đưa ra những nét so sánh về hiệu suất và khả năng mở rộng của 2 thuật toán synchronous (đồng bộ) và asynchronous (không đồng bộ) trong mô phỏng mạng song song thận trọng. Nhóm nghiên cứu cũng phát triển một mô hình phân tích để đánh giá hiệu quả và tính khả mở của các tham số xác định trong một thuật toán khá nổi tiếng có tên là Null-message. Bài báo cũng chỉ rõ rằng dữ liệu thực nghiệm đã chứng minh tính chính xác của mô hình này. Việc phân tích và đo lường trên hệ thống song song với hàng trăm bộ vi xử lý cho thấy rằng đối với các kịch bản mô phỏng mô hình mạng thu nhỏ có số lượng kênh vào / ra xác định thì thuật toán null-message có khả năng mở rộng tốt hơn khả năng giảm số lượng tính toán giá trị toàn cục tối thiểu (global reduction) dựa trên các giao thức đồng bộ.

doc20 trang | Chia sẻ: truongthanhsp | Lượt xem: 994 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Đề tài Đồng bộ thận trọng trong mô phỏng mạng truyền thông quy mô lớn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÀI TẬP LỚN MÔN HỌC CÁC KỸ THUẬT HIỆN ĐẠI TRONG CNTT MÔ PHỎNG HIỆU NĂNG CAO Đề tài: “Conservative Synchronization of Large-Scale Network Simulations” (Đồng bộ thận trọng trong mô phỏng mạng truyền thông quy mô lớn) - Giảng viên hướng dẫn : TS. Phạm Đăng Hải - Học viên thực hiện : Hồ Thị Lợi (CA150114) Đoàn Vũ Giang (CA150108) Nguyễn Thị Thu Huyền (CB140170) - Môn học : Chuyên đề 2 - Mã học phần : IT6190 - Chuyên ngành : Công nghệ thông tin - Hà Nội: 8/2015 - MỤC LỤC LỜI MỞ ĐẦU Mô phỏng tin học (Computer simulation) là các chương trình máy tính, mạng máy tính để mô phỏng một mô hình trừu tượng của một hệ thống cụ thể thông qua các hiện tượng, các sự kiện trong thực tế hoặc số liệu đã có như các điều kiện thời tiết, các phản ứng hoá học, các quá trình sinh học và các số liệu kinh tế. Quy mô của sự kiện được mô phỏng bằng mô phỏng tin học đã vượt xa bất cứ điều gì có thể (hoặc thậm chí có thể tưởng tượng) so với cách sử dụng mô hình toán học truyền thống giấy và bút. Đã có rất nhiều những bài báo, những cuộc hội thảo lớn trao đổi, nghiên cứu về mô phỏng song song và phân tán như Parallel and Distributed Simulation, Winter Simulation Conference, Computer Simulation Methods and Applications, Các tác giả Alfred Park, Kalyan S. Perumalla và đặc biệt là Richard M. Fujimoto là những nhân tố tích cực, đóng góp rất nhiều kết quả nghiên cứu trong lĩnh vực này. Trong đó có bài báo “Conservative Synchronization of Large-Scale Network Simulations” (Đồng bộ thận trọng trong mô phỏng mạng truyền thông quy mô lớn) được in trong Kỷ yếu của Hội thảo lần thứ 18 về mô phỏng song song và phân tán (PADS'04), tạp chí IEEE năm 2004. Trong phạm vi bài tập lớn môn học, tiểu luận sẽ trình bày các nội dung được đề cập đến trong bài báo, trên cơ sở của chuyên đề về các thuật toán mô phỏng song song thận trọng. TỔNG QUAN Kỹ thuật mô phỏng song song theo sự kiện rời rạc hiện nay đã cho phép ứng dụng với các mô hình mạng truyền thông quy mô lớn (chứa tới hàng triệu thiết bị đầu cuối và thiết bị chuyển mạch). Tuy nhiên, hiệu suất mô phỏng song song có thể bị giảm xuống đáng kể nếu không sử dụng những thuật toán đồng bộ thích hợp. Nội dung bài báo đã đưa ra những nét so sánh về hiệu suất và khả năng mở rộng của 2 thuật toán synchronous (đồng bộ) và asynchronous (không đồng bộ) trong mô phỏng mạng song song thận trọng. Nhóm nghiên cứu cũng phát triển một mô hình phân tích để đánh giá hiệu quả và tính khả mở của các tham số xác định trong một thuật toán khá nổi tiếng có tên là Null-message. Bài báo cũng chỉ rõ rằng dữ liệu thực nghiệm đã chứng minh tính chính xác của mô hình này. Việc phân tích và đo lường trên hệ thống song song với hàng trăm bộ vi xử lý cho thấy rằng đối với các kịch bản mô phỏng mô hình mạng thu nhỏ có số lượng kênh vào / ra xác định thì thuật toán null-message có khả năng mở rộng tốt hơn khả năng giảm số lượng tính toán giá trị toàn cục tối thiểu (global reduction) dựa trên các giao thức đồng bộ. GIỚI THIỆU BÀI BÁO Mô phỏng song song ngầm định sự thực hiện chỉ một chương trình mô phỏng trên một tập các processors kết nối chặt chẽ (máy tính song song). Các tiến trình logic (LPs) trong mô phỏng song song bởi các thuật toán thận trọng sẽ luôn đảm bảo được nguyên tắc causality, điều đó có nghĩa là các message nhận được bởi tiến trình này được xử lý theo trật tự không giảm của nhãn thời gian. Tuy nhiên, không có gì đảm bảo rằng các đồng hồ cục bộ trong các tiến trình khác nhau đã “đồng giờ” với nhau. Vì vậy, đồng bộ hóa trong mô phỏng cũng là đề tài được đề cập đến trong nhiều nghiên cứu trước đây. Các thuật toán thận trọng được chia thành 2 loại, đó là đồng bộ và không đồng bộ. Các thuật toán không đồng bộ không yêu cầu đồng bộ hóa giá trị GVT (global vitua time). Thuật toán null-message (được phát triển từ thuật toán gốc Chandy-Misra-Bryant) đã giải quyết được vấn đề hủy bỏ bế tắc là một ví dụ điển hình về thuật toán không đồng bộ. Bên cạnh đó, các thuật toán đồng bộ hóa sử dụng tính toán global redution để tìm ra biên độ thời gian tối thiểu (Lower Bound on Timestamp - LBTS) của các thông điệp có thể được nhận bởi mỗi LP trong tương lai, điều đó giúp xác định rằng khi nào các sự kiện được an toàn để xử lý (ví dụ giao thức YAWNS). Một số thuật toán khác lại sử dụng các kỹ thuật phát hiện bế tắc và phục hồi (deadlock detection and recovery) hay kỹ thuật cửa sổ thời gian (simulation time windows). Mặc dù trước đây đã có nhiều nghiên cứu đánh giá hiệu suất của các thuật toán đồng bộ hoá thận trọng, nhưng hầu hết các nghiên cứu này đều mô phỏng trên quy mô nhỏ (ít hơn 100 bộ vi xử lý). Do vậy, kết luận dựa trên nghiên cứu mô phỏng đó không áp dụng đối với một kịch bản quy mô lớn. Trong bài báo này nhóm nghiên cứu đã giải quyết những vấn đề liên quan trong việc so sánh một thuật toán không đồng bộ CMB null-message với thuật toán đồng bộ barier trong mô phỏng mạng truyền thông quy mô lớn. Bài báo cũng đề cập đến thuật toán lazy null-message (trình bày trong phần 3). Phần 4 mô tả các kịch bản mô phỏng được sử dụng cho các nghiên cứu thực nghiệm, và trình bày so sánh giữa dự đoán mô hình phân tích và đo lường. Phần 5 trình bày các dữ liệu thực nghiệm được so sánh hiệu suất của thuật toán CMB và thuật toán global reduction. PHÂN TÍCH CÁC MÔ HÌNH CMB Thuật toán CMB (Chandy – Misra – Briant) xây dựng dựa trên các giả thiết về tiến trình logic: Các LPs sử dụng một kênh vào riêng cho từng LP khác có trao đổi với nó. Mỗi kênh vào là FIFO, có một đồng hồ thời gian mà giá trị tương ứng với nhãn thời gian của: thông điệp ở đầu kênh vào (nếu có) hoặc thông điệp cuối cùng nhận được (nếu hàng đợi rỗng) LPs trao đổi các thông điệp có nhãn thời gian. Cấu hình mạng tĩnh, không tạo các LPs động. Các message được gửi trên mỗi link theo trật tự thời gian. Đường truyền là tin cậy, các thông điệp đến theo đúng thứ tự được gửi. Thuật toán với mục đích đảm bảo xử lý các sự kiện trong mỗi LP theo trật tự thời gian, tại mỗi tiến trình sẽ thực hiện như sau: WHILE (mô phỏng chưa kết thúc) { Đợi cho tới khi mỗi hàng đợi FIFO chứa ít nhất một msg Lấy sự kiện có nhãn thời gian nhỏ nhất ra khỏ hàng đợi Xử lý sự kiện này } END-LOOP Thuật toán có thể dễ dàng cho thấy không vi phạm ràng buộc causality, các message sẽ luôn được xử lý đúng theo trật tự thời gian, tuy nhiên lại rất dễ rơi vào bế tắc khi mà trong một chu trình, mỗi tiến trình đều ở trong trạng thái đang chờ đợi một message từ tiến trình khác. Để giải quyết vấn đề thuật toán null – message được sử dụng. Null – message Trước hết, có thể hiểu null – messge là một message chỉ chứa nhãn thời gian và mục tiêu khi sử dụng chính là gỡ sự bế tắc khi thực hiện thuật toán thận trọng cơ bản CMB bằng cách lan truyền thời gian nhân tạo. Cơ chế sử dụng null – message rất đơn giản: mỗi LP sẽ gửi một null - message để chỉ ra nhãn thời gian thấp nhất của một messages mà nó sẽ gửi trong tương lai Thuật toán CMB cải tiến với null – message: WHILE (mô phỏng chưa kết thúc) { Đợi cho tới khi mỗi hàng đợi FIFO chứa ít nhất một msg Lấy sự kiện có nhãn thời gian nhỏ nhất ra khỏ hàng đợi Xử lý sự kiện này (null message không xử lý, chỉ gửi tiếp) Gửi tới những LPs lân cận các null messages mang nhãn thời gian thấp nhât của của một message sẽ được LP này gửi đến trong tương lai (Giá trị thời gian hiện thời cộng với giá trị lookahead) } END-LOOP Có thể thấy ngay thuật toán null-message đã tháo gỡ thế bế tắc của thuật toán CMB, tuy nhiên thuật toán này lại phục thuộc vào giá trị lookahead và từ việc phục thuộc này sẽ phát sinh thêm nhiều vấn đề phải giải quyết như: giá trị lookahead = 0, giá trị lookahead quá nhỏ hay mức độ rẽ nhánh mạng quá lớn dẫn đến phát sinh quá nhiều null – message, điều đó cũng đồng nghĩa với việc hệ thống phải xử lý quá nhiều null-message, hiệu suất hệ thống mô phỏng không cao. Vậy phải làm như thế nào để dự đoán được giá trị lookahead phù hợp, một số thuật toán bổ sung khắc phục nhược điểm của null-message được ra đời. Thuật toán lazy CMB null-message: Một phiên bản mới của thuật toán CMB - lazy CMB được ra đời, lazy CMB null-message sẽ hạn chế số lượng null message gửi đi trong hệ thống bằng cách chỉ gửi chúng khi cần thiết. Cụ thể, các null message chỉ gửi khi LP đạt đến cuối thời gian xử lý an toàn của nó, tức là chỉ khi LP bị chặn. Trong trường hợp này, nếu không gửi null message thì hệ thống có thể dẫn đến bế tắc. Thuật toán lazy CMB null-message sẽ: Đợi một thời gian t trước khi gửi null-message Chỉ gửi message khi cần thiết Khi đã xử lý tất cả các msg an toàn, gửi null-message và chờ đợi Khi nhận được null-message, sẽ tính được cận dưới nhãn thời gian của message tiếp. Hình 1: Runtimes của thuật toán Lazy CMB Hình 1 cho thấy quá trình mô phỏng sử dụng thuật toán Lazy CMB (giả sử các LP có cùng lookahead) với các giá trị "LBTS" như trên thì lazy null message thực hiện tương tự như của mô phỏng thời gian bước. Với một số lượng tối thiểu của các null message trao đổi giữa các LP, sơ đồ này tương tự như là mô phỏng đồng bộ. Người ta có thể tính toán số lượng null message Nɸ được gửi đi như sau: (1) Trong đó m là số lượng LP, n là số lượng các kênh đầu ra mỗi LP, và s là chiều dài của thời gian chạy trong mô phỏng. Số lượng các cửa sổ thực hiện (s được chia bởi lookahead), cho biết số vòng quay hoặc thời gian bước cho những null message được gửi đi. Vd với: m = 8, n = 2, s = 25, và lookahead = 0,2 giây. Bằng công thức 1, tổng số null message sẽ là 2.000. Khái quát hoá, chúng ta có thể tính toán gần đúng số lượng tin nhắn đồng bộ hóa (Nψ) khi thay đổi số lượng đầu vào bằng phương trình (giả sử m là một bội số của 2): (2) Tối ưu hoá thuật toán lazy null – message Để tối ưu hoá thuật toán lazy null-message có thể sử dụng các phương pháp sau: Gửi null-message theo chu kỳ: mỗi LP sẽ gửi null-message mỗi f đơn vị thời gian trước khi mô phỏng (trong đó giá trị f nhỏ hơn giá trị lookahead của các LP, giả thiết rằng các LP có cùng lookahead). Với cách tăng tần suất gửi null-message tới các LP kế cận sẽ tránh được tình trạng bế tắc của hệ thống. Loại bỏ bớt các null-message có cùng nhãn thời gian: Giả sử 1 LP vừa gửi đi 1 null-message có nhãn thời gian t, thì ngay sau đó nó không cần thiết phải gửi đi thêm 1 null-message nào khác có cùng nhãn thời gian t như vậy nữa (các null-message có cùng nhãn thời gian chỉ cần được gửi đi 1 lần từ 1 LP). Từ 2 biện pháp tối ưu trên, phương trình 1 có thể được sửa đổi như sau: (3) Trong đó c là tỷ lệ null-message bị hủy bỏ và f là tần suất các null-message được gửi đi. Ở đây, giá trị f được sử dụng ở vị trí của giá trị lookahead trong phương trình 1. Bây giờ chúng ta chuyển sang các trường hợp tổng quát hơn của lookahead không đồng đều trên các kênh đầu ra. Nó rất hữu ích để xây dựng một mô hình phân tích mà các mô hình mô phỏng là không thường xuyên. Ở đây, chúng ta giả định một giá trị lookahead được gán cho mỗi liên kết. Trong trường hợp của các giá trị lookahead là khác nhau trên mỗi LP, công thức 3 có thể được sửa đổi thành phương trình: (4) Phương trình 1-4 với các giá trị lookahead và tần suất gửi null message cho phép ước lượng được số null message sẽ gửi đi trong suốt quá trình mô phỏng. Tính toán được số lượng null message là rất quan trọng vì nó là một yếu tố quan trọng để tính toán giá trị overhead trong thuật toán null message. Phương trình 5 tính toán chỉ số overhead trong thuật toán lazy null messge. Ở đây a là số lượng kết nối từ xa, p là tỷ lệ phần trăm và w là số lượng từng loại kết nối cụ thể. Số lượng w này là yếu tố thông thường truyền thông. Ví dụ, nếu chúng ta có kết nối trên cả bộ nhớ dùng chung (w1) và Ethernet (w2), có thể là w1 = 1 và w2 = 10. Bằng cách sử dụng những phương trình này, chúng ta không chỉ tính toán được số lượng null message được gửi qua tất cả LP, mà còn tính được giá trị overhead của thuật toán null message với từng kịch bản mô phỏng. Điều này rất hữu ích trong việc dự báo hiệu suất của một kịch bản baseline mới (ví dụ như các thí nghiệm nhỏ). Đồng bộ hóa mô phỏng quy mô lớn Lưu ý rằng phương trình (1) và phương trình (2) ở trên chỉ khác nhau ở hệ số n trong (1) được thay bằng log2m trong (2). Đối với thuật toán quản lý thời gian đồng bộ, số lượng tin nhắn đồng bộ hóa tăng tỉ lệ thuận với mlog2m, so với tỉ lệ của m trong thuật toán CMB. Hơn nữa, giá trị này không bao gồm thời gian ngắt và khởi động lại đồng thời toàn bộ các LP trong hệ thống (thời gian này sẽ tăng tuyến tính khi số lượng LP tăng), góp phần tăng giá trị overhead quản lý thời gian đối với mỗi phép tính LBTS. Vấn đề này sẽ được thảo luận thêm với kết quả hiệu suất trong phần 4.5 ÁP DỤNG MÔ HÌNH PHÂN TÍCH NULL MESSAGE ĐỂ DỰ ĐOÁN HIỆU SUẤT MÔ PHỎNG Các mô hình phân tích trên đây cho phép dự báo hoạt động của null-message và giá trị overhead. Những chỉ số này có thể được sử dụng để dự báo hiệu suất của các mô hình mô phỏng khác nhau. Đầu tiên chúng ta sẽ ước tính hoạt động của null-message và giá trị overhead trên hệ thống mô phỏng, sau đó so sánh với các chỉ số đo đạc thực nghiệm. Các phần sau đây liên quan đến kết quả thực nghiệm (mỗi LP tương ứng với một CPU vật lý). Mô hình đường cơ sở (Baseline) Nhóm nghiên cứu đã sử dụng các tiêu chuẩn được phát triển tại Đại học Dartmouth như một tập hợp các mô hình baseline để mô hình hóa và mô phỏng mạng cộng đồng [22]. Cấu hình baseline này được tạo ra để chứng minh khả năng mở rộng mạng mô phỏng. Mỗi phần của mạng được gọi là một Campus Network (CN). Hình 4 cho thấy các cấu trúc liên kết cho CN. Mỗi CN bao gồm 4 máy chủ, 30 thiết bị định tuyến, và 504 máy chủ (tổng số là 538 nút). Mỗi CN bao gồm 4 mạng con (sub-network) riêng biệt. Net 0 bao gồm 3 thiết bị định tuyến, có nút 0:0 là router gateway cho CN. Net 1 gồm 2 router và 4 máy chủ. Net 2 gồm 7 tuyến, 7 router LAN, và 294 khách hàng. Net 3 chứa 4 bộ định tuyến, 5 thiết bị định tuyến mạng LAN, và 210 khách hàng. 0:1 0:2 1:0 1:2 1:3 1:4 1:5 4 5 2:0 2:1 2:2 2:3 2:4 2:5 2:6 3:0 3:1 3:2 3:3 Net 1 Net 2 Net 3 1:1 Net 0 To other CNs 0:0 Hình 4: Campus Network Tất cả các liên kết máy chủ không phải điểm cuối (non-end host) đều có băng thông là 2Gb/s và độ trễ truyền thông (delay) dưới 5ms (riêng truyền thông giữa Net 0 đến Net 1 có delay là 1ms). Host cuối được kết nối point-to-point với router mạng LAN tương ứng có băng thông 100MB/s và delay là 1ms. Nhiều CN có thể được kết nối với nhau để tạo thành một cấu trúc liên kết vòng. Chính tính chất này của mạng cho phép các mô hình cơ sở để dễ dàng thay đổi kích thước (thu nhỏ hay mở rộng quy mô). Những kịch bản khác nhau cho mô hình baseline Nhóm nghiên cứu đã đưa ra 5 kịch bản với 5 cấu hình tương phản. Việc lựa chọn máy chủ ngẫu nhiên, thay đổi độ trễ lan truyền trên mạng liên kết vòng và thay đổi các cụm liên kết sẽ tạo ra các kịch bản sử dụng trong nghiên cứu này. Kịch bản Lưu lượng Chord? Đặc tính khác Baseline Std. No None Baseline-R Rand. No None Baseline-2ms Rand. No Single 2ms ring link Chord-R Rand. Yes None Chord-Asym Rand. Yes Asym. Chord delays Bảng 1. Benchmark Scenarios Nền tảng phần cứng và phần mềm Phần mềm mô phỏng song song / phân tán (PDNS) là phần mềm mô phỏng mạng trên nền tảng HLA RTI (High Level Architecture & using RunTime Infrastructure based). Các PDNS được nhắc đến trong nghiên cứu này gồm có: NS-2, libSynk,.. NS-2 (Network Simulator 2): là phần mềm mã nguồn mở mô phỏng mạng điều khiển sự kiện riêng rẽ hướng đối tượng, được phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và Otcl chạy trên nền Windows 32 và Linux. NS rất hữu ích cho việc mô phỏng mạng diện rộng (WAN) và mạng local (LAN). Bốn lợi ích lớn nhất của NS-2 phải kể đến là: Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại; Khả năng đánh giá các giao thức mạng mới trước khi đưa vào sử dụng; Khả năng thực thi những mô hình mạng lớn mà gần như ta không thể thực thi được trong thực tế; Khả năng mô phỏng nhiều loại mạng khác nhau. libSynk: là thư viện quản lý các kết nối và thời gian. libSynk được sử dụng để quản lý các tình huống trong mô phỏng song song và phân tán, nó cũng được sử dụng để phân chia bộ nhớ giữa các kết nối SMP và TCP/IP để truyền thông qua SMPS. Ước lượng Null-message Sử dụng các mô hình phân tích cho thuật toán CMB có thể được ước tính được số lượng Null-message sẽ gửi đi trong hệ thống. Bảng 2 cho thấy số liệu ước tính cùng với số liệu đo đạc thực hiện trên các kịch bản baseline mô phỏng song song. Trong kịch bản này có s = 25; lookahead = 0,2; f = ( 0,2/3 ); n = 2; c = 0,5 . Số lượng CPUs Null-message ước lượng Null-message đo đạc 4 1,500 1,424 8 3,000 2,974 16 6,000 6,064 32 12,000 11,890 64 24,000 23,586 128 48,000 48,628 256 96,000 96,034 512 192,000 193,862 Bảng 2. Ước lượng số lượng Null message Số liệu trên Bảng 2 cho thấy rằng mô hình phân tích của nhóm nghiên cứu dự đoán khá chính xác số lượng null-message. Sự chênh lệch số liệu giữa ước lượng và số liệu mô phỏng phụ thuộc vào tỉ lệ giữa số lượng null-message được gửi đi và số lượng null-message bị hủy bỏ. Gần như không thể dự đoán chính xác được tỉ lệ này, nhưng số liệu ước lượng cũng đã khá gần với số liệu thực tế đo đạc được từ việc mô phỏng. Ước tính chỉ số Overhead Từ các kết quả ước tính số lượng null-message được gửi đi như trên, cùng với phương trình 3 đã được thiết lập trong mục 3.3, chúng ta có thể để ước tính giá trị overhead cho mỗi kịch bản mô phỏng. Nhóm nghiên cứu cũng đã đưa ra một khái niệm mới “Packet Transmissions per Second of wallclock time” (PTS): là số lượng gói tin được xử lý trong 1 giây của wallclock hay số lượng gói tin được truyền đi từ nút này tới nút khác trong hệ thống mạng. Giá trị overhead và PTS trong trường hợp mô phỏng với 32 CPU được thể hiện trong Bảng 3. Số liệu thống kê cũng cho biết rằng 28 CPU (87,5%) đã gửi tin null-message thông qua bộ đệm bộ nhớ dùng chung và 4 CPU còn lại (12,5%) giao tiếp thông qua giao thức TCP / IP trên Ethernet. Sử dụng các giá trị m = 32, p1 = 0,875, p 2 = 0,125, W1 = 1, và w2 = 10, chỉ số overhead cho kịch bản cơ bản là 6,25. Kịch bản Chỉ số Overhead PTS Baseline 6.25 1,512,410 Baseline-R 8.52 865,385 Baseline-2ms 10.54 621,008 Chord-R 9.43 699,848 Chord-Asym 12.21 684,630 Bảng 3. Ước lượng chỉ số Overhead Khả năng mở rộng của thuật toán CMB Trong phần 3.3, chúng tôi đã chỉ ra rằng, thuật toán Null-message tương đối ổn định khi tăng kích thước mô hình mô phỏng. Chúng tôi cũng đã chứng minh bằng thực nghiệm với cùng kịch bản Baseline (đường cơ sở). Nhưng với các kịch bản khác, hiệu quả của thuật toán null-messages phụ thuộc rất nhiều vào khả năng dự báo giá trị lookahead. Số lượng CPUs Null Messages Reductions 16 784 736 32 783 747 128 787 892 Bảng 4. Mô phỏng cho kịch bản Baseline Thời gian mô phỏng của thuật toán CMB gần như không đổi khi mô phỏng với quy mô từ 16-128 VXL (xem Bảng 4), trong khi đó thời gian toàn cục (global redutions) lại đều đặn tăng theo số lượng CPU (từ 16 đến 128 CPU). Hình 5 cho thấy sự thay đổi của 2 giao thức đồng bộ với kịch bản Baseline Số lượng CPUs Null Messages Reductions 64 420 508 128 414 523 256 420 563 512 436 620 Bảng 5. Mô phỏng mô hình lớn với kịch bản Baseline Đây là kết quả mô phỏng trên máy Compaq Alpha Tru64 cluster. Giá trị PTS tương ứng được thể hiện trong hình 6. Kịch bản baseline sử dụng giá trị global reductions tăng theo hàm mũ tương ứng với quy mô mô phỏng. Ngược lại, thuật toán null-message lại tương đối ổn định trong thời gian chạy hiệu suất lên đến 512 CPU. Hình 5. Đánh giá PTS theo quy mô mô phỏng Hình 6. PTS trong mô hình lớn PHẦN MỀM MÔ PHỎNG NETWORK SIMULATION (NS) Giới thiệu phần mềm mô phỏng NS NS (Network Simulation) chương trình phần mềm dạng hướng đối tượng được sử dụng để mô phỏng lại các sự kiện xảy ra trong hệ thống mạng. NS được sử dụng để mô phỏng LAN và WAN, thực thi mô phỏng mạng lớn và nhiều loại mạng khác nhau Hệ mô phỏng NS-2 được phát triển ở trườn