Thanks for your answers, this will probably solve all my problems. And writing to a file sounds good, since I can always read it's tail and do whatever I want.
Yann On 17 sep, 22:03, John Voight <[EMAIL PROTECTED]> wrote: > Hello! > > It is a pity that Yi has moved on (at least for the moment), but it > doesn't surprise me: he's amazing and surely working on fabulous and > interesting things. > > I did and do use dsage quite extensively--it's been essential for me > in enumerating number fields. I also have access to a cluster of > computers, and instead of queuing various jobs I just run them as > dsage workers whenever there is backflow. This works really well. > > It took some debugging to get it all to work satisfactorally, and I > still don't know terribly much about what's under the hood so to > speak, but I'm happy to help. > > > 1/ Why isn't there a clear, publicized, illustrated description of how to > > use dsage ? I managed to make it work, but only after googling hard. > > +1 > > > 2/ How can I send a job to a worker that will output intermediate values ? > > I mean, say the job sent to a particular worker computes some value, and > > that it takes 100 iterations, how can I output temporary values every 10 > > iterations and have the server report those intermediate values ? > > Do you need to know those intermediate values really intermediately, > or just in the end? If it's the former, then you should probably > break up your task into computing 10 iterations and report each of > those back. If it's the latter, then just return the intermediate > values as part of the output. If you're not using them for anything, > you can always also just write to a file... > > > 3/ I noticed that workers can connect any time, really, and receive jobs > > even if they connect to the server only after the server started some > > sequence of jobs, which is cool. But I also noticed that if a worker gets > > killed, then its job gets lost. Isn't it possible for the server to check > > if a worker is alive, every once in a while, and if not requeue its job ? > > I don't know about checking workers, but this happens to me > frequently. I use the failures attribute of a job to see if it has > completed or not and requeue that way. Dead workers don't get new > jobs. > > > 4/ What is the function I can use to check which worker did what, and if > > it's alive, and what job got interrupted. > > Not sure this has been implemented. I was only ever interested in > total computing time, which you can recover from the cpu_time > attribute. What would you do with this information? > > > 5/ What test can I apply to a dsage job to see if it's finished ? Say a > > job outputs a list, and I want to plot it, can I say something like "If > > there is some output, plot it, otherwise wait." ? > > Use the get_job() function to retrieve the output and then the status > attribute ('new', 'processing', or 'completed') to check if it is > done. If you just want to wait until a job is finished, you can use > the wait function on a job--or you can also repeatedly check and use > the time.sleep() function. > > > 6/ If you have any notes, drafts, illustrating some of dsage > > functionalities, I'd be more than happy to check them out. > > You can check out the functions in > sage.rings.number_field.totallyreal_dsage; I'm not saying they're > optimal, but they (mostly) work, so might be of some inspiration. > > Let me know if I can be of any other help. > > Yours, > > John Voight > Assistant Professor of Mathematics > University of Vermont > [EMAIL PROTECTED] > [EMAIL PROTECTED]://www.cems.uvm.edu/~voight/ --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---