|
We develop a methodology for analyzing the performance and stability of a server that maintains a multilevel data structure to service a set of sccess operations for (key, value) records. A subset of the operations executed by the server (e.g., insert and delete) require the multilevel data stucture be reorganized so that the server can execte all subsequent requests efficiently. We study how often the server should carry out data reorganization (i. e., maintenance) to maximize its performance. If the server is frequently idle then there is no need to impose the reorganization overhead on the operation requests. The reorganization overhead may be completely eliminated by uttilizing server - idling periods. If the server is frequently busy, then the reorganization overhead can be minimized by performing a complete reorganization only after the server has served a sufficient number of insert / delete operations so that the amortized cost per operation is small. Therefore, the issue of how often one should perform data reorganization to minimize the average service time depends not only on the multilevel data structure maintained by the server but also on the type and intensity of the system workload. The proposed methodology is exemplified with a two - level sorted file with deferred maintenance. The performance and stability results are compared with those of a single - level binary tree data structure with on - the - fly maintenance. It is shown that deferred maintenance of the two - level sorted file outperforms on - the - fly maintenance of the single - level binary tree in both open and closed systems. Furthermore, deferred maintenance can sustain higher workload intensities without risking system stability. Index Terms -- queueing servers, multilevel data structures, atomic operations, open and closed systems, modeling, deferred maintenance, periodic maintenance, performance analysis, stability analysis.
|