Please use this identifier to cite or link to this item:
|Title:||Adaptive Concurrency Control Based On Workload Characteristics|
|Authors:||Costa, D. J. N.|
|Abstract:||Unlike servers that were used in the early days of computing, modern application servers utilize multi-core processors with multi-threading to make it possible to perform computations in an efficient manner. Modern servers are required to handle a large number of requests concurrently and therefore, the applications that are running on them need to be written in a manner to best utilize the computing resources available. Performance of such servers depends on a number of tunable configuration parameters such as session timeouts, keep alive timeouts and thread pool sizes. The values of these parameters are set off-line and do not change during run time. However, the best parameter values will depend on the workload conditions and therefore, setting these parameter values to fixed values can cause significant performance degradation. In this dissertation, we specifically focus on tuning the size of a thread pool on application servers. Experimentally we show that the size of the thread pool which is used to process the requests has a significant impact on the performance. We then propose three adaptive algorithms that can auto-adjust the the thread pool size to optimize performance. The proposed algorithms are capable of optimizing given performance metric (throughput, average latency or 99% latency) online. It does so by periodically measuring the performance and then adjusting the thread pool size in order to optimize performance. This proposed methodology helps to increase the performance of software systems by better utilizing the available computing resources.|
|Appears in Collections:||2018|
Items in UCSC Digital Library are protected by copyright, with all rights reserved, unless otherwise indicated.