Back to the main page.
Bug 1145 - Global variable remains in memory of a peer in the qsub job distribution system
Status | VERIFIED FIXED |
Reported | 2011-11-11 15:35:00 +0100 |
Modified | 2011-11-23 11:57:13 +0100 |
Product: | FieldTrip |
Component: | qsub |
Version: | unspecified |
Hardware: | PC |
Operating System: | Windows |
Importance: | P3 normal |
Assigned to: | Robert Oostenveld |
URL: | |
Tags: | |
Depends on: | |
Blocks: | |
See also: |
Arjen Stolk - 2011-11-11 15:35:13 +0100
According to Inge: If you start a series of jobs in which the mfile (sent along) contains a global variable, then that variable is still in memory of the respective peer mentats when sending a next batch of jobs. Even when you send a new input for that specific gobal variable, the global variable is not updated.
Robert Oostenveld - 2011-11-22 13:09:36 +0100
there is a getglobal function in qsub/private, which does the following ---- persistent previous_list previous_varout list = whos('global'); if isequal(list, previous_list) var = previous_varout; return; end ---- so if the variable *names* don't change, it returns the same variable *values*. That is incorrect, because with identical names the value can still become different over subsequent calls. The persistent variable was implemented for speed reasons, but apparently cannot work this way. I have fixed it in my local copy, but cannot commit because I am traveling. I'll commit the fixed version later.
Robert Oostenveld - 2011-11-23 06:16:29 +0100
ip212-238-43-102> svn commit qsub/private/getglobal.m Sending qsub/private/getglobal.m Transmitting file data . Committed revision 4786.
Arjen Stolk - 2011-11-23 08:03:50 +0100
Thanks! Hope you had a nice flight. (In reply to comment #2)