Skip to Content.
Sympa Menu

shibboleth-dev - AA implementation experiment

Subject: Shibboleth Developers

List archive

AA implementation experiment


Chronological Thread 
  • From: Parviz Dousti <>
  • To: "'Shibboleth Design Team'" <>
  • Subject: AA implementation experiment
  • Date: Thu, 25 Apr 2002 15:18:52 -0400

Per our phone conversation, I did a little experiment in order to see if it is feasible to write ARPs as serialized java objects to disk and retrieve them. It would make the implementation of AA much easier for me. Here is what I did:

I wrote a java program that created 100 unique ARP objects each with 10 SHAR objects and each SHAR object with 10 Resource(or URL) object. I attached only one Attribute object to each Resource. I serialized the whole structure and wrote them to 100 unique files. Size of each file turned out to be 8840 bytes. Then I wrote a program to read these files and build the ARP structure in memory as Java objects again. I repeated this and changed the number of ARPs and other factors and here are the results:

Experiment is done a Sun ultra-1. I timed it using the unix "time" utility.

Raw results:
write 100 arps 10 shar 10 resource : 5.09u 0.77s 0:09.59 61.1%
write 200 arps 10 shar 10 resource : 9.11u 0.92s 0:16.66 60.2%
write 300 arps 10 shar 10 resource : 13.20u 1.21s 0:23.40 61.5%

write 300 arps 5 shar 5 resource : 4.70u 0.95s 0:13.74 41.1%

Reading different ARPs to simulate users

read 100 arps (10 shar X 10 resource) : 16.95u 14.29s 0:33.30 93.8%
read 200 arps (10 shar X 10 resource) : 32.52u 26.59s 1:01.71 95.7%
read 300 arps (10 shar X 10 resource) : 47.84u 40.46s 1:30.72 97.3%

Reading the same ARP to simulate Default/Admin ARP

read an arp 100 times (10 shar X 10 resource) : 16.23u 14.25s 0:30.98 98.3%
read an arp 200 times (10 shar X 10 resource) : 32.38u 26.54s 0:59.11 99.6%
read an arp 300 times (10 shar X 10 resource) : 46.03u 39.11s 1:27.66 97.1%

read an arp 300 times (5 shar X 5 resource) : 15.85u 13.13s 0:30.42 95.2%

Conclusions:
1- Looking at the third number in the time output (number of seconds in real time) shows
a- It takes about 0.085 secs to write an ARP with 10 SHARS and 10 URLs per SHAR to the disk.
b- It takes 0.31 secs to read it back ( I was a little surprised it took so much longer to read than write).

2- File System caching does not help much as when you read the same ARP over and over the read time only goes down to 0.30 secs.
3- When I reduced the size of the structure to 5 SHAR and 5 Resource per SHAR I got 0.10 secs read time for every ARP.
4- I repeated couple of the experiments on a Sun ultra-60 and the time was 1/3 of my machine.
5- Caching Default/Admin ARP definately helps since it is going to be used often.

Well, how do you feel about these numbers?

Parviz


------------------------------------------------------mace-shib-design-+
For list utilities, archives, subscribe, unsubscribe, etc. please visit the
ListProc web interface at
http://archives.internet2.edu/

------------------------------------------------------mace-shib-design--




Archive powered by MHonArc 2.6.16.

Top of Page