The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
May. 16, 2000
Filed:
Dec. 17, 1997
Shmuel Gal, Haifa, IL;
Dafna Sheinwald, Nofit, IL;
John M Marberg, Sunnyvale, CA (US);
Alan Hartmann, Prahran, AU;
Mila Keren, Nesher, IL;
Zvi Yehudai, Nesher, IL;
International Business Machines Corporation, Armonk, NY (US);
Abstract
A method is described for operating a data processing system having a plurality of processors to sort a set of data records each having an associated key for governing the sort process. The method comprises determining a range for the key values by sampling the key values. The range is divided into a plurality of quantiles, one for each processor, each quantile having a respective index. At each processor, a plurality of buckets are defined, each bucket corresponding to a respective one of a plurality M.sub.p of subintervals in the quantile, each subinterval having a respective index. The index of the quantile in which the key value lies and the index of the subinterval in which the key value lies are determined directly from the key values using fast operations. Each key is distributed to the processor corresponding to the quantile in which the key value lies. At each processor, the keys falling in the quantile corresponding to the processor are distributed into the buckets according to the indices of the subintervals in which the key values lie, the buckets being processed in sequence in order to sort the records and the keys in each bucket sorted if the bucket contains more than one key. Finally, the sorted keys from each processor are concatenated.