On Wed, Oct 14, 2009 at 4:55 AM, Thierry Dumont <tdum...@math.univ-lyon1.fr> wrote: > William Stein a écrit : >> Hi, >> >> Nearly two weeks ago I had the notebook stabilized and all known new >> bugs fixed (after separating it off from sage as a separate program >> and rewriting the expect stuff). But I realized that it would be a >> total nightmare to introduce yet another sobj ("sage object") storage >> format, which would make refactoring code extremely painful, and just >> have to be changed again. So, I created an "abstract storage layer" >> and implemented an storage system for *everything* in the Sage >> notebook which doesn't use any special Sage-related pickles. Some >> data is stored as pickled basic Python objects that can be read from >> any version of Python with or without Sage installed, but that is it. >> Rewriting the notebook to use an abstract storage layer is the sort >> of thing that at first seems like it will take a day, but then takes >> more than a week. Anyway, I did it. However, it's hard to imagine >> that I didn't introduce numerous new bugs in the process, though I do >> not know of any bugs at all. >> >> > > Hi, > > Good... I have two questions, one about this new notebook, and one about > the current notebook. > > 1) If we have an abstract storage layer, this should mean that we could > possibly store everything somewhere else, for example in a database on > an other virtual or physical machine. Yes? No? Then would this database > be shareable among different instances of Sage running on different > machines? I mean by this: the same user could connect on different sage > servers and find/create/manipulate the same objects (worksheets)?
There is an abstract storage layer through which all storage requests go. It has a well defined interface. There is currently *one* implementation of it, which requires the local filesystem. However, it could definitely be the case that we write another implementation that uses a client/server architecture like you describe above. > 2) With the current notebook. I tried the following experience: I have 2 > machines (actually 3). On these machines there are unix users sage1, > sage2, ..., sage3...,sagen, with the same uid and same gid on both > machines. The home directories are shared by nfs. On machine 1, n/2 > instances of sage run belonging to sage1,....sage_n/2, and on machine 2 > there run instances of sage belonging to sage{n/2+1},.... sagen. > A hash of the user name associates the individual users with one unix > account and only one. Now suppose I want to stop machine 2. I launch > instances of sage belonging to sage{n/2+1},.... sagen on machine 1. I > recall that the home directory is the same for user sageX on machine 1 > and 2. *BUT* now when I connect has user sagen on machine 1 (sagen > usually runs on machine 2), I cannot see the worksheets created on > machine 1. Can you explain me this? What do you mean by "the current notebook"? william > > Yours, very sincerely > > t.d. > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---