Hi, Dan! Perhaps I am late with a comment, but it seems you could get away with just adding L-Store/IBP plug-in to ROOT itself, and open files in a native mode of your storage. Which will be presumably more efficient than streaming a data first to xrootd then to a client. ROOT can already talk many protocols, not just root. artem. On Thu, 19 Oct 2006, Daniel Engh wrote: > > On Oct 19, 2006, at 10:09 AM, Pavel Jakl wrote: > > > Hi guys, > > > > I am not sure that this is what Dan is trying to find. He would > > like to integrate his IBP into xrootd, not xrootd into IBP. What I > > understand from his email is to have a > yes IBP into xrootd > > IBP as a underlying file system. I am not quite sure, why he is > > trying to do it ? If he would like to take an advantage of the load > > balancing, aggregation or something else, what is done in xrootd in > > very efficient way. > > Dan, can you tell us what are your expectations from it ? > > > IBP with L-Store promises convenient and efficient access to large > amounts of distributed storage: > L-Store/IBP provides the option for replacing local disks with > efficient networking. > if interested check out: http://www.lstore.org/mwiki/index.php/ > Main_Page > > we are looking at hosting CMS data on distributed IBP depots and we > would like to provide a service > so root users can stream data directly from IBP into an interactive > root session. > > ibp load balancing or similar network-usage optimization will > eventuallly be handled by the l-store layer, so xrootd+ibp+lors/lstore > is only being used (initially) as a point to gather ibp data and > serve it via protocols root can understand. > > the other SRM work may also be a separate pathway for connecting root > to ibp and we'll look into other things as well > my understanding is that currently these SRM interface projects are > not yet ready for testing, or are just becoming available. > > thanks, > Dan > > > There was a recent work of integrating Berkeley SRM (at this time, > > just HRM) as a backend storage and I think, this what he would like > > to see. Client has posix functions, but server not or I am not > > sure about them. > > You can take a look at Andy's recent presentation at CERN of > > integrating SRM into xrootd. There are slides explaining what you > > need to do, what to extend etc. > > > > http://indico.cern.ch/materialDisplay.py? > > contribId=s0t1&sessionId=s0&materialId=0&confId=a062357 > > > > In other words, you would like to extend server's side oss layer > > and instead of file system calls, call your IBP io commands. > > You cannot see the Berkeley SRM work on the latest version of > > server which is available at the website. > > > > As I said, I am not sure that this is what you are trying to do. > > So, maybe, I am totally out of topic :-) > > > > Cheers > > Pavel > > > > > > Fabrizio Furano wrote: > >> Hi, > >> > >> what JY says is correct, the only thing I want to add is that, > >> since you are writing C/C++ code (it seems) you may directly use > >> xrdclient, avoiding the posix wrappers which are built on it. Just > >> have a look at XrdClient.hh for the public interface. > >> > >> Fabrizio > >> > >> > >> Jean-Yves Nief wrote: > >>> hello Dan, > >>> > >>> Daniel Engh wrote: > >>>> Hi, > >>>> > >>>> I am from Vanderbilt University trying to hook up the Vanderbilt/ > >>>> UT-Knoxville L-Store/IBP storage backend to xrootd. > >>>> > >>>> basically IBP is a bit-torrent like distributed data-storage > >>>> system, LORS adds some file-system functionality analogous to > >>>> inodes, and the new Vanderbilt L-Store is an SRM complient meta- > >>>> data layer on top of IBP. > >>>> > >>>> I have been playing with the latest development version of > >>>> xrootd downloadable from the web: > >>>> xrootd-20060523-1741.src.tgz > >>>> > >>>> I initially want to do a very simple file streaming test of a > >>>> root file on ibp. I'm not an expert on posix i/o but I think I > >>>> need only > >>>> use my posix-complient methods: > >>>> int fd = xio_open(my_uri, O_RDONLY); > >>>> and > >>>> xio_read(fd, buffer, bufsize) > >>>> > >>>> I need then 2 things from xrootd: > >>>> 1. location of the posix i/o calls I should modify > >>>> ie. where is an xrootd posix open() call I can replace with > >>>> xio_open() > >>>> ie. and then and xrootd posix read() call I can replace with > >>>> xio_read() > >>>> 2. how do I launch xrootd to use my modified xrootd module > >>>> 3. how do I use root to call this xrootd/ibp streamed file. > >>>> > >>>> I've tested my lors/ibp libs with a simple c++ Hello IBP-world > >>>> program. > >>>> And I can compile IBP libs into xrootd and get things like an > >>>> xrootd init() call > >>>> to call xio_open() xio_read() and print out a hello-ibp message. > >>> on the client side, the Xrootd POSIX functions are for example: > >>> XrdPosix_Open, XrdPosix_Lseek, XrdPosix_Read etc... > >>> don't forget to include: > >>> XrdPosix/XrdPosix.hh > >>> you might take a look at the XrdPosix package in any case > >>> (README, etc...). You will find instructions on how to build the > >>> file URL in order to open it through xrootd, compile etc... If > >>> you wish, I can send you some sample code to use the posix > >>> clients + the make file. > >>> one other possibility (providing you are using the regular unix > >>> calls: open, read, write, but that is not your case at the > >>> moment) is to use the preload library. In that case, you can talk > >>> to a xrootd server without changing any single line of code (and > >>> without recompiling): the unix calls are redirected to the > >>> xrootd calls. It is a pretty nice feature, we have an experiment > >>> which is using it here (it has some little disadvantages). > >>> hope this help, > >>> JY > >>>> > >>>> Now I just need the correct place in xrootd to put in my ibp io > >>>> commands. > >>>> > >>>> Eventually I'd like to make xrootd recognize a couple of > >>>> protocols named: > >>>> lors:// and lstore:// but for now I can masquerade as some > >>>> other protocol > >>>> and just set up an xrootd service that is hard-coded to only > >>>> look into its IBP setup. > >>>> > >>>> thanks for any suggestions on how to get the latest code and > >>>> trying some things out, > >>>> Dan > >>>> > > > >