See roca's post earlier for some information from the original rr dev regarding their pernos.co service.
The principles are very similar - each has some advantages over the other but as an Undoer I have an obvious bias as to which I prefer ;-)
rr uses snapshots and deterministic repay in the same way, though they ensure determinism differently. I don't know if rr can do parallel reverse ops but evidently Pernosco does parallel pre-processing to build its database (which is magic as it then allows very fast queries about program state).