Article ID: | iaor20071418 |
Country: | United States |
Volume: | 18 |
Issue: | 2 |
Start Page Number: | 243 |
End Page Number: | 254 |
Publication Date: | Mar 2006 |
Journal: | INFORMS Journal On Computing |
Authors: | Narasimhan Sridhar, Datta Anindya, Soni Samit, Dutta Kaushik |
Modern applications are built using object-oriented (OO) principles. Unfortunately, OO technologies, though they add tremendous functionality and flexibility to applications, require significant computational power, which greatly affects the performance and scalability of the applications. Caching objects in memory is a popular way to solve this problem, but the available memory in systems is limited and not sufficient to store each instance of every enterprise application object. Deciding which instances of which objects should be cached is a two-stage process. The first stage is selecting the objects, and the second stage is selecting the object instances. The second stage, typically referred to as a replacement policy, occurs at run-time and has been widely studied. The focus of this paper is the first stage: selecting objects whose instances are candidates for caching at run-time. In current systems, this critical step is performed in an ad hoc manner. We build a nonlinear mathematical model for this problem, develop a feasible solution procedure based on genetic algorithms, and demonstrate its effectiveness by comparing the solution quality to lower bounds obtained using a Lagrangian-relaxation-based method.