A simulator for hw-sw distributed fault tolerance techniques