Monday, October 15, 2007
Genezzo Drive Performance
My Clustered Genezzo code is relatively slow because it doesn't use a write-ahead log. Its access pattern involves repeated writes and syncs alternating between blocks at opposite ends of the data file. Potentially it could run much faster on a solid-state drive. I tested the performance of inserting 1000 integers into a table, with a commit after each insert. I avoided SQL to eliminate Perl Parse::RecDescent overhead. I tested a internal SATA drive, a Coraid ATA-over-Ethernet SAN drive on 100Mbit ethernet, and a SanDisk USB 2.0 ("keychain") flash drive. The system monitor showed the internal SATA drive test was CPU-limited, while the ATA-over-Ethernet SAN drive test was network-limited. I also tested base Genezzo without Genezzo::Contrib::Clustered enabled. Base Genezzo also lacks a write-ahead log, but performs fewer syncs per commit and fewer widely-spaced writes. All tests were done on 500M databases, except for Genezzo::Contrib::Clustered on flash which used the default 600K (?) size. With a 500M database the flash test using Genezzo::Contrib::Clustered got 3 commits per second; this requires further investigation...
Monday, October 1, 2007
Updated Clustered Genezzo on CPAN
Revision 0.34 of Genezzo-Contrib-Clustered has been posted on CPAN. One module moved, one test fixed.
Monday, July 16, 2007
Intel C++ Compiler
I recompiled my generic Ray Tracer code using the Intel C++ compiler. Using SSE3 auto-vectorization I obtained a 21% speedup over GCC.
Wednesday, July 4, 2007
Cell PPC Hardware Threads
The PowerPC unit in the PS3 Cell processor supports two hardware threads. Earlier I added pthread support to the generic ray tracer code. I have updated Real-Time Ray Tracing on the Playstation 3 Cell Processor with PPC performance measurements with pthreads and the IBM XLC compiler. Pthreads gives a 63% speedup, and XLC gives a 26% speedup, and together they give an 89% speedup:
Sunday, July 1, 2007
CUDA GPGPU and Pthreads
I've added a new page, Real-Time Ray Tracing with NVIDIA CUDA GPGPU and Intel Quad-Core. I've created two new versions of the ray-tracer code, one utilizing NVIDIA CUDA, and another using pthreads to exercise multi-core CPUs. The CUDA code is fastest, but least realistic as a practical ray-tracer. Pthreads was certainly easiest -- a half hour change to pre-existing generic code. I think CUDA will perform much better on more constrained (in terms of control flow and random memory access) algorithms.
Saturday, June 9, 2007
PS3 Cell SDK 2.1
I've been getting some compatibility questions about my PS3 Ray Tracer code, so I just upgraded my PS3 to Fedora Core 6 and Cell SDK 2.1. IBM changed the SPU thread API (to pthreads); I now provide code for both versions. They also now have a PPC native version of the IBM XLC compiler. It provides an over 50% performance improvement over GCC:
Saturday, May 26, 2007
Blindsight Site
"Humans didn't really fight over skin tone or ideology; those were just handy cues for kin-selection purposes. Ultimately it always came down to bloodlines and limited resources."
Peter Watts, Blindsight. This Science Fiction author has an interesting website www.rifters.com with tie-ins, excerpts, and whole texts of his novels.
Peter Watts, Blindsight. This Science Fiction author has an interesting website www.rifters.com with tie-ins, excerpts, and whole texts of his novels.
Subscribe to:
Posts (Atom)