Accelerating Critical Sections
"Critical sections" are parts of the software for multicore architectures in which only one thread can execute at a given time, causing other threads needing access to shared data to wait for the current thread to complete the critical section.
Thus, when there is contention for shared data, execution of threads gets serialized, thereby reducing performance. Consequently, as the number of threads increases, the contention for critical sections also increases. In applications that have significant data synchronization -- Mozilla Firefox, MySQL, and operating system kernels, for instance -- critical sections limit performance and scalability.
As decribed in Accelerating Critical Section Execution with Asymmetric Multi-Core Architectures, by M. Aater Suleman, Onur Mutlu, Moinuddin K. Qureshi, and Yale N. Patt, ACS (short for "Accelerated Critical Sections") is a technique that leverages the cores of multicore systems to accelerate execution of critical sections. According to the author's evaluation on a set of 12 critical-section-intensive workloads, ACS reduces the average execution time and increases scalability.