Edge-TM: Exploiting transactional memory for error tolerance and energy efficiency