Developers of complex applications often face the problem of tuning free parameters
of the software to optimize performance. The number of the processing threads
is often such a tunable parameter. This tuning phase is typically done in design and
development time, and require solid knowledge of the underlying software and hardware
infrastructure. In this paper we tempt to construct a framework for self-tuning
multi-threaded applications, able to adapt to their running environment automatically.
To ensure on-line adaptiveness tunable parameters are tempted to set runtime. For
optimal parameter tuning we used reinforcement learning.