Monday, August 27, 2007

Is it possible to create SW that grooves like this?

Let's take this fantastic music video from youtube:


Billy Cobham on drums.
Highly optimized fast relation database running on a cluster of two independent servers (double kick drum). Experiencing indices maintenance and optimizations from 5:24 to 6:11. All other SW components (keyboards and bass) are rather idle at this time. You can see that tuning of database is a very hard task. Every piece (drum) must be hit at least once or twice for better. Only few can do it well and only real masters can do it with their eyes closed.

George Duke is playing keyboards.
Fast and light Perl based web UI. Only a real poet mind can use Perl effectively like that with such smile on the face while the same thing can be expressed in such many ways (at least 4 keyboards each with plenty of options). We can see that relatively simple commands in this layer can cause dramatic response in the DB layer (4:32-5:19).

Larry Kimpel drives the bass.
The glue between the Perl and DB is a system kernel with simple, yet very effective command line interface. Just couple of commands can do a lot for you but one has to be very careful about order of individual commands, options, pipes and arguments. Cron daemon is your good friend when it comes to repeating calls in ridiculous frequency (like 19/16 or so...)

As for boot up time:
You can see that the most expensive service is the DB layer. Perl starts very fast and the command line is just present (it seems as if it does not require any time for initialization at all).

As for releasing the resources: (simply the end of process)
Again we can see that the DB takes its time. But we can see that both the Perl and kernel layers wait until it finishes properly (good practice).

This must be some real time application (internet service?) or heavy I/O involving calculation (indexing of database content?). But somehow I feel that this music session grooves one (or two) steps further then any of SW compilations I have ever seen...

No comments: