Abstract
Concurrent data structures may introduce a performance and scalability holdup and thus prevent the effective use of parallel hardware. There is a trade-off between scalable performance and precision in implementing concurrent data structures. A remedy to the scalability problem is to relax the interpretation of concurrent data structures. The construal is given by some notion equivalent to the sequential behaviour. The equivalence is determined by a consistency condition, most commonly linearity, and the sequential behaviour is inherited from the sequential version of the data structure (e.g. the sequential behaviour of a concurrent stack is a regular stack). Therefore, relaxing the semantics of a concurrent data structure extents to either weakening the consistency condition or redefining or relaxing its sequential specification. In this paper, we present a framework for relaxing the synchronization of a Stack data structure in a quantitative manner. A fundamental challenge in using relaxed synchronization is guaranteeing that the relaxed program always produces results with a specified quality. We propose a methodology that addresses this challenge in programming with relaxed synchronization. Using our methodology, results that are of the same quality as the original program, can be produced with a speedup in time.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.