[Openmcl-devel] Fine-grained locking

David McClain dbm at refined-audiometrics.com
Wed Mar 18 03:36:12 UTC 2009


I will be interested to hear the answers you get... I just finished  
my own, from the ground up, version of a petabyte-class persistent  
store for both objects and conventional C-struct row-based tables.

DB development is not my primary strength, but I used direct memory- 
mapped I/O for most of the B-Tree and row-based tables. Locking was  
not performed, per se. Rather, I used TO (transaction ordering) with  
read / write timestamps on the items. I guess this amounts to  
optimistic accessing without locks.

The initial development proceeded in Lispworks for both Mac and  
Windows. Clozure is on my to-do list for PPC cores.

To my surprise, the direct-mmap I/O was about 10-100x faster than  
conventional file I/O, and the large persistent store is not much  
slower than a purely in-memory variant, a la Prevalence. (perhaps 10%  
slower?)

Locking wasn't really entertained in my design since any shared  
access goes through a central server. Something akin to Erlang in  
Lisp -- but far better than Erlang.

Dr. David McClain
Chief Technical Officer
Refined Audiometrics Laboratory
4391 N. Camino Ferreo
Tucson, AZ  85750

email: dbm at refined-audiometrics.com
phone: 1.520.390.3995
web: http://www.refined-audiometrics.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clozure.com/pipermail/openmcl-devel/attachments/20090317/0c0addde/attachment.html>


More information about the Openmcl-devel mailing list