Hello Jeff, 

I worked with Igor on the GDS framework (although Igor knows more tech
details than me). Let me put my two cents to the discussion.

> 1. It looks like the main benefits of using the Google App Engine --
specifically for MTT -- is that we can use the GDS and/or we can host an
application on their web servers.  Is that correct?

I think yes. Also GDS should work faster than a relational DB on large
amounts of data.

> 2. In reading through the Google Appengine docs, the GDS stuff looks like
we mainly can access the data through GQL.  I don't see any mention of doing
map/reduce kinds of computations (Ethan and I were talking on the phone
today about MTT Appengine possibilities).  I'm new to all this stuff, so
it's quite possible that a) I missed it, or b) I just don't understand what
I'm seeing/reading yet.  Or does GQL do map/reduce on the back end to do its
magic?  Is GQL the main/only way we have to access GDS?

As far as I and Igor know there are no way of doing Map/Reduce with GDS. And
GQL (or filters which is practically synonym) is the main and only way to
access GDS data.

> 3. Is there a reason that MTTGDS.pm doesn't use the python API to directly
talk to GDS?  I.e., what is the rationale for using a web app on appengine?
Is the web app doing stuff that we can't do at the client?  Ditto for
bquery.pl and breport.pl.  (these questions are partially fueled by my
curiosity and concern about why we're using so much CPU at Google)

There are a few reasons of doing it. The first is speed. When we post new
data we firstly try to find if there is a copy of corresponding MpiInfo,
ClustreInfo and other *Info classes. If we did it directly from client
scripts the delays would be higher (depending on Internet connection speed).
Price of it is additional CPU cycles on google servers. The second and more
important is that when we have such logic on server we (instead of GDS
clients) are responsible for maintaining correct structure of links between
objects. If such logic was implemented on client side user could (by mistake
or on purpose) break links between objects.

Regards, 
Andrew Senin

-----Original Message-----
List-Post: mtt-devel@lists.open-mpi.org
Date: Thu, 11 Feb 2010 21:43:21 -0500
From: Jeff Squyres <jsquy...@cisco.com>
Subject: [MTT devel] MTT GDS -- one more...
To: Development list for the MPI Testing Tool <mtt-de...@open-mpi.org>
Message-ID: <8a556b10-1618-47ea-96a9-33f22aecd...@cisco.com>
Content-Type: text/plain; charset=us-ascii

Heh... even more questions...

(BTW, Ethan and I have asked soooo many questions that if it helps, I can
setup a webex and we can all discuss this in person rather than via
1,000,000 annoying emails from us.  :-)  Webex can call you; no one will
need to pay for an international call)

1. It looks like the main benefits of using the Google App Engine --
specifically for MTT -- is that we can use the GDS and/or we can host an
application on their web servers.  Is that correct?

2. In reading through the Google Appengine docs, the GDS stuff looks like we
mainly can access the data through GQL.  I don't see any mention of doing
map/reduce kinds of computations (Ethan and I were talking on the phone
today about MTT Appengine possibilities).  I'm new to all this stuff, so
it's quite possible that a) I missed it, or b) I just don't understand what
I'm seeing/reading yet.  Or does GQL do map/reduce on the back end to do its
magic?  Is GQL the main/only way we have to access GDS?

3. Is there a reason that MTTGDS.pm doesn't use the python API to directly
talk to GDS?  I.e., what is the rationale for using a web app on appengine?
Is the web app doing stuff that we can't do at the client?  Ditto for
bquery.pl and breport.pl.  (these questions are partially fueled by my
curiosity and concern about why we're using so much CPU at Google)

-- 
Jeff Squyres
jsquy...@cisco.com

For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to