Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 25580 invoked from network); 21 Aug 2006 22:30:25 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Aug 2006 22:30:25 -0000 Received: (qmail 73506 invoked by uid 500); 21 Aug 2006 22:30:24 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 73476 invoked by uid 500); 21 Aug 2006 22:30:24 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 73467 invoked by uid 99); 21 Aug 2006 22:30:24 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Aug 2006 15:30:24 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.237.227.198] (HELO brutus.apache.org) (209.237.227.198) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Aug 2006 15:30:24 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id D66BE7142F0 for ; Mon, 21 Aug 2006 22:27:14 +0000 (GMT) Message-ID: <26854386.1156199234876.JavaMail.jira@brutus> Date: Mon, 21 Aug 2006 15:27:14 -0700 (PDT) From: "Gokul Soundararajan (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-1437) Add new LRU Cache Manager In-Reply-To: <32554422.1150979911594.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/DERBY-1437?page=all ] Gokul Soundararajan updated DERBY-1437: --------------------------------------- Attachment: pluggable-aug-19-2006.zip These files are needed for the PluggableCache architecture. The original Clock isn't modified. I just created a PluggableCache class. Each replacement policy is in its own class. Just place them in java/engine/org/apache/derby/impl/services/cache/. I have attached the ClockFactory diff to enable my caches to run. > Add new LRU Cache Manager > ------------------------- > > Key: DERBY-1437 > URL: http://issues.apache.org/jira/browse/DERBY-1437 > Project: Derby > Issue Type: Improvement > Components: Services > Reporter: Gokul Soundararajan > Assigned To: Gokul Soundararajan > Attachments: pluggable-aug-19-2006.zip > > > In databases, caching plays an important role in performance. To obtain high performance, we need to cache pages from disk in memory to reduce access time. The problem stated is that the existing replacement algorithm performs poorly so we need to research new algorithms for page replacement and implement it in Apache Derby. The benefit of a better algorithm is improved performance. > In this project, I first have to look at existing work to quantify the different replacement algorithms used in databases. I have run simulation experiments on several cache replacement algorithms from FIFO, Clock, Clock-Pro, TwoQueue, CAR, and CART. CAR/CART are patented by IBM so we cannot implement them in Derby. Two Queue has a large synchronization overhead (seen by Postgres community). Clock-Pro performs well and is being implemented in Linux. Oystein and I have agreed to implement Clock-Pro inside Derby. See the wiki for more details and simulation results: http://wiki.apache.org/db-derby/DerbyLruCacheManager > I will implement it in Derby. In addition, I will implement unit tests. Finally, I will perform experiments showing the benefit of the new algorithm over the existing algorithm. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira