On-chip Sorting