Skip to Content.
Sympa Menu

perfsonar-dev - FW: [pS-dev] Queries for the LSquery request

Subject: perfsonar development work

List archive

FW: [pS-dev] Queries for the LSquery request


Chronological Thread 
  • From: Michael Michalis <>
  • To:
  • Subject: FW: [pS-dev] Queries for the LSquery request
  • Date: Wed, 08 Nov 2006 13:41:28 +0200



-----Original Message-----
From: Michael Michalis
[mailto:]

Sent: Wednesday, November 08, 2006 1:20 PM
To: 'Maciej Glowiak'
Subject: RE: [pS-dev] Queries for the LSquery request

Hi Maciej,

I was going to test 6-7 queries myself but I wanted to give others the
chance to submit some queries they would like to test and they could use in
their services when communicating with the LS. So any contribution in this
field is welcomed. Thanks for the queries. At the time you submitted the
queries, I wasn't part of cynet or perfsonar, I was only a newbie
engineer;). So I didn't seem them at all. Thanks for the help.


Best Regards,

Michalis

-----Original Message-----
From: Maciej Glowiak
[mailto:]

Sent: Wednesday, November 08, 2006 12:14 PM
To: Michael Michalis
Cc:
;
Jason Zurawski
Subject: Re: [pS-dev] Queries for the LSquery request

Michael Michalis wrote:
> Hi all,
>
>
>
> I'm about to start building the tests for the LSQuery request of the LS.
> If you have any particular queries that you like to test, please send it
> back to me so I can include them in my tests.
>
>
Michael, do you ask about additional queries or just general queries?

I don't remember whether I send you some of "general" queries we
developed for benchmarking. They were the most common queries for
client applications. They were sent out on the mailing list couple of
months ago. You can find them below (in forwarded mail).

Maciej

--

--------------------------------------------------------------------
| Maciej Glowiak Network Research and Development ||
|

Poznan Supercomputing and Networking Center ||
| (+48 61) 858 2024 http://monstera.man.poznan.pl/ ||
====================================================================





-------- Original Message --------
Subject: Re: [pS-dev] Lookup Service Benchmarking
Date: Fri, 04 Aug 2006 16:01:34 +0200
From: Maciej Glowiak
<>
Organization: Poznan Supercomputing and Networking Center
To: Vedrin Jeliazkov
<>
CC: Jeff W. Boote
<>,
Joe Metzger
<>,


,
Roman Lapacz
<>
References:
<>

<>

<>

Hi All Testers :)

I prepared an example storage file. It contains FOUR lookup infos:
three MAs (Pionier, ACAD and test one) and one Topology Service
(without data elements).
All together have 202 interfaces (data elements)

The file is too small for testing, but perfect for developing XQueries.

File is attached to this e-mail.

To all XQueries namespaces declaration instructions should be added:

-----------------------------------------------------------------------
declare namespace nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";;
declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";;
declare namespace
psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";;
declare namespace
perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";;
declare namespace
netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/";
-----------------------------------------------------------------------

but I omitted them in the examples:

> 1) get the addresses of services, registered in the LS;

----------------------------------------------------------------------------
---
(: get the addresses of services, registered in the LS; :)

for $m in /nmwg:store/nmwg:metadata
let $s := $m/perfsonar:subject/psservice:service
let $accessPoint := $s/psservice:accessPoint
return data($accessPoint)
----------------------------------------------------------------------------
---

> 2) get the addresses of services, registered in the LS and having a
given type
> (e.g. utilization MA, Hades MA, etc.);


----------------------------------------------------------------------------
---
(: get the addresses of services, registered in the LS and having a
given type :)
(: e.g. utilization MA, Hades MA, etc. :)

for $m in /nmwg:store/nmwg:metadata
let $s := $m/perfsonar:subject/psservice:service
let $accessPoint := $s/psservice:accessPoint
where contains($s/psservice:serviceType,'MA')
return data($accessPoint)
----------------------------------------------------------------------------
---


> 3) get the addresses of services, registered in the LS, having a
given type
> and providing info for a given data point (e.g. IP interface address);

----------------------------------------------------------------------------
---
(: get the addresses of services, registered in the LS, having a given
type :)
(: and providing info for a given data point e.g. IP interface address
:)

(: -- with only a part of address :)

for $m in /nmwg:store/nmwg:metadata
let $s := $m/perfsonar:subject/psservice:service
let $accessPoint := $s/psservice:accessPoint
let $d :=
/nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]

where contains($s/psservice:serviceType,'MA') (: given type :)
and contains($d//nmwgt:ifAddress, '194.141.') (: IP interface
address :)

return data($accessPoint)
----------------------------------------------------------------------------
---

----------------------------------------------------------------------------
---
(: get the addresses of services, registered in the LS, having a given
type :)
(: and providing info for a given data point e.g. IP interface address
:)

(: -- with full address :)

for $m in /nmwg:store/nmwg:metadata
let $s := $m/perfsonar:subject/psservice:service
let $accessPoint := $s/psservice:accessPoint
let $d :=
/nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]

where contains($s/psservice:serviceType,'MA') (: given type :)
and $d//nmwgt:ifAddress[text()='194.141.252.49'] (: IP
interface address :)

return data($accessPoint)
----------------------------------------------------------------------------
---



> 4) get the full list of data points for a given service;

----------------------------------------------------------------------------
---
(: get the full list of data points for a given service :)

for $m in /nmwg:store/nmwg:metadata
let $s := $m/perfsonar:subject/psservice:service
let $accessPoint := $s/psservice:accessPoint
let $d :=
/nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
let $datas :=
for $i in $d
return <nmwg>{$i/nmwg:metadata}</nmwg>
where contains($s/psservice:serviceType,'MA') (: given type :)
and $datas != ''

return
<service><accessPoint>{data($accessPoint)}</accessPoint>{$datas}</service>
----------------------------------------------------------------------------
---

----------------------------------------------------------------------------
---
(: get the full list of data points for a given service :)
(: -- with additional condition for data - IP interface address :)

for $m in /nmwg:store/nmwg:metadata
let $s := $m/perfsonar:subject/psservice:service
let $accessPoint := $s/psservice:accessPoint
let $d :=
/nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
let $datas :=
for $i in $d
where contains($i//nmwgt:ifAddress,'10.1.2.3') (: IP
interface address :)
return <nmwg>{$i/nmwg:metadata}</nmwg>
where contains($s/psservice:serviceType,'MA') (: given
type :)
and $datas != ''

return
<service><accessPoint>{data($accessPoint)}</accessPoint>{$datas}</service>
----------------------------------------------------------------------------
---


> 5) get the full list of data points for all registered services;

----------------------------------------------------------------------------
---
/
----------------------------------------------------------------------------
---

but it shouldn't be used. It returns all database :)

Of course these are only examples. Tags such as <service><accessPoint>
and so on may be replaced by NMWG-tags or any others.

> Query (1) is mandatory. Query (2) would be perhaps sufficient for
making the
> current MA.conf in perfsonarUI obsolete. Query (3) would greatly
simplify (and
> probably make faster) path visualization, because the clients would
not have
> to query a range of other services for each successive hop. Queries
(4) and
> (5) might be desirable in some cases (e.g. when drawing maps), but
perhaps
> they could be run much less often, because of the expected
performance impact
> on the LS itself.

Vedrin, do you need any other queries that could be useful for the client?

Best regards

Maciej
-------------------------------------------------------------------



  • FW: [pS-dev] Queries for the LSquery request, Michael Michalis, 11/08/2006

Archive powered by MHonArc 2.6.16.

Top of Page