對點對點通信,採用“桌球法”進行測試,即進程0傳送長度為 N 位元組的訊息到進程1,然後等待從進程1返回的訊息;此時,進程1執行一個阻塞式接收語句,一旦收到進程0傳送來的訊息,立即返回一個同樣的訊息。將該過程重複進行多次,排除起始兩次通信,取平均值再除以2,就得到點對點通信所需的時間。變換訊息長度,得到通信時間,然後採用一階線性擬合的方法,就得到點對點通信所需時間的近似經驗公式。測試環境是由四台配置完全相同的微機(均為K6/266,32M RAM)組成的10 M區域網路,軟體平台為SCOUNIX OpenServer System 5.0.2和PVM 3.3.11。記一個數據包的軟體開銷和網路傳輸延遲分別為 oˆ 和 Lˆ,而該數據包平均每位元組的軟體開銷和網路延遲分別為 o 和 L 。
單機模擬
由於單機沒有網路傳輸延遲(單機情況下的延遲主要來自於L(udp)),可以把單機情況下從進程0傳送數據到進程1接收到數據的通信時間表示為T2oˆ,測試結果如表1所示。計算得出線性相關係數r2oˆ=0.999 7,所以通信時間T2oˆ與數據量 N 呈顯著線性相關,擬合出單機情況下點對點通信的經驗公式T2oˆ=(3.384 +0.756 N)μs。在這個公式中,認為常數3.384是與所傳送的數據量大小無關的部分(啟動時間),而帶有係數0.756的部分是與傳送數據量大小有關的部分。
多機模擬
在多機網路情況下的延遲主要來自於L(udp)和L(tcp)。可以把多機情況下從進程0傳送數據到進程1接收數據的通信時間表示為T2oˆ+L^,測試結果如表2所示。做一階線性擬合。計算得出線性相關係數r2oˆ=0.989 1,所以通信時間 T2oˆ+L^與數據量 N 也呈顯著線性相關,所以擬合出在多機網路情況下點對點通信的經驗公式T2oˆ+L^=(123.3459+2.101N )μs。同樣,這個公式可分成與數據量無關部分和與數據量相關部分兩部分。