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

Re: [microblaze-uclinux] FSL Driver Overhead



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/
> 

Attachment: ssh_fpga_ieee_fpt2005.pdf
Description: Adobe PDF document