Sign in with
Sign up | Sign in

IBM Files Patent For GPU-Accelerated Databases

By - Source: USPTO | B 32 comments

IBM has an idea how database access and data processing can be accelerated. IBM wants to take advantage of graphics processors to launch and execute database queries.

Instead of traditional disk-based queries and an approach that slows performance via memory latencies and processors waiting for data to be fetched from the memory, IBM envisions in-GPU-memory tables as technology that could, in addition to disk tables, significantly accelerate database processing. According to a patent filed by the company, "GPU enabled programs are well suited to problems that involve data-parallel computations where the same program is executed on different data with high arithmetic intensity."

Surprisingly, the patent does describe open high-level software architectures, such as OpenCL, in this patent filing, but mentions Nvidia's Compute Unified Device Architecture (CUDA) as only specific example to run GPU-accelerated databases: "CUDA toolkit exposes the underlying target hardware via a C-like API. CUDA is designed to increase performance in many data parallel applications by supporting execution of thousands of threads in parallel. As such, a compiled CUDA program may scale with the advances in hardware. There are at least two ways a GPU-enabled database may be implemented--a) in one embodiment, a full-fledged database system may be enabled, and b) a scratch pad for accelerating other database queries may be enabled, that is, a GPU-memory database for just executing database queries may be enabled."

However, IBM is not surprisingly trying to protect its patent, if granted, in other programming languages as in the key areas of:

- starting a GPU kernel
- hash partitioning the database relations by the GPU kernel
- loading the partitioned database relations into the GPU memory
- loading keyed partitions corresponding the hash partitioned database relations into the GPU memory
- building a hash table for a smaller of the hash partitioned database relations
- executing the query.

According to the patent applications, using GPU acceleration for databases "may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages." To cover all of its bases, IBM also states that the "program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server."

Discuss
Ask a Category Expert

Create a new thread in the News comments forum about this subject

Example: Notebook, Android, SSD hard drive

This thread is closed for comments
Top Comments
  • 12 Hide
    gokanis , November 1, 2011 10:25 PM
    interesting and maybe even very useful considering a GPUs power, but did they develop it yet? You should not be able to patent it without a product. That is what is wrong with the system. If I patented slim, I could sue thousands of anorexics. Oh wait, apple has that one.
Other Comments
  • 4 Hide
    Parsian , November 1, 2011 10:20 PM
    i love IBM.
  • 0 Hide
    zeromikey , November 1, 2011 10:25 PM
    Parsiani love IBM.

    same
  • Display all 32 comments.
  • 12 Hide
    gokanis , November 1, 2011 10:25 PM
    interesting and maybe even very useful considering a GPUs power, but did they develop it yet? You should not be able to patent it without a product. That is what is wrong with the system. If I patented slim, I could sue thousands of anorexics. Oh wait, apple has that one.
  • -1 Hide
    Anonymous , November 1, 2011 10:31 PM
    me too
    even more after reading the book IBM and the holocaust.
  • 3 Hide
    Filiprino , November 1, 2011 10:54 PM
    Ermmm... that's how normal software works when ran on GPU.
  • 0 Hide
    alidan , November 1, 2011 11:01 PM
    gokanisinteresting and maybe even very useful considering a GPUs power, but did they develop it yet? You should not be able to patent it without a product. That is what is wrong with the system. If I patented slim, I could sue thousands of anorexics. Oh wait, apple has that one.


    did they pattent a process
  • 0 Hide
    Anonymous , November 1, 2011 11:27 PM
    So, it relies on having a table already in GPU memory, that is small enough to fit into same GPU memory? Furthermore, have they figured out a way to make GPUs useful for that? Current GPUs are basically good at floating point calculations that are easily parallelized, not integer/logic operations. SQL is almost entirely integer/logic unless your query/insert contains an FP math equation, which probably isn't often.

    Barring the wrong tool for the job argument, it could work OK as long as you're entire database fits in one GPUs memory, or else you can at least fit one table per GPU, and you only have to query a single table at a time.
  • 0 Hide
    killerclick , November 1, 2011 11:28 PM
    They've been promising GPU based processing for five years at least, so far it hasn't made an impact anywhere. 3ds max uses it in a very limited way as does Photoshop.
  • 0 Hide
    nikorr , November 1, 2011 11:34 PM
    Had to get the patent thing done right first, or some one would sue.
  • 0 Hide
    Anonymous , November 1, 2011 11:44 PM
    Killerclick: The number one thing holding it back is that it requires copying from main memory to the GPUs memory. Even things that can be made that parallel must still overcome the huge latency in copying it back and forth. That's why AMD Llano and all APUs going forward share memory with the CPU, and have direct links to the cores, to make GPGPU more feasible for the calculations that can benefit from it.
  • 0 Hide
    hypetype15 , November 1, 2011 11:57 PM
    I BM ROCKS
  • 0 Hide
    memadmax , November 1, 2011 11:58 PM
    Great for a couple of small DB's but after that you will tax it too much, Why?

    Unless you have a dedicated GPU unit on the same bus as the main processor to access main ram, you still have to go thru the main cpu, thru the main bus(PCI-E), into the gpu, back out into the main bus, back thru the cpu and out onto main RAM or Storage.....

    The End.
  • 0 Hide
    Novulux , November 2, 2011 12:18 AM
    ibmtrollpatentme tooeven more after reading the book IBM and the holocaust.



    Yeah, I just learned about what the Nazis used their machines for too.
  • 0 Hide
    JohnMD1022 , November 2, 2011 12:37 AM
    Sounds similar to concepts used by the System/38 and AS/400 from 1978 onward.
  • 0 Hide
    hoofhearted , November 2, 2011 12:40 AM
    They should have said all programming languages except for Objective-C.
  • 0 Hide
    FloKid , November 2, 2011 12:51 AM
    The picture is sure for the not to savy :) 
  • 0 Hide
    Unolocogringo , November 2, 2011 12:58 AM
    Great for a couple of small DB's but after that you will tax it too much, Why?
    QUOTE:
    Unless you have a dedicated GPU unit on the same bus as the main processor to access main ram, you still have to go thru the main cpu, thru the main bus(PCI-E), into the gpu, back out into the main bus, back thru the cpu and out onto main RAM or Storage.....

    Since the days of AGP(maybe earlier) Memory transfers to the videocard do not have to go through the CPU. Windows allocates a set area of ram for the Videocard to have direct access to. It is assigne a DMA (direct memory access) the same as a hard drive.
    So the video card can read or write to memory directly, reguardless of what the cpu is doing.
  • 0 Hide
    iam2thecrowe , November 2, 2011 1:05 AM
    if they dont patent it, apple will. At least they have a diagram, apple patents ideas which they cant explain how it is going to work.
  • 0 Hide
    LORD_ORION , November 2, 2011 1:10 AM
    Except anyone who has ever played with CUDA already made extensions for pretty much every open source databases and they do precisely that.
  • 0 Hide
    acadia11 , November 2, 2011 2:07 AM
    LORD_ORIONExcept anyone who has ever played with CUDA already made extensions for pretty much every open source databases and they do precisely that.


    Which makes me go how? There needs to be more scrutiny in the patent process.
Display more comments