OpenCL Accelerated SQL Database with ARM Mali GPU Compute Capabilities

We’ve previously seen GPU compute on ARM could improve performance for mobile, automotive and consumer electronics application. GPU compute offload CPU task that can be parallelized to the GPU using APIs such as OpenCL or RenderScript. Most applications that can leverage GPU compute are related to media processing (video decoding, picture processing, audio decoding, image reconigion, etc…), but one thing I did not suspect could be improve is database access. That’s what Tom Gall, Linaro, has achieved in a side project by using OpenCL to accelerate SQLite database operations by around 4 times for a given benchmark. The hardware used was a Samsung Chromebook with an Exynos 5250 SoC featurig a dual core Cortex A15 processor and an ARM Mali T604 GPU. CPU compute is only possible on ARM Mali T6xx and greater, and won’t work on Mali 400 / 450 GPUs. Other GPU vendors such as Vivante and Imagination […]

Delete Old Revisions to Reduce Time to First Byte for WordPress Blogs

I’ve already implemented several steps to improve this blog performance: Install W3 Total Cache plugin. Register to CloudFlare CDN to reduce the load on the server. Those two work pretty well, but there was still a problem with the Time to First Byte according to http://www.webpagetest.org. It got an F mark for First Byte Time. Sometimes I would get TTFB (Time To First Byte) of 20 seconds and more. TTFB is synonym of slow back-end processing either because of poorly optimized software or insufficient hardware specs or both. Part of the problem is probably due to my hosting provider (I use a shared hosting) and I sometimes get very high server load in CPanel (e.g. 50 (4 cpus)) whether my blog is running or not. But I found a blog post explaining how to try to reduce the TTFB for WordPress blog by installing Better Delete Revision plugin in order […]

Databases for Linux Embedded Systems: Berkeley DB and SQLite

Embedded systems often need to use database to store contact information, EPG data and more. Many Linux systems use MySQL, however such a large database management system may not always be appropriate for embedded systems. Hence, there are lightweight database management systems  implementation that are especially suited to embedded systems by their binary footprint, memory footprint and CPU requirements. If you want to develop in C in Linux and your requirement is to have no (or little) license to pay in your application, you could consider Oracle Berkeley DB or SQLite among others. Oracle Berkeley DB (previously Sleepycat Berkeley DB)  is described as follows: Berkeley DB enables the development of custom data management solutions, without the overhead traditionally associated with such custom projects. Berkeley DB provides a collection of well-proven building-block technologies that can be configured to address any application need from the hand-held device to the datacenter, from a […]