Hi Artem, We will look into your suggestion as well. One advantage using xrootd for now is that I set up a custom xrootd/ ibp server that any root client can use, with no configuration from the user. This may just be a temporary demo until root speaks SRM, then maybe root can directly read from any SRM server. At this point, its still a demonstration and learning exercise, so we will look into a root plugin solution as well. Thanks, Dan On Oct 24, 2006, at 3:16 AM, Artem Trunov wrote: > 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 >>>>>> >>> >> >>