Low-cost Methods for Error Detection in Multi-core Systems