IBM Files Patent For GPU-Accelerated Databases
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."
- U.S. Web-Blocking Devices Used By Syrian Government
- ARM Preps Entry In 64-bit Server Market
- Asus: Transformer Prime Will Launch with Honeycomb
- AMD's Bulldozer Pushed to 8.46 GHz, Breaks Own Record
- Nokia Launches Free WiFi Trial in London
- Goverment Reports ''Disturbing'' Cyber Attacks on UK
- Sky Promises Sky Go for Android Soon
- HP TouchPad's History: Lessons Learned, Bidding Adieu
- Blizzard: F2P (Still) Not the Best Model for WoW
- Researchers Create First Efficient Flexible Plastic OLED
- Seagate to Drop Barracuda XT, Green HDD Line
- Hands-On With Diablo III Arena PvP
- Lawyer: Software Can Be Patented Even Without Code
- Windows 7 Passes XP, Now Most Popular OS in the World
- More X79 Motherboards Revealed by Manufacturers
- Patent Filing Reveals Nvidia May Build Tiny Computers
- Motorola Razr Reportedly Delayed in the UK
- Orange Giving Away Xbox 360s to Lumia 800 Upgraders






This is another annoying example of the problems with software patents, most software developers had this idea the moment GPU computing cropped up but quite reasonably expected it whttp://www.tomshardware.co.uk/ibm-patent-gpu-accelerated-database-cuda,news-36895.html?#commentaireas too simple to patent.
It would be so much better if the patent applicant actually had to demonstrate something that proved basic functionality rather than paying for a speculative patent as a blocking tactic.