Zbr's days.

About :: TODO :: Blog :: RSS :: Old blog :: Projects :: GIT :: Gallery :: Notes

Mon, 10 Jul 2006

Netchannels.


I've fixed issue with receiving window handling.
Sending now works quite good, but I do not like performance results for small-sized packets:

  • netchannel: 16 MB/sec, ~50% CPU usage
  • socket: 22 MB/sec, ~90% CPU usage

Current code does not use sending optimisations mentioned earlier, so it is expected to be slower.

After turning that optimisation on, I'm pleased to announce following numbers for small packets (80 bytes):
  • netchannel: 57 MB/sec, ~80% CPU usage
  • socket: 22 MB/sec, ~90% CPU usage

Actually it is not 100% correct to call that results correct, since it uses hacks which can lead to broken behaviour for non-bulk transfers or transfers over bad lines.

There is another optimisation for netchannels userspace interface - currently each netchannel command requires to hash input values, lock hash table and run through the list of netchannels in the given bucket. All those things can be easily eliminated, if I decide to return file descriptor for each netchannel, so that optimisation should endup in some CPU usage decrease.

/devel/networking :: Link / Comments ()


Acrypto.


I've released new set of combined patches, which include:

  • acrypto core
  • IPsec ESP4 port to acrypto
  • dm-crypt port to acrypto
  • OCF to acrypto bridge, which allows to run OCF device drivers with acrypto (for example ixp4xx). Work by Yakov Lerner

With this release I drop support for old style tarballs and 2.6.15 combined patchsets. Currently supported kernel versions are 2.6.16 and 2.6.17.

IXP4xx benchmark with OCF to acrypto bridge:
  • with 1500 buffers it runs with 150 Mbit/sec
  • software-only ecryption on that processor only allows to get ~1.5 Mbit/sec
  • IPsec shows about 20 Mbit/sec

/devel/acrypto :: Link / Comments ()