Author Commit Message Labels Comments Date
an assert()
now using java colllections exclusively
Sped up tl2 implementation by using naked java maps/sets instead of javaconversions.
TL2 serializabilitybug fixed by keeping track of who holds the write lock on every TVar
discovered that TL2 requires "checking that a write location is not currently locked". curretly, it gives wrng results due to failure to check this.
slight speedup of writes (<5%) by replacing readwritelock with a simple lock
eliminated readwritelock. read-speed increased to 10 million transactions per sec, and scales easily accross cores. write speed seems about the same...
before eliminating the readwritelock
deprecated my failed stm - not serializable
after eliminating unecessary abort() but before working on transaction caching
tl2: readset need not be updated when written item is read
eliminate unecessary locking; check all reads even if writes are planned.
refactor database.scala a little
Replace java.lang.Long field in TVar with primitive for performance.
by write-locking the TVars in sorted order, eliminated the global commit lock and the ugly routine to deal with possible deadlocks.
TL2 GL4 optimization
also removed global commit lock from tl2.scala. old prepare() -> prepareOld
removed the global commit lock in tl.scala
tl2 writelock variable removed completely. earlier removal attempt was incomplete and introduced a bug.
I think we're ready for our close-up now: TL, TL2, and the original STM
tl2 ready for final stage (support for readset tracking).
Tl2 implemented and working. now to test concurrent usage.
Removed BaseRef after discovering Scala wildcard params i.e. Ref[_]
before removing BaseRef
Implemented Transactional Locking algorithm
Implemented Transactional Locking algorithm
shorter package name
removed tm.scala
  1. Prev
  2. Next