This document is the thesis of Andrew Tridgell submitted for the degree of Doctor of Philosophy at The Australian National University in February 1999. The thesis presents efficient algorithms for internal and external parallel sorting and for remote data update (rsync). The internal sorting algorithm approaches the problem by first using an incorrect but fast algorithm to almost sort the data before performing a cleanup phase. The external sorting algorithm partitions data across disks before performing sorting within each partition. The rsync algorithm operates by exchanging block signatures followed by a simple hash search algorithm to efficiently synchronize remote files. Performance results are presented for each algorithm along with comparisons to other related work.