LISTSERV mailing list manager LISTSERV 16.5

Help for XROOTD-L Archives


XROOTD-L Archives

XROOTD-L Archives


XROOTD-L@LISTSERV.SLAC.STANFORD.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

XROOTD-L Home

XROOTD-L Home

XROOTD-L  September 2004

XROOTD-L September 2004

Subject:

xrootd/data management use cases from last year's Lyon workshop

From:

Peter Elmer <[log in to unmask]>

Date:

7 Sep 2004 22:55:20 +0200Tue, 7 Sep 2004 22:55:20 +0200

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (422 lines)

  Hi,

  At the BaBar CM2 Lyon workshop last year a number of xrootd and data 
management use cases were presented:

http://www.slac.stanford.edu/BFROOT/www/Computing/Distributed/workshops/Jun2003/artem-xrootd-usecase.txt
  http://www.slac.stanford.edu/BFROOT/www/Computing/Distributed/workshops/Jun2003/artem-datamanagement-usecase.txt

  As some of these use cases are still not properly dealt with, I'd like
to go through them here. From this thread we will synthesize the relevant
issues in particular for proceeding (finally) with the adminstrative interface,
but also in determining if there are any other missing xrootd features.

  In what follows text from Artem's original document is proceeded with "> " 
and my comments are interspersed. Some of these things are not really xrootd 
topics, but instead are dealt with by other things (e.g. the babar 
bookkeeping, etc.). I will mark those as such and we should focus on the 
xrootd specific topics here.

  I sort of expect further comments from Andy and Artem in particular, but
anyone else should feel free to jump in... Artem (and Wilko and others), now 
that you've had to deal with the xrootd system since late last fall, this
would also be a good time to bring up any operational problems or use 
cases that you didn't imagine 1.5 years ago.

  So here we go:

> Use cases for Xrootd.
> ---------------------
> 
> Some comments placed in the line with "===>"
> 
> Admin should be able to stop the server remotely (a la oostopams).

  Presumably needs the administrative interface. Hopefully we can (finally)
provide this in the near future.

> Admin should be able to audit server's (get it's state and debug info) 
>   remotely, i.e. via a call to the server.

> Admin should be able to turn on debugging remotely, i.e via a call to the 
>   server.

  Since the server can be restarted easily without crashing the clients,
the server could also be restarted with extra options in the config file.
I don't feel strongly that this has to be possible via the adminstrative
interface and don't even know how easy it would be to add this. Andy?

> Admin should be able to read server's log file(s) remotely, via a call. Log 
>   files include main log file, error messages, trace output, pid file.

  IIRC, in the original discussion we had about this some of use felt that
this would be useful, but overkill, since other tools could be used. 

> Server should be able to log it's host's and it's process' cpu and memory 
>   utilization and other usufull paramemters.

  At the time of the workshop SLAC had no useful system monitoring (despite 
having tens of millions of dollars of equipment). Since that time Yemi has 
deployed the Ganglia monitoring at SLAC. Using some external agent like 
Ganglia to monitor things like cpu and memory usage seems a better structure 
(and is what we have at SLAC and other places). Artem, are you happy with 
that?  (i.e. with no features in xrootd itself for this)

> ===>Remote administration is essential in distributed environment.

  This statement I think we all agree with. (But the monitoring issue
in the last point is separate...)

> Admin should be able to dump/load server's configuration remotely.
> ===>24/7 availability is essential. Stoping 1000+ clients for some simple 
>   tasks like reconfiguration is bad bad bad.

  Well, I think we've done pretty well at SLAC in terms of 24/7 availability.
(CNAF in particular seems to have problems, though.)

  I'm not so clear on why it is useful to dump the configuration remotely.
Artem, do you still feel strongly about this?

> Admin should be able to give a signal to dlb to rescan file system for 
>   new/gone files.

  The olb (once known as the "dlb") doesn't maintain any state on the data
servers, or have I misunderstood? I'm not sure what this means. The manager 
olbd obviously does have a cache, but as I understand it it also times
out entries older than 8 hours. 

  Andy or Fabrizio, could you explain the mechanism by which the client itself
can cause the refresh of the cache on the manager olbd?

> Xrootd, dlb should coexist on the same host with ams(es), so a host can be 
>   used for both objy and root data.
 
  As we wound up setting up things at SLAC, this turned out not to be 
necessary, although In2p3 did in the end set things up this way. (i.e. it
is possible, but not of general interest, of course.)

> ===> It's very difficult to move objy data around and not possible at all
>   without disruption of access for hours. Therefore the aim should be not
>   to phase out objy servers, but to deploy the same servers for root data,
>   considering  of cource overal load and file commitment.

  Again, we deployed the xrootd data servers at SLAC independently from the
objy ones. Now the game is to wind down objy usage and move more servers
over from "only objy" to "only root". I think Stephen will post about this.

> Load balacing should not be applied to files not yet backed up (typycally, in 
>   in user's production enviroment). (*)

  I'm not sure I understand this point. Artem, could you explain it again?

> Dlb should be able to distinguish, whether a file is closed or still
>   active (may be written into later). If the file is active, it must not
>   be staged anywhere else, even for r/o access. (*)
> 
> Data Management use cases (wrt xrootd)
> 
> Admin wants to check whether file is on disk and which host(s), and/or in 
>   hpss.
> 
> Admin wants to set a pool of hosts for readonly data.

  This is possible (in several ways), see the examples linked from the
xrootd page.

> Admin wants to set a pool of hosts for user's production data. This is 
>   totally separate from readonly hosts.

  In the end we deployed NFS for the users production data at SLAC, but 
this _is_ possible via the xrootd configurations.

> Admin wants to dynamically add or remove a host from a readonly or 
>   write pools.

  This is possible from the readonly pools. As things are configured at
SLAC (for example) removing such a server would eventually cause the
client to come back in through the redirector and the file would be
staged onto another (read-only) data server.

  For write, it is obviously much more complicted. As you know we prefer
in BaBar to do the actual writes from production jobs to the local disk
of the machine where the jobs run and then transfer the output when the
job finishes to some production buffer. (Soon to be accessed via the
'xrdcp' command instead of NFS so that we can add load balancing across
filesystems and servers.)

  If someone is actually writing to an xrootd server and then suddenly
you take the server down or machine out of the pool there really isn't
a graceful way to handle it. 

  (i.e. not sure what we can do for "write" beyond what is there now.)

  Probably Alice will learn something about writing via xrootd since I
think they intend to use it that way.

> Admin wants to disable access to certain data sets, should it need
>   so. This means tcl files should not be generated for a user jobs. ??Other
>   ways to prevent user from accessing some data?? A la inhibit?? Via Xrootd??

  There are parts of this that are really for the BaBar bookkeeping. For
xrootd the question is really something like:

  o Is it possible to prevent access to classes of files? 

  Clearly specific portions of the name space can be exported while others
excluded, but that is a very high granularity thing and dependent a bit
on how people are constructing their name space. For example BaBar has file
name spaces like:

   /store/PR/R12/AllEvents/...
   /store/SPskims/R14/14.4.0d/BSemiExcl/....

so could inhibit things like "/store/SPskims/R14" (release 14 Simulation 
Production skims) or "/store/PR", but other things like individual skims are 
more complicated. [I don't know why the release, 14.4.0d, was put before
the skim name (BSemiExcl).]

  In practice, however, we've not found this necessary in BaBar. Artem, what
was the use case for this in the past?

> Disaster use cases.
> -------------------
> 
> DLB should be dynamically and remotely configured not to redirect requests to 
>   specific hosts, either forever or for specified time.

  I think this is just done by stopping the xrootd on that affected machines.
The olb can be configured not to accept requests from the manager if their
is is no xrootd running. Is that sufficient?

> Xrootd should not stop working if hpss goes down. 

  Since it was just announced that HPSS is unavailable about 10 minutes before
I got to writing these lines, we'll see how this goes. I'm not sure we've yet
really gone through an extended HPSS outage, so we'll presumably learn some
things this time.

> When new file is created, Xrootd should not check whether its in hpss or not.
> ===> In new model, files are typically combined in large files before 
>   archiving, and each job creates unique file.

  This has to do with the interaction between the "migration" part of the mass 
storage and writing via xrootd. As we don't in general write via xrootd in
BaBar it hasn't been an important issue. The details of how it work for those
who do write via xrootd will of course depend on the back end system they
are using for migration mass storage so there isn't much I can add...

> When a data host is down, xrootd should automatically avoid this host. It 
>   should report to administrator, via some messaging mechanism, 
>   that a host is down.

  I'm not sure what you meant by "avoid" here, but if a host (i.e. a data 
server) is down its olbd will not be subscribed to the manager and it will
effectively be ignored.

  As to the "reporting to the administrator" part of this use case, we 
decided to make the "alarm" mechanism external to the xrootd system. This
should be handled by something else (e.g. like alarms with Ganglia, say). 
Artem, is that sufficient?

> When a files system on a host crashes, xrootd should automatically recover. 
>   It should report, that FS is down.

  How is it supposed to recognize that there is a problem with the filesystem?

> DLB should be checking xrootd "health" of a data server and it's
>   filesystems as a part of load measure. Should report if finds something
>   wrong. Anything that prevents xrootd or dbl from doing it's job, like
>   network problems, afs troubles, should be reported.

  Again, it isn't clear to me what exactly should be monitored. Can you
give examples? 

  Artem, do you agree that this isn't the job of the xrootd system itself, but
of something like Ganglia? (Or whatever, something designed to do monitoring
and alarms of systems.) We shouldn't reinvent that wheel.

> Reporting: dbl should be able to send messages to some other application 
>   for further error handling.
> ===> Reporting error condition on timely matter is essential. It doesn't 
>   make a lot of sence to build another monitoring system, if dbl is 
>   already doing so.

  I disagree. A real (complete, full) monitoring system should be used. The
olbd (once called "dlb") does a very limited set of things as part of its
load balancing job.

> Recovery use cases:
> -------------------
> 
> Admin should be able to close file descriptor selectively or all of it.
> ===> Used for substituting files on disk, like during conditions sweeps.

  This we've not yet dealt with. Since we (currently) only serve event data
via xrootd, we have yet to deal with any "version" issues like this for files.
As you probably know, I'm ever more of the opinion that BaBar


> Admin should be able to ask Xrootd to re-stage a file from the mass storage.
> ===> In case file is corrupted.

  I think that the actual preferred solution here is that the Admin will just
remove the offending file from disk. The system itself takes care of restaging
it automatically the next time it is requested.

> Testing usecase
> ---------------
> 
> Dlb sensors should be able to simulate various load conditions on a host in 
> order to test it's functionality.

  I'm not sure how we simulate the load conditions _internal_ to the olbd in a 
way that isn't artificial in such a way that it doesn't really test anything.
What you want could however presumably be accomplished by providing dummy
scripts to the "olb.perf" directive.

  Data management use cases:

> Selection
> ---------
> 
> Admin wants to select files based on input datasets, collectons, production 
> date (+ since/before), file names, location, production stream or physics  
> group, whether file is active/close etc.

  All of this can be done via the BaBar bookkeeping. The xrootd system provides
primarily run-time data access.

  (I'm not sure what was meant by "active/close" here, though.)

> Dataset/File Operations
> ---------------
> Admin wants to do most of file operations remotely, i.e. without logging
> into to a data server.

  This requires the administrative interface, which is currently lacking. We
should just add this.

> Admin wants to list files with attributes, i.e. a,m,c- times, file size,
> full path, file permissions,
> 
> Admin wants to check whether file ison disk, in hpss.
> Admin wants to check whether file is backed up or needs back up.
> Admin wants to pre-stage a file from hpss into disk cache, with confirmation
> Admin wants to migrate a file to hpss, with confirmation.
> Admin wants to remove a file from disk cache.
> Admin wants to copy/relocate a file to another disk cache.
> Admin wants to change file permissions.
> Admin wants to pin files on disk for specified time.
> 
> Admin wants to combine some operations into one, like: migrate+remove,
> migrate+copy, stage+chmod,

  Some of the above are presumably core functions of the adminstrative
interface or of XTNetAdmin (or successor). The HPSS ones may or may not be...

> Admin wants to check file for corruption/readability.

  For this the only thing that one can do currenty is verify that the
checksum matches that in some external catalog (e.g. in the file catalog
of the BaBar bookkeeping). The only thing xrootd should do at this point
is to allow one to ask for the checksum of a file. (Something I'm supposed
to add to XTNetAdmin since some weeks...)

> Admin wants to check what "run files"(or "job files", those produced by a 
>   single job) are included in the composite file.

  I'm not sure what this means. Does it have something to do with the fact
that we merge data produced by multiple jobs? (Before it even gets to this
system.) If so, that isn't an xrootd problem, but a BaBar (production) 
bookkeeping problem.

> ? Admin wants to exclude some "atomic" files from the composite file.

  If this is "merging data during production", then it isn't an xrootd
problem. (And in fact isn't a data adminstration problem, either.)

> Monitoring
> ----------
> 
> Admin wants to analyze access patterns on disk and hpps, + trends.

  This is external to the xrootd system. When this list of use cases was
written, SLAC was missing a real monitoring system. It now has Ganglia,
which provides much of this information. Other separate discussions on
server side monitoring, client side monitoring and simple output to the 
server log files are ongoing.

> Server Pool management
> ----------------------
> 
> Admin wants to set a pool of hosts for readonly data.

  This is possible (with various granularities in the file namespace).

> Admin wants to set a pool of hosts for user's production data. This is 
> totally separate from readonly hosts.

  What you want here is possible (see last point), even if BaBar doesn't
use xrootd for writing user-produced data. (An NFS area is used instead.)

> Admin wants to dynamically add or remove a host from a readonly or write 
> pools.

  I covered this point above. For "Read" it is easy and supported. For write
it is (clearly) more complicated.

> User production
> ---------------
> 
> User produced data (reading off PR collections in analysis environment)
>   is placed on dedicated servers with writing/reading via xrootd enabled,
>   and load balancing disabled. Files are not backed up, until merged into
>   a big file.
> 
> User's generated files can be read immediately after production, but
>   since load balancing is disabled, files can not be restaged/copied to
>   another server.
> 
> When user decides to merge small files, new dataset is created, merged
>   file is archived and pruged off production host. From that time it can
>   only be accessed in the readonly pool.
> 
> Users should have a good way to manage their jobs and datasets. If a user
>   wants to make his data publicy available, he needs to make a dataset
>   in skimdata, (which will be done at the same time with a data backup,
>   i.e. atomically).
> 
> ===> needs thinking - how readonly jobs are configured to select the data 
>      servers pool?

  None of these things are an issue for xrootd as we use an NFS area for
user data output. As of a couple of months we have a means for "publishing"
users data into both the BaBar bookkeeping and transferring it to HPSS, after
which it can be read back from the xrootd data access system.

> Debugging
> ---------
> 
> Admin wants to find out what site/farm the file was generated at and when.

  This is not an xrootd issue, but a "bookkeeping" one. (But it should be
possible with the BaBar bookkeeping.)

> Admin wants to disable access to certain data sets, should it need
>   so. This means tcl files should not be generated for a user jobs. ??Other
>   ways to prevent user from accessing some data?? A la inhibit??

  This was covered above.


                                   Pete



-------------------------------------------------------------------------
Peter Elmer     E-mail: [log in to unmask]      Phone: +41 (22) 767-4644
Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
-------------------------------------------------------------------------


Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

April 2024
March 2024
February 2024
January 2024
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
December 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
July 2009
June 2009
May 2009
April 2009
March 2009
January 2009
December 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004

ATOM RSS1 RSS2



LISTSERV.SLAC.STANFORD.EDU

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager

Privacy Notice, Security Notice and Terms of Use