Closed agdomacena2 closed 4 years ago
@agdomacena2,
I went through the code quickly. I don't think it has to do with the code changes. It's more related to your environment settings. Since you are using only 1 flow, it is possible that the client request lands in CPU 0 in the server side. Please note that, with mTCP, all instructions starting from packet reception all the way up to HTTP service request will be done on CPU 0. With the Linux version, the server will be able to use all the cores in the system. Can you retry the experiment (Linux version) with only 1 CPU online (using /proc/
or /sys/
fs)?
The stack is completely written in C. You can try using g++
to compile the stack. I expect that you may face compile-time warnings (mTCP is compiled with -Werror
CFLAGS
/CXXFLAGS
) which you may need to fix.
I got 10.85 seconds in the Linux version when only 1 CPU core is online. Thanks.
Did you also disable your CPU cores using /proc/
or /sys/
fs when you tested the performance of the short TCP connections with respect to the number of CPU cores in your paper?
Yes. In order to maintain fairness, whenever we would conduct experiments with, say 8 CPUS, we would only keep 8 cores online for both mTCP and Linux based experiments.
Hi,
What I changed is the HandleReadEvent function where it sends the size of the file in bytes and uses the SendUntilAvailable function to send the file to any client who connects to the server.
Relevant Code for mTCP