1. A data set sorting apparatus, comprising: a multiple processor computing apparatus, each processor in the multiple processor computing apparatus having a respective local memory; an external memory coupled to the multiple processor computing apparatus; a data sorting processor, coupled to the multiple processor computing apparatus and the external memory, the data sorting processor configured to: divide a memory containing a plurality of data items into a plurality of buckets for an in-place radix sort, each bucket being associated with a respective key value; identify, within each bucket of the plurality of buckets, a respective plurality of stripes; define a plurality of stripe sets, each data stripe set comprising one respective stripe within each respective bucket of the plurality of buckets, the plurality of stripe sets comprising at least a first stripe set and a second stripe set that is separate from the first stripe set; store a respective first portion of each data item within the first stripe set into a data storage comprising a local memory of a first processor in the multiple processor computer apparatus; store a respective first portion of each data item within the second stripe set into a data storage comprising a local memory of a second processor in the multiple processor computer apparatus; store a respective second portion of the each data item in the plurality of data items into the external memory, each respective second portion comprising a respective second set of keys and is stored separately from the respective first portion of the each data item, and each respective first portion comprising a respective first set of keys and a pointer indicating the respective second portion; perform, with the first processor, an in-place partial bucket radix sort using an initial key on data items contained within the first stripe set; perform, with the second processor, an in-place partial bucket radix sort using the initial key on data items contained within the second stripe set; group, in each bucket after performing the in-place partial bucket radix sort, incorrectly sorted data items into a respective incorrect data item group within each bucket, the incorrectly sorted data items comprising data items within a first bucket but having a respective key value associated with a different bucket; perform a radix sort using the initial key on the items within the respective incorrect data item group; and produce a first level sorted output comprising the plurality of data items within the data storage sorted according to the initial key.