One of the most common basic techniques for improving the performance of web
applications is caching frequently accessed data in fast data stores,
colloquially known as cache daemons. In this paper we present a cache daemon
suitable for storing complex data while maintaining fine-grained control over
data storage, retrieval and expiry. Data manipulation in this cache daemon is
performed via standard SQL statements so we call it SQLcached. It is a
practical, usable solution already implemented in several large web sites.
In a technological landscape that is quickly moving toward dense multi-CPU
and multi-core computer systems, where using multithreading is an increasingly
popular application design decision, it is important to choose a proper model
for distributing tasks across multiple threads that will result in the best
efficiency for the application and the system as a whole. The work described in
this paper creates, implements and evaluates various models of distributing
tasks to CPU threads and investigates their characteristics for use in modern
high-performance network servers.