sto icon indicating copy to clipboard operation
sto copied to clipboard

Eddie's wishlist

Open kohler opened this issue 9 years ago • 0 comments

  • [x] Combine unlock() and cleanup() methods
    • We currently think this was a bad idea! It's hard to write a true cleanup() when you can't know whether some other part of the data structure has been locked.
  • [x] An abort() during the lock() phase doesn't leave the txn system borked
  • [ ] Check equality of read_version()s when installing a new read version over an item that already has one; otherwise we risk issues if, e.g., a txn checks value equality for read values
    • This is not necessary for opaque reads
    • I think we can't ever check value equality; the predicate system is designed to fix this problem
  • [ ] Should Sto::check_in_progress() be an assertion?
  • [ ] New-style opacity check (GP7 or whatever?…)
  • [ ] Try-lock?
  • [x] Vector uses conflictingly-typed keys (Vector* this vs. int), all keys should be same type
  • [x] predicate changes
    • [x] check_predicate
  • [x] Call cleanup only if has_write

Final version

  • [ ] Boosting comparison with hash tables—Nate
    • [ ] Boosting comparison with red-black trees—lower prio—Nate
    • [ ] Relationship between boosting and STM
  • [x] Fine-grained locking for red-black trees; red-black tree comparison vs. TL2—lower prio—Yihe
  • [x] Checking Silo/Masstree for bugs—Jeevana
  • [ ] Predicate experiment—Jeevana
  • [ ] Code cleanup—Eddie
  • [ ] GV6/7 more scalable opacity check
  • [ ] Try-lock for deadlock detection
  • [ ] Avoid commit protocol for read-only transactions
  • [ ] versioned_value_struct leaks memory
  • [x] Predicate recheck if opacity fails!!
  • [ ] Get rid of code in check_reads()?

Transactional versions

  • [x] Opacity relationship with TransactionTid/TVersion
    • Suggest a TVersion type which encapsulates a version number
    • Suggest we override add_read(TVersion) to automatically handle opacity
  • [ ] How does PriorityQueue::empty_key work? Is that actually a predicate?
  • [ ] Hate comments like (list.hh) “check_item() is not const, but the way we’re using it is” :(
  • [ ] Do we need both List and List1?
  • [ ] GenericSTM is not correct wrt opacity
  • [ ] Boosting + RBtree
  • [ ] Terminology: “poisoned” objects (rather than “try-lock”)

Eric Koskinen

  • Does boosting have fine-grained or coarse-grained locking?
  • Really true that boosting has no STM?
  • Boosting code
  • Attach our paper
  • Do you have a hash table?
  • What'd they use for the list in STAMP vacation?
  • How'd they boost k-means?

PLDI paper

  • What'd they use for the list in STAMP vacation?

kohler avatar Oct 22 '15 23:10 kohler