[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] FSL Driver Overhead



Hi Ivan,
nice paper, thanks for sharing this information with us
I have a question about the methodology of taking speed mesurements.
your are saying that data was copied over a channel, did you mesure the capabilities of the channel without any encryption? what is a litttle bit odd is that the ratio is not constant, and is very much dependant on the file size, it looks like is getting flat after a certain file size (I'm guessing here) and this can be due to bandwidth limitation. did you try with files from the RAMDISK to minimise the channel overhead ? (assuming that you took measurements by sourcing data from the network)

Aurash

Ivan wrote:

Hi Jonathan,

I did something similar for my PhD. Thesis. In my work the main
objective was not to measure the performance but I obtained some
results. I attach to this mail a recently published paper with my work.
I think that the results are interesting for you. The coprocessors have
been implemented using one master FSL bus for receiving the encryption
key and the decryption key (SSH2 uses different keys for each
operation), and two pairs of master/slave FSL buses to send/receive
data.

Regards,

Ivan

El lun, 02-01-2006 a las 23:15 -0800, Jonathan Jung escribió:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi List,

I've had good success implementing a hardware accelerated version of Openssl on my Virtex II Pro FPGA via uClinux. However, I'm wondering if anybody has experience with the amount of overhead involved FSL reading/writing.

For example, encrypting a 700KB file in software takes (using AES):

real 2m 9.96s
user 1m 33.98s
sys 0m 33.29s (file read/writes)

Encrypting the same 700 KB file with software/hardware takes:

real 3m 23.51s
user 0m 10.40s
sys 1m 56.57s (file read/writes, FSL read/write)

As you can see, software version consumes 1m 33 s of CPU time running the openssl code. The hardware/software combo takes only 10 seconds of time executing the openssl code, but requires 1 minute and 56 seconds of overhead in unrelated system calls, I'm sure is because of the reading and writing to the FSL.

Each 64 bits of data encrypted requires 4 FSL writes, and 8 FSL Reads. The initial one time setup requires 60 FSL writes.

The hardware is quite fast, running at 100 Mhz, and requires only about 30 cycles to process the data.

The profiler in uClib isn't active anymore, so I can't use that to do a line by line check for the time it takes for each write, but a best estimate is it takes almost a minute and half to do all those reads and writes. Am I doing something funny, or is that just the amount of overhead required? I'm only doing the initial drive init once throughout the whole process. The FSL driver doesn't look like it's doing too many crazy things to write to the FSL, so I wouldn't think that would be the time consumer.

Any FSL related performance comments are welcome!

Thanks again to John for the excellent driver.

Jonathan


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)

iD8DBQFDuiSK4kOt3FHegqgRAtNvAJ9ZLn3RkaQJmvPSZFCYgGmE0MERnwCeKC+m
aTBhl1P+Uu3gKIf2ZEs2c68=
=M2Dp
-----END PGP SIGNATURE-----
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/



___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/