Brandon Holt fix stupid biblio stuff  about 9 years ago

Commit id: bf713e3886b776fc3f772233c54bf0ed39d4a77f

deletions | additions      

       

title = {{Phase Reconciliation for Contended In-Memory Transactions}},  booktitle = {11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14)},  year = {2014},  month = {Oct}, oct,  isbn = {978-1-931971-16-4},  address = {Broomfield, CO},  pages = {511--524},  url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/narula},  publisher = {USENIX Association},  } 

pages = {150--161},  author = {Junwhan Kim and Roberto Palmieri and Binoy Ravindran},  title = {{Enhancing Concurrency in Distributed Transactional Memory through Commutativity}},  booktitle = {Euro-Par 2013 Parallel Processing}, {EuroPar 2013},  } 

isbn = {0-8186-0842-0},  location = {Kailua-Kona, Hawaii, USA},  pages = {205--214},  numpages = {10},  url = {http://dl.acm.org/citation.cfm?id=54764.54787},  acmid = {54787},  publisher = {IEEE Computer Society Press},  address = {Los Alamitos, CA, USA},  } 

url = {http://doi.acm.org/10.1145/2491956.2462172},  doi = {10.1145/2491956.2462172},  acmid = {2462172},  publisher = {ACM},  address = {New York, NY, USA},  keywords = {automatic synchronization, composition, concurrency, data structures, transactions},  } 

url = {http://dx.doi.org/10.1145/300979.300992},  doi = {10.1145/300979.300992},  acmid = {300992},  publisher = {IEEE Computer Society},  address = {Washington, DC, USA},  } 

url = {http://doi.acm.org/10.1145/1345206.1345237},  doi = {10.1145/1345206.1345237},  acmid = {1345237},  publisher = {ACM},  address = {New York, NY, USA},  keywords = {abstract locks, commutativity, non-blocking algorithms, transactional boosting, transactional memory},  } 

title = {{Extracting More Concurrency from Distributed Transactions}},  booktitle = {11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14)},  year = {2014},  month = {Oct}, oct,  isbn = {978-1-931971-16-4},  address = {Broomfield, CO},  pages = {479--494},  url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/mu},  publisher = {USENIX Association},  } 

numpages = {15},  url = {http://dl.acm.org/citation.cfm?id=2050613.2050642},  acmid = {2050642},  publisher = {Springer-Verlag},  address = {Berlin, Heidelberg},  keywords = {eventual consistency, large-scale distributed systems, replicated shared objects},  } 

@inproceedings{Li:OSDI12,  author = {Cheng Li and Daniel Porto and Allen Clement and Johannes Gehrke and Nuno Pregui{\c c}a and Rodrigo Rodrigues},  title = {{Making Geo-Replicated Systems Fast as Possible, Consistent when Necessary}},  booktitle = {Presented as part of the 10th USENIX {USENIX  Symposium on Operating Systems Design and Implementation (OSDI 12)}, year = {2012},  isbn = {978-1-931971-96-6},  address = {Hollywood, CA},  pages = {265--278},  url = {https://www.usenix.org/conference/osdi12/technical-sessions/presentation/li},  publisher = {USENIX},  } 

url = {http://doi.acm.org/10.1145/2517349.2522729},  doi = {10.1145/2517349.2522729},  acmid = {2522729},  publisher = {ACM},  address = {New York, NY, USA},  }  @inproceedings{Kulkarni:PLDI11,  author = {Kulkarni, Milind and Nguyen, Donald and Prountzos, Dimitrios and Sui, Xin and Pingali, Keshav},  title = {{Exploiting the Commutativity Lattice}},  booktitle = {Proceedings of the 32Nd ACM SIGPLAN Conference {Conference  on Programming Language Design and Implementation}, series = {PLDI '11},  year = {2011},  isbn = {978-1-4503-0663-8}, 

url = {http://doi.acm.org/10.1145/1993498.1993562},  doi = {10.1145/1993498.1993562},  acmid = {1993562},  publisher = {ACM},  address = {New York, NY, USA},  keywords = {commutativity lattice, optimistic parallelism, transactions},  } 

url = {http://doi.acm.org/10.1145/2517349.2522729},  doi = {10.1145/2517349.2522729},  acmid = {2522729},  publisher = {ACM},  address = {New York, NY, USA},  } 

number = {4},  pages = {388--395},  year = {1987},  publisher = {IEEE},  } 

number = {11},  pages = {1355--1387},  year = {2000},  publisher = {Elsevier},  } 

doi = {10.1016/0022-0000(90)90034-i},  url = {http://dx.doi.org/10.1016/0022-0000(90)90034-I},  year = {1990},  month = {aug},  publisher = {Elsevier {BV}}, aug,  volume = {41},  number = {1},  pages = {65--156}, 

doi = {10.1016/0022-0000(90)90034-i},  url = {http://dx.doi.org/10.1016/0022-0000(90)90034-I},  year = {1990},  month = {aug},  publisher = {Elsevier {BV}}, aug,  volume = {41},  number = {1},  pages = {65--156}, 

url = {http://doi.acm.org/10.1145/362686.362692},  doi = {10.1145/362686.362692},  acmid = {362692},  publisher = {ACM},  keywords = {hash addressing, hash coding, retrieval efficiency, retrieval trade-offs, scatter storage, searching, storage efficiency, storage layout},  } 

number={1},  pages={58--75},  year={2005},  publisher={Elsevier}  }  @inproceedings{Spanner, 

numpages = {14},  url = {http://dl.acm.org/citation.cfm?id=2387880.2387905},  acmid = {2387905},  publisher = {USENIX Association},  address = {Berkeley, CA, USA},  }   @MISC{graph500,  key={Graph500},  title = {Graph 500},  year = {2012},  month = {July}, jul,  howpublished={\url{http://www.graph500.org/}}  }  @MISC{ellenselfie,  title = {{Ellen's Oscar 'selfie' crashes Twitter, breaks record}},  month = {March}, mar,  year = {2014},  author = {Lisa Baertlein},  editor = {Reuters.com},         

We first evaluate performance with a simple workload consisting of a raw mix of `Set` operations randomly distributed over 10,000 keys. We use both a uniform random distribution as well as a skewed Zipfian distribution with a coefficient of 0.6. In \autoref{stress_tput}, we see that commutative transactions perform strictly better, showing the most pronounced benefit over the more update-heavy, skewed workload.  ## Case study: Retwis  To understand performance on a typical web workload, we implemented a version of use  *Retwis*, a simplified Twitter clone designed originally for Redis [@redis]. We use data Data  structures such as sets to are used  track each user's followers and posts, posts  and keep a materialized up-to-date timeline for each user (represented as a sorted set). On top of Retwis's basic functionality, we added a "repost" action that behaves like Twitter's "retweet". ```{r}  df <- subset(db(" 

}  ```  ```{r followers, include=F, fig.width=2.5, fig.height=2.5} fig.height=2.3}  d.follow <- histogram.facets(subset(df,  initusers == 4096 & mix == 'geom_repost'  ), 'stat_follower_counts', 'grp') 

\end{figure}  ```{r reposts, include=F, fig.width=2.5, fig.height=2.5} fig.height=2.3}  d.repost <- histogram.facets(  subset(df, initusers == 4096 & mix == 'geom_repost')  , 'stat_repost_counts', 'grp')