Re: [viff-devel] Some profiling results
Mikkel Krøigård [EMAIL PROTECTED] writes: Citat Martin Geisler [EMAIL PROTECTED]: Martin Geisler [EMAIL PROTECTED] writes: Hi everybody, I have done some testing and come up with some strange numbers. I measured the time each individual multiplication takes by storing a timestamp when the multiplication is scheduled, and another when it finishes. Here is another plot which also shows when each multiplication is started and how long it takes. I guess the first multiplication is so slow because you're busy scheduling the rest. Notice that no multiplication actually finishes until they have all been started. This diagram makes sense in my mind at least. Yep, it makes good sense for me too! Now it would be interesting to see if we can obtain better timing results if we let the reactor process incoming data while still scheduling. I think I'll continue with this kind of inspection since it seems to be an easy way to obtain data about how the various pieces work together in VIFF. -- Martin Geisler VIFF (Virtual Ideal Functionality Framework) brings easy and efficient SMPC (Secure Multi-Party Computation) to Python. See: http://viff.dk/. ___ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk
Re: [viff-devel] Some profiling results
Citat Martin Geisler [EMAIL PROTECTED]: In both plots we see that the first multiplication takes very long, it is sort of waiting on the other multiplications. I think this is because we're not yielding to the reactor when we start all the multiplications. This also means that no network communication is started for the first multiplication until after all multiplications have been scheduled -- this is actually not what we want... Here are the plots, please let me know what you think of this. At a glance, it does look like the timing is being done correctly. Right now I can only confirm that there's definitely something funny going on in those plots. ___ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk
Re: [viff-devel] Some profiling results
[EMAIL PROTECTED] writes: Hi Martin, I have a couple of stupid questions: Quoting Martin Geisler [EMAIL PROTECTED]: I've attached two plots, one for 1000 multiplications and one for 4000. Each plot has the multiplication-number on the x-axis and the time for that multiplication on the y-axis. If you have done 1000, resp. 4000 mult's, why do the x-axes start at 2000, reps. 8000? Ah, good question: the numbers are taken from the current program counter at the time when the multiplication is scheduled. And it turns out to start at about 2n since we start by doing 2n shamir secret sharings to get n pairs. And if you have measured time for individual multiplications, why are the numbers on the y-axis smaller in the 1000 multiplication case? Shouldn't they take about the same amount of time in both cases? Yes, that was what I expected too! I would at least expect the final multiplications to take about equally long, even if the first one are waiting longer when doing 4000 multiplications. -- Martin Geisler VIFF (Virtual Ideal Functionality Framework) brings easy and efficient SMPC (Secure Multi-Party Computation) to Python. See: http://viff.dk/. ___ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk
Re: [viff-devel] Some profiling results
Martin Geisler [EMAIL PROTECTED] writes: Hi everybody, I have done some testing and come up with some strange numbers. I measured the time each individual multiplication takes by storing a timestamp when the multiplication is scheduled, and another when it finishes. Here is another plot which also shows when each multiplication is started and how long it takes. attachment: duration-4000.png -- Martin Geisler VIFF (Virtual Ideal Functionality Framework) brings easy and efficient SMPC (Secure Multi-Party Computation) to Python. See: http://viff.dk/. ___ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk
Re: [viff-devel] Some profiling results
Quoting Martin Geisler [EMAIL PROTECTED]: Martin Geisler [EMAIL PROTECTED] writes: Hi everybody, I have done some testing and come up with some strange numbers. I measured the time each individual multiplication takes by storing a timestamp when the multiplication is scheduled, and another when it finishes. Here is another plot which also shows when each multiplication is started and how long it takes. I agree with Mikkel that it seems to make sense that it looks this way. But of course we would have been happier if the first multiplication did not have to wait for so long. In particular it seems it is waiting longer the more multiplications you ask for in total, right? This is certainly something we don't want. I don't nearly enough about how this works to say what to do about it.. regards, Ivan ___ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk