Return-Path: X-Original-To: apmail-airavata-dev-archive@www.apache.org Delivered-To: apmail-airavata-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E222A109CB for ; Tue, 27 May 2014 16:05:00 +0000 (UTC) Received: (qmail 38039 invoked by uid 500); 27 May 2014 16:05:00 -0000 Delivered-To: apmail-airavata-dev-archive@airavata.apache.org Received: (qmail 37994 invoked by uid 500); 27 May 2014 16:05:00 -0000 Mailing-List: contact dev-help@airavata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airavata.apache.org Delivered-To: mailing list dev@airavata.apache.org Received: (qmail 37986 invoked by uid 99); 27 May 2014 16:05:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 May 2014 16:05:00 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of glahiru@gmail.com designates 209.85.212.177 as permitted sender) Received: from [209.85.212.177] (HELO mail-wi0-f177.google.com) (209.85.212.177) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 May 2014 16:04:55 +0000 Received: by mail-wi0-f177.google.com with SMTP id f8so2035064wiw.16 for ; Tue, 27 May 2014 09:04:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=q9hfqdfTeQGXg4qA8u+O5katnuMLHwU5sfY623eg0qU=; b=DDhgYnBrfWa9pceCWBsNsJcCBhbxUcQAulg0SH8puSwVrHPnYTthmwB9YnjIpQ4xgE C/rjvh8ABncR4jLyT9roJF+YYtXl7b9I7tZuE19SBCujSEIqm4C7XK16Y1W1ntNT1GNG KsZY1E5H3NMrKx+afdy/ClyzYxZkEU/fo4Uf9CCqfdCbb5mIu+uDHmXYD0oAGUtJEHkd wIDopw/F+At3vx44i58TX8UxUEk41GC8WrcaFvWaCXJnD82i8CnvslWzprDjg3LlHiVx pX+QaH5SZtwL+d0YeZIIA5sARMh7TdAmi/MpLC1aW/2LQzsEvt4zxOGLwCDXpchfO0ii Xs9Q== MIME-Version: 1.0 X-Received: by 10.194.82.170 with SMTP id j10mr41481895wjy.63.1401206674020; Tue, 27 May 2014 09:04:34 -0700 (PDT) Received: by 10.216.191.136 with HTTP; Tue, 27 May 2014 09:04:33 -0700 (PDT) Date: Tue, 27 May 2014 12:04:33 -0400 Message-ID: Subject: Implementing a cache registry From: Lahiru Gunathilake To: dev Content-Type: multipart/alternative; boundary=047d7bb04fee0fdfb804fa63da64 X-Virus-Checked: Checked by ClamAV on apache.org --047d7bb04fee0fdfb804fa63da64 Content-Type: text/plain; charset=UTF-8 Hi Devs, In our current implementation we have large number of Experiment retrieval and experiment storing happen in between experiment creation and experiment completion. We do not really parse these data-model objects between component and we simply parse the ids of these experiment so every component has to retrieve them everytime. I think programatically this approach looks much cleaner than parsing big objects. But to make this more efficient we can use a cachedRegistry implementation as another implementation of registry and make sure we do not get objects all the way from the database. Each component can init its own cache registry object and it will build a cache on that module and update the cache if some other component had changed the data-model objects. IMHO if we implement a good caching layer on our current data-model airavata registry will be more efficient. WDYT ? Regards Lahiru -- System Analyst Programmer PTI Lab Indiana University --047d7bb04fee0fdfb804fa63da64 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Devs,

In our current implementation = we have large number of Experiment retrieval and experiment storing happen = in between experiment creation and experiment completion. We do not really = parse these data-model objects between component and we simply parse the id= s of these experiment so every component has to retrieve them everytime. I = think programatically this approach looks much cleaner than parsing big obj= ects. But to make this more efficient we can use a cachedRegistry implement= ation as another implementation of registry and make sure we do not get obj= ects all the way from the database.=C2=A0

Each component can init its own cache registry object a= nd it will build a cache on that module and update the cache if some other = component had changed the data-model objects. IMHO if we implement a good c= aching layer on our current data-model airavata registry will be more effic= ient.

WDYT ?

Regards
Lahir= u

--
System Analyst Programmer
PTI = Lab
Indiana University
--047d7bb04fee0fdfb804fa63da64--