r2 - 04 Dec 2004 - 11:20:49 - HeikkiToivonenYou are here: OSAF >  Journal Web  >  TWikiUsers > TedLeung > TedLeungNotes > TedLeung20041203

Notes

Notification

  • Today's IRC - some discussion with BrianKirsch about using queries to replace a notification manager. Brian is going to follow up, so this is just a placeholder

There's another set of issues though. We want to have two kinds of "notification". The terminology is confusing, so I'm going to call what the query system does "change reporting", with the understanding that this is conceptually in the same space as what we've previously referred to as notification. In the following discussion an rview is a repository view.

One of the big changes for 0.5 is the ability to report changes inside a single transaction boundary. In 0.4, changes are reported only at transaction commit. The problem is that if you want to be told about changes frequently (to keep the UI responsive) you have to commit frequently (which is currently slow). So for 0.5, the plan is to use the new Monitor functionality to allow the current rview to see change reports as they happen instead of at commit time. Other rviews/threads will receive their change reports at commit time. There will probably be different mechanism to indicate interest in receiving change reports. It makes not sense for other rviews/threads to receive change reports before commit time, since a rview must commit before its changes can be seen by other rviews.

Performance

Katie posted the following URLs from the BDB documentation:

One the second page there is the writetest program.

Here are the results of write tests on two systems:

1.25GHz (Powerbook) G4, 1GB RAM, 4200 RPM disk, Mac OS 10.3.6, HFS+ file system.

./writetest                                  
Running: 1000 ops
Elapsed time: 0:0:0.546533
1000 operations: 1829.72 operations per second

700 MHz P3, 512MB RAM, 7200RPM disk, Linux 2.6.5, Ext3 file system

./writetest
Running: 1000 ops
Elapsed time: 0:0:8.296255
1000 operations:  120.54 operations per second

These numbers are surprisingly close to the Average Transactional commit rate numbers being output by bdbtest.py , which indicates that we are being limited by disk logging bandwidth.

Linux bdbtest.py numbers

700 MHz P3, 512MB RAM, 7200RPM disk, Linux 2.6.5, Ext3 file system

[dev:2023]> release/RunPython bdbtest.py               ~/work/osaf/src/chandler
Using /home/twl/work/osaf/src/chandler/release/bin/python

Generating data... done.
Cache Size = 2097152
Average Non transactional commit rate = 38140.6818395
Average Non transactional sequential read rate = 41828.5857545
Average Non transactional random read rate = 40874.406835

Average Transactional commit rate = 119.35312629
Average Transactional batch commit rate = 21639.6888534
Average Transactional sequential read rate = 31166.9253833
Average Transactional random read rate = 30541.8509219

Cache Size = 4194304
Average Non transactional commit rate = 38262.0670141
Average Non transactional sequential read rate = 41781.0010267
Average Non transactional random read rate = 40889.3308088

Average Transactional commit rate = 119.265887807
Average Transactional batch commit rate = 21957.2606378
Average Transactional sequential read rate = 31172.0156832
Average Transactional random read rate = 30543.2821838

Cache Size = 8388608
Average Non transactional commit rate = 38361.9631126
Average Non transactional sequential read rate = 41755.4175006
Average Non transactional random read rate = 40873.6335558

Average Transactional commit rate = 119.197312736
Average Transactional batch commit rate = 21961.5074935
Average Transactional sequential read rate = 31194.1572547
Average Transactional random read rate = 30562.201733

Cache Size = 16777216
Average Non transactional commit rate = 38450.281456
Average Non transactional sequential read rate = 41866.0443948
Average Non transactional random read rate = 40772.9213993

Average Transactional commit rate = 119.715762301
Average Transactional batch commit rate = 21955.8985961
Average Transactional sequential read rate = 31157.8882044
Average Transactional random read rate = 30529.5887495

Cache Size = 33554432
Average Non transactional commit rate = 38298.9364967
Average Non transactional sequential read rate = 41878.0541176
Average Non transactional random read rate = 40877.9332034

Average Transactional commit rate = 119.326892773
Average Transactional batch commit rate = 21972.7498936
Average Transactional sequential read rate = 31185.1166456
Average Transactional random read rate = 30497.1882415

Cache Size = 67108864
Average Non transactional commit rate = 38398.8036246
Average Non transactional sequential read rate = 41850.6504407
Average Non transactional random read rate = 40790.1161984

Average Transactional commit rate = 119.15051831
Average Transactional batch commit rate = 21880.8058361
Average Transactional sequential read rate = 31136.0157418
Average Transactional random read rate = 30555.6890641

Cache Size = 134217728
Average Non transactional commit rate = 38379.5212737
Average Non transactional sequential read rate = 41889.7362045
Average Non transactional random read rate = 40834.3003248

Average Transactional commit rate = 119.312758907
Average Transactional batch commit rate = 21831.8802227
Average Transactional sequential read rate = 31156.302959
Average Transactional random read rate = 30530.0181985

288.24su 40.80ss 12133.00s 2% release/RunPython bdbtest.py

-- TedLeung - 03 Dec 2004

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r2 < r1 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.