2009 · 36 citations · 8 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureDatabasesParallel ComputingConcurrency ControlData SynchronizationParallel Computer ArchitectureParallel DatabasesParallel Performance AnalysisSynchronization PrimitivesConcurrency PrimitivesDatabase Management SystemsDatabase ScalabilityParallel Database ArchitecturesParallel Database ProcessingParallel Database SystemsScalabilitySynchronization
Database engines face growing scalability challenges as core counts exponentially increase each processor generation, and the efficiency of synchronization primitives used to protect internal data structures is a crucial factor in overall database performance. The trade-offs between different implementation approaches for these primitives shift significantly with increasing degrees of available hardware parallelism. Blocking synchronization, which has long been the favored approach in database systems, becomes increasingly unattractive as growing core counts expose its bottlenecks. Spinning implementations improve peak system throughput by a factor of 2x or more for 64 hardware contexts, but suffer from poor performance under load.
8
Dynamic instrumentation of production systems
Bryan Cantrill, Michael W. Shapiro, Adam Leventhal · 2004 · 436 citations
Shoring up persistent applications
Michael J. Carey, David J. DeWitt, Michael J. Franklin et al. · 1994 · 422 citations
Ryan Johnson, Ippokratis Pandis, Nikos Hardavellas et al. · 2009 · 215 citations · Full text