X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=blobdiff_plain;f=doc%2Fsrc%2Ftesting.tex;h=2428c36db26bac0856f7bc00d434e38288a29c57;hb=HEAD;hp=8eb6e730a157e1ff3fcb175a379cfdd6de51d005;hpb=a8b0cb2d31f3e36b3c845c1e5c6f86161b3925df;p=p2p-kernel-protocol.git diff --git a/doc/src/testing.tex b/doc/src/testing.tex index 8eb6e73..2428c36 100644 --- a/doc/src/testing.tex +++ b/doc/src/testing.tex @@ -1,4 +1,34 @@ \section{Testing Scenarios} \label{subsec:testing} -List the three scenarios we are going to test. +In order to test our implementation performance, we have settled two virtual +machines located in the same network and installed the P2PKP module on both of +them. Our goal was to compare the results of our implementation with the +results of the \texttt{sendfile} system call, the solution that offers the +highest performance for file transferring over the network nowadays. We rely +on the assumption that for sending a file to multiple destinations, the +user space application would have to execute several \texttt{sendfile} system +calls, one for each destination. Our module will require only one +\texttt{write} system call to achieve the same behavior. +Our testing scenarios imply sending several files, with different sizes, over +the network, to different numbers of destinations/peers. Following this, we have +randomly generated four different files, with sizes varying from 32MB, to 256 +MB. The number of sites was also varying, starting from a single site up to +eight sites. + +Our measurements were done not only between the two virtual machine deployed, +but also on the loopback interfaces. We considered that the tests would be +more relevant if they were performed on different machines, because this would +be the practical use case. However, the results were not different at all, as +the module algorithm is the same, regardless the device implementation. +Therefore, in Section \ref{sec:results}, we have only specified the +measurements we obtained for the tests between the two virtual machines +deployed. + +The only metric we considered in our tests is the time spent on the +distribution of the file content, from a single peer, to multiple +destinations. We decided that this is the most relevant metric from the +application's perspective, as a programmer looks for the best solution +performance in terms of time spent. Section \ref{sec:results} illustrates the +test results we have obtained and performs a comparison between the two +solutions.