-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problems with optimised maxima in the pool #24
Comments
Based on those random parameter names you have in your description I am not even sure which version you are using. 'process.started' is not used in the same version as 'maxima.ready.for.use', but if 'command.line' works you are most likely using the current multiple-pools branch. But some details:
Based on what little I have understood about the situation, use that 'max_v3' with the following parameters, in addition to the others, just place these to the end of the process.conf file or replace existing ones:
I have no idea what this means:
Also if you are using version 2016122100 of STACK you really should upgrade, a new version should be released very soon and a big version bump is coming, there is an security issue although using MaximaPool does mitigate that issue. |
Hello Matti Harjula,
thx for your response. I think I made the next step :-)
Von: Matti Harjula [mailto:[email protected]]
Gesendet: Donnerstag, 29. Juni 2017 15:35
An: maths/stack_util_maximapool
Cc: ggschmidt; Author
Betreff: Re: [maths/stack_util_maximapool] Problems with optimised maxima in the pool (#24)
Based on those random parameter names you have in your description I am not even sure which version you are using. 'process.started' is not used in the same version as 'maxima.ready.for.use', but if 'command.line' works you are most likely using the current multiple-pools branch.
I must admit that during trail an error I mixed the versions. The reason is: I want to use the new Maximapool (download from github two weeks ago) with the stack-maxima for 2014 that is still the base for the Ilias-Stack-Plugin.
(we ilias-stack maintainer had a few questions from people, who want do use the maxima-pool from github with Ilias-stack)
So it is clear that #maxima.ready.for.use = (%i5) / #maxima.ready.for.use = Maxima restarted. / #maxima.ready.for.load = (%i1) had no effect and I have no idea what it they are doing.
I have also a multiple pool with stack-maxima from 2014/2016/2016 with normal maxima and everything is ok with the health tests on Ubuntu.
Now I inserted process.started = (%i5) to my process.conf, but I also need these strings uncommented.
# A file to load to maxima using load(""); set to false or empty if not needed
extra.file = /var/lib/maximapool/2016122100/maximalocal.mac
# The process has loaded when this appears.
process.ready = /var/lib/maximapool/2016122100/maximalocal.mac
If not, I get a timeout as before. In my opinion, in the optimised image these file should be already loaded and should not be necessary anymore ??
So far I tested with the health checks and the evaluate. Not with the Ilias-Plugin.
In the evaluate part, if I type
ATAlgEquiv(x^2-1,(x-1)*(x+1));
I get
Maxima restarted.
(%i5)
(%o5) "/var/lib/maximapool/2016122100/maximalocal.mac"
(%i6)
(%o9) [true,true,"",""]
(%i10)
(%o10)
Now I have to test, if this (%o5) line will lead to a problem with the plugin??
So this was the last question I ask for help, if I need to get rid of %o5.
One reason, why I had problems with the config process.conf file was:
If I comment out
#process.started
the pool waits for (%i1)
so this process.conf works with the normal maxima, but not with the “optimised-version”.
Thanks a lot for your help.
gerd
But some details:
1. The pool does not care about the number in '(%i1)' it matches the whole string in the cases of the parameters process.started and process.ready. The pool does not care if you are running Maxima or any other tool so it just looks for raw strings from the streams.
2. The 'Maxima restarted.' comes from the restoring of the image, it should be normal. It is what we expect from the output, but for clarity we should use the '(%i5)' that follows it as the signal for deciding when the process has started.
Based on what little I have understood about the situation, use that 'max_v3' with the following parameters, in addition to the others, just place these to the end of the process.conf file or replace existing ones:
# This comes out when the process has started. And ready to receive the optional load command.
process.started = (%i5)
# If you want to load something in you can do so by giving the argument to the load command here, but then you must make sure that process.ready matches... uncomment these if you wish, but it should work even without these.
# extra.file = "/var/lib/maximapool/2016122100/maximalocal.mac"
# process.ready = (%i6)
# If you do not uncomment those you need to comment all lines declaring those from the file.
command.line = max_v3
I have no idea what this means:
But for example I can not unterstand the meaning of these lines following
e.g. is %ix replaced with the output of maxima, compared, simply written?
In the normal maxima I can write nonsens like xxx or yyy and it works. They seem to be without any effect.
Also if you are using version 2016122100 of STACK you really should upgrade, a new version should be released very soon and a big version bump is coming, there is an security issue although using MaximaPool does mitigate that issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#24 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AQRhegrt4udnCAC_2fl3rYFtadQcQW1Qks5sI6gJgaJpZM4OJOL7>. <https://github.com/notifications/beacon/AQRhevrh6QHStFgw6ISbaAZkWh28fntvks5sI6gJgaJpZM4OJOL7.gif>
|
No the STACK code does not care about the number in that prompt. It can be anything you want and it often changes due to variations in the libraries and other stuff loaded, in your case the number changes because the load statements you use in in creation of the image end with
Sorry, I forgot the order of logic for those configs... this is how the logic of starting processes works, so if you want to not have any files loaded you can do it like this:
|
Hello
I can not solve my problems with optimised-maxima
I build an optimised maxima-image with
without error messages (installed gcc before)
The maxima-image is four time-sized to the normal one
(on ubuntu and also on debain, as there is a unsolved problem with loading stats-modul on ubuntu 16.04 and 17.04)
actual I talk about Debain (using also gcl for maxima)
I can start maxima with
/usr/lib/..../maxima -eval '(cl-user::run)'
but then I get the response
Warning :argument a not recognized
I can not get rid of (as in another thread here).
After that maxima or opimised maxima work correct. In optimised I can evaluate
ATAlgEquiv(x^2-1,(x-1)*(x+1)); so stack-modules are loaded.
But I am not sure if the pool takes care about this first-line message (finally it does not work), so I start maxima and maxima_opimised with the script located in /usr/bin/
I modified the script, so I am able to start maxima or the optimised image.
when I use
su tomcat8
I can start via script the maxima-optimised an then evaluate
I get
Maxima restarted.
an then the prompt
(%i5) (does the pool care about the number??)
load("/var/lib/maximapool/2016122100/maximalocal.mac"); --> is ok (even this is not necessary anymore as it is already loaded in the image)
1+1; --> is ok
concat("--COMPLETED--k","ill--PROCESS--"); --> is ok
ATAlgEquiv(x^2-1,(x-1)*(x+1)); --> is ok, stack modules are loaded
everything seems as with "normal maxima" (stack loaded via localmac)
But when I do this via the Maxima-Pool Health test
Executing command-line: max_v3 (this is the version loading otpimised image)
Waiting for target text: '(%i1)'
Maxima restarted. (where does this come from?)
(%i5)
Timeout!
When I start the normal image everything is ok. (both health test, evaluating strings etc.)
###############
To solve my problems I really tried a lot.
But for example I can not unterstand the meaning of these lines following
e.g. is %ix replaced with the output of maxima, compared, simply written?
In the normal maxima I can write nonsens like xxx or yyy and it works. They seem to be without any effect.
Input the load command after this, if defined.
#process.started = Maxima restarted.
#maxima.ready.for.use = (%i5)
maxima.ready.for.use = Maxima restarted.
#maxima.ready.for.load = (%i1)
The process has loaded when this appears. On old versions of STACK use the fi$
#maxima.ready.for.use = Stack-Maxima started
#maxima.ready.for.use = STACK-Maxima started
#maxima.ready.for.load = xxxx
#maxima.ready.for.use = yyyy
Here some command lines I tried.
I could not find good answer for
Warning :argument a not recognized
As all google for maxima start options/command line ... ends in Maxima interactive documentation.
#command.line = /var/lib/maximapool/%%VERSION%%/maxima-optimised
#command.line = /var/lib/maximapool/2016122100/maxima
#command.line = /var/lib/max_opti/max_optimised -eval '(cl-user::run)' -f -- "$@"
#command.line = /var/lib/max_opti/max_optimised -eval '(cl-user::run)'
#command.line = /usr/lib/maxima/5.38.1/binary-gcl/maxima -eval '(cl-user::run)'
command.line = max_v3
Thanks for any help
The text was updated successfully, but these errors were encountered: