With the advent of ubiquitous multi-core architectures, a major challenge is to simplify parallel programming. One way to tame one of the main sources of programming complexity, namely syn-chronization, is transactional memory (TM). However, we argue that TM does not go far enough, since the programmer still needs non-local reasoning to decide where to place transactions in the code. A significant improvement to the art is Data-Centric Synchroniza-tion (DCS), where the programmer uses local reasoning to assign synchronization constraints to data. Based on these, the system au-tomatically infers critical sections and inserts synchronization oper-ations. This paper proposes novel architectural support to make DCS feasible, and describes its p...