A Hardware/Software Approach for Alleviating Scalability Bottlenecks in Transactional Memory Applications.