Beginning with some background review, we elaborate on our recent contributions in runtime support for TM. This work includes design space analysis, workload adaptivity, and design of a new hardware-software hybrid system. We have implemented five different systems, and several variants of two systems in this process. We also present our work on enhancements to transactional semantics. Our semantic extensions enable concurrent transactions interact with each other. We thereafter propose our preliminary ideas on the issues of support for nesting, conditional waiting, irrevocable side-effects, lower overhead nonblocking progress guarantees, better programming abstractions, safe optimizations, and cleaner transaction interactions. This thesis work will focus on refining our ideas and building concrete infrastructures for their evaluation.