MySQL 5.1 InnoDB Configuration / 24GB RAM - bi-xeon high load
I have written some posts in the StackExchnage

Tuning MySQL for InnoDB and MyISAM
How to keep InnoDB Diskspace under control
Another Viewpoint on MySQL Diskspace Managament
Viewpoint on InnoDB Optimization
InnoDB Fine Tuning

Please read these for the guidance you need.
Now, for more pressing issues: You mentioned that you have 400MB of data, 1GB with indexes. That kind of scares me that your indexes are 50% bigger than the data. However, since all your data is InnoDB and you are satisfied with the current query performance, your settings are more than adequate, espscially the 16384MB of innodb_buffer_pool_size. That's 16GB. You are all set there. But wait !!! Your innodb_log_file_size is 128M ? Way too small given the 16GB buffer pool. You should resize the ib_logfile files (set the innodb_log_file_size to 2047M).
You might be experiencing load on a per-thread basis. Try setting your connection buffers (join_buffer_size ,sort_buffer_size, read_buffer_size, read_rnd_buffer_size)
From Me : Why does MySQL say I&#39;m out of memory?
From @DTest : How do you calculate mysql max_connections variable?
Give it a Try !!!