摘要: | DDS (Data Distribution Service) 可以提供分散式系統之通訊需求,並允許使用者運用各種DDS QoS 設定來管理 DDS 的系統的效能。訊息傳遞的可靠性與流量是DDS系統關鍵效能因素,因此工程師需要適當的工具來驗證設定值並觀察其效能;工程師也需要一個定性且有效的方法來找出較佳的DDS發布者的發送速率,以針對訊息傳遞的可靠性與吞吐量進行最佳化。然而,現有的工具無法幫我們快速驗證DDS各種設定與其對應的效能;此外,現有的研究對於DDS系統之可靠性與吞吐量的最佳化方法仍處於非常初始的階段,這是因為現有研究均未考量DDS之one-to-many特性,且往往只能通過猜測、觀察、改正設定的循環方法去進行效能逐步優化,因此在使用上有很大的限制。為了應對這些挑戰,本文提出了兩種方法:(1)在設計階段評估和驗證基於DDS的系統配置的模擬系統,以及(2)調整發布者發送速率以提高訊息傳遞可靠性和優化的演算法吞吐量。首先,我們為基於 DDS 的系統開發了一個模擬系統,稱為IIoT Testbed,使系統開發人員能夠快速評估和驗證系統配置。 IIoT Testbed可協助建立系統配置並快速提供模擬結果。此外,它還允許用戶分析結果並微調 QoS 策略以提高效能。其次,我們創建了一種演算法來調整發布者的發送速率,旨在提高基於 DDS 的系統中訊息傳遞的可靠性和吞吐量。該演算法根據觀察到的效能值計算適當的發送速率,並將這些速率分配給發布者。該演算法有效提升了不同可靠性場景(70%~99.99%可靠性)下的效能,實現了99%~99.99%的系統通訊可靠性。值得注意的是,調整發布者的發送速率也會增加每個DDS topic的吞吐量,同時增強每個topic的可靠性。;The Data Distribution Service (DDS) offers various Quality of Service (QoS) policies to manage the performance of DDS-based systems. The message delivery reliability and throughput are two essential performance factors for DDS-based systems, and thus, developers require tools to check the system configuration, monitor system performance, and determine the optimal sending rate for publishers in order to improve message delivery reliability and throughput. Unfortunately, existing tools do not efficiently support the verification of various DDS system configurations and their performance. Furthermore, current research on enhancing message delivery and throughput for DDS-based systems is still in its early stages. This is due to a lack of consideration for the one-to-many nature of DDS and the inability to quickly optimize performance without going through a trial-and-error process, which significantly limits its usability. To address these challenges, this dissertation proposes two approaches: (1) an emulation system to quickly evaluate and validate DDS-based system configurations during the design phase, and (2) an algorithm to adjust the publisher′s sending rates to improve message delivery reliability while optimizing throughput. Firstly, we developed an emulation system for a DDS-based system, called the Industrial Internet of Things (IIoT) Testbed, to enable system developers to quickly evaluate and verify system configurations before implementation. The IIoT Testbed facilitates the creation of system configurations and provides emulation results in a short time. Additionally, it allows users to analyze the results and fine-tune the QoS policies for improved performance. Secondly, we created an algorithm to adjust the publisher′s sending rates, aiming to enhance message delivery reliability and throughput in DDS-based systems. The algorithm calculates suitable sending rates based on observed performance values and assigns these rates to the publishers. Across different reliability scenarios (70–99.99% reliability), the proposed algorithm effectively improves performance, achieving system communication reliability of 99–99.99%. Notably, adjusting the publisher′s sending rate also increases per-topic throughput while enhancing per-topic reliability. |