Abstract

Nowadays, it is widely acknowledged that symmetric multi-processing (SMP) must use a set of synchronization mechanisms to achieve the results, which are free of race conditions and therefore predictable. Using atomic operations to access shared memory regions in SMP systems has been proven to be the basic method to prevent data corruption while implementing in software such primitives as mutual exclusion, spinlock, thread execution barrier. Contemporary architectures provide different kinds of atomic operations, for example, LL and SC instructions on MIPS are used together to guarantee atomic read-write accesses to shared memory. However, synchronization mechanisms such as critical sections used to assure exclusive access to critical resources and data structures are well-known potential performance bottlenecks in multithreaded applications. There are numerous approaches proposing a variety of methods to analyze and reduce these problems in software or in hardware. These approaches quantify the execution overhead of synchronization mechanisms or assess the impact these primitives have on the completion time of multithreaded applications. A key finding in this paper is that all these researches and experience mentioned can be used to increase the coverage of atomic operations functional verification. Moreover, our experience has shown that atomic operations functional verification is a rather time-consuming and labor-intensive process because atomic operations can not be verified with the help of stochastic test generation methods due to their unpredictable nature. This is evidenced by the lack of sufficient information on the topic, which can mean that atomic operations could have been successfully verified by traditional methods. However, one can find at least two CPU's errata references where some issues concerning atomic operations misbehaviors have been listed. To the best of our knowledge, our synchronization mechanisms analysis is the first method that focuses not on performance issues, but on functional verification of atomic operations instructions, which provide a basis for these mechanisms.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

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.