Publication | Open Access
An efficient meta-lock for implementing ubiquitous synchronization
92
Citations
19
References
1999
Year
Unknown Venue
EngineeringSparc™ Architecture InstructionsSoftware SystemsComputer ArchitectureSoftware EngineeringConcurrent SystemClock SynchronizationSoftware AnalysisConcurrency ControlSynchronization ProtocolConcurrency (Computer Science)Internet Of ThingsCompilersParallel ComputingUbiquitous SynchronizationConcurrent ProgrammingComputer EngineeringDistributed SystemsMobile ComputingComputer ScienceSynchronization OperationsSynchronization DataOperating SystemsProgram AnalysisParallel ProgrammingAsynchronous SystemsUbiquitous Application
Programs written in concurrent object-oriented languages, especially ones that employ thread-safe reusable class libraries, can execute synchronization operations (lock, notify, etc.) at an amazing rate. Unless implemented with utmost care, synchronization can become a performance bottleneck. Furthermore, in languages where every object may have its own monitor, per-object space overhead must be minimized. To address these concerns, we have developed a meta-lock to mediate access to synchronization data. The meta-lock is fast (lock + unlock executes in 11 SPARC™ architecture instructions), compact (uses only two bits of space), robust under contention (no busy-waiting), and flexible (supports a variety of higher-level synchronization operations). We have validated the meta-lock with an implementation of the synchronization operations in a high-performance product-quality Java™ virtual machine and report performance data for several large programs.
| Year | Citations | |
|---|---|---|
Page 1
Page 1