> On Jun 22, 2016, at 7:15 PM, Chuck Guzis <[email protected]> wrote:
>
> ...
>> Could you roll them back in by just re-populating memory with the
>> dump and hooking back to whatever the equivalent of PC and EIP were
>> on that system and re-launching the job?
>
> The rolled-out job didn't lose its files or place in the running job
> queue; it just got represented by a placeholder bit of memory (usually
> the exchange package) and then read back in when its turn came up.
Slightly different. A rolled out job was a file, containing the whole job
state, including stuff like currently attached files, memory content, exchange
package (program registers). Like any other "local file" it would show up in
memory as an entry in the file table -- just 2 60-bit words if I remember
right. When selected by one of the scheduler components to be run again, it
would be assigned a control point, memory, rolled back in, and execution
resumed.
Jobs could also be moved in memory without being rolled out; this could happen
if they or some other job changed memory size, forcing something to move to
make room. PPU programs would have to watch out for that to happen and "pause
for storage relocation". Getting that wrong was a great way to wedge the OS;
I've got that t-shirt...
paul