Tunable hardware sort engine for performing composite sorting algorithms

US2016110395A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016110395-A1
Application numberUS-201514977835-A
CountryUS
Kind codeA1
Filing dateDec 22, 2015
Priority dateAug 7, 2013
Publication dateApr 21, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments include methods, systems and computer program products for performing a composite sort on a tunable hardware sort engine includes determining desired sort performance parameters, configuring a composite sort engine based on the desired sort performance parameters, and receiving a plurality of keys having a payload associated with each of the plurality of keys. The method also includes reserving DRAM storage for each of the payloads, generating a tag for each of the plurality of keys, the tag identifying the DRAM storage reserved for each of the payloads, and storing the payloads in the portions of the DRAM storage. The method further includes generating a composite key for each of the plurality of keys, sorting the composite keys by the composite sort engine, and retrieving the payloads associated with the sorted composite keys from the DRAM storage. The method also includes outputting the payloads associated the sorted composite keys.

First claim

Opening claim text (preview).

What is claimed is: 1 . A tunable hardware sort engine comprising: a key extractor configured to: receive a plurality of keys having a payload associated with each of the plurality of keys; generate a tag for each of the plurality of keys, the tag identifying a location of a DRAM storage for each of the payloads; store the payloads in portions of the DRAM storage; and generate a composite key for each of the plurality of keys; and a composite sort engine configured to sort the composite keys, wherein a configuration of the composite sort engine is based one or more desired sort performance parameters of the tunable hardware sort engine; wherein the tunable hardware sort engine is configured to retrieve the payloads associated with the sorted composite keys from the DRAM storage and to output the payloads associated the sorted composite keys. 2 . The tunable hardware sort engine of claim 1 , wherein the composite key generated for each of the plurality of keys consists of the tag generated for each of the plurality of keys and a value associated with each of the plurality of keys. 3 . The tunable hardware sort engine of claim 1 , wherein the composite sort engine comprises a plurality of sorting engines and a merging unit configured to receive the output of the plurality of sorting engines. 4 . The tunable hardware sort engine of claim 1 , wherein a quantity and a type of the plurality of sorting engines is selected based on one or more sort parameters. 5 . The tunable hardware sort engine of claim 4 , wherein the one or more sort parameters include at least one of the following: a number of keys in a sorted run; a consumption rate of arriving keys; an available chip area; and a rate of producing sorted keys. 6 . The tunable hardware sort engine of claim 5 , wherein the type of the sorting engines is a tournament tree sort. 7 . The tunable hardware sort engine of claim 1 , wherein the tag consists of a starting address of a location of the DRAM storage and a size of the payload. 8 . A computer program product, comprising: a non-transitory computer readable storage medium having computer readable program code stored thereon that, when executed, performs a method, the method comprising: determining one or more desired sort performance parameters; configuring a composite sort engine of a tunable hardware sort engine based on the one or more desired sort performance parameters; receiving, by the tunable hardware sort engine, a plurality of keys having a payload associated with each of the plurality of keys; generating a tag for each of the plurality of keys, the tag identifying a portion of a DRAM storage reserved for each of the payloads; storing the payloads in the DRAM storage; generating a composite key for each of the plurality of keys; sorting the composite keys by the composite sort engine; retrieving the payloads associated with the sorted composite keys from the DRAM storage; and outputting the payloads associated the sorted composite keys. 9 . The computer program product of claim 8 , wherein the composite key generated for each of the plurality of keys consists of the tag generated for each of the plurality of keys and a value associated with each of the plurality of keys. 10 . The computer program product of claim 8 , wherein sorting the composite keys by the composite sort engine comprises distributing each of the composite keys to one a plurality of sorting engines and merging the output of the plurality of sorting engines. 11 . The computer program product of claim 10 , wherein a quantity and a type of the plurality of sorting engines is selected based on one or more sort parameters. 12 . The computer program product of claim 11 , wherein the one or more sort parameters include at least one of the following: a number of keys in a sorted run; a consumption rate of arriving keys; an available chip area; and a rate of producing sorted keys. 13 . The computer program product of claim 8 , wherein the tag consists of a starting address of a location of the DRAM storage and a size of the payload.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016110395A1 cover?
Embodiments include methods, systems and computer program products for performing a composite sort on a tunable hardware sort engine includes determining desired sort performance parameters, configuring a composite sort engine based on the desired sort performance parameters, and receiving a plurality of keys having a payload associated with each of the plurality of keys. The method also includ…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F17/30336. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 21 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).