About 1957 a programmer at Livermore came up with the following clever scheme. I can’t imagine how he thought of this simple trick. He divided the mesh into 3 equal parts. Parts 1 and 2 were recorded on reel A which was then rewound. Part 3 was recorded on reel B which was not rewound. The calculation now commenced reading part 1 from reel A and writing onto the end of reel B. When part 1 of the array had been processed reel B was rewound and writing was switched to reel C. Part 2 of the mesh was read from reel A and written to reel C. When this was done reel B had finished rewinding and was ready to supply part 3, which was read and output went to reel C. When part 3 was finished reel C was rewound. At this point the next time step of the simulation was complete and part 1 was on the end of reel B, which had finished rewinding, while parts 2 and 3 were on reel C, which was rewinding. We now begin the next complete sweep of the mesh by reading part 1 from reel B and writing on reel A, when part 1 is done we rewind reel B and continue reading part 2 from reel C which has just finished rewinding. Part 2 is also written to reel A. When part 2 is done we rewind reel A and write part 3 to reel B. This is where we came in. We have overlapped tape rewind with the rest of the tasks with only three tape drives and reels.
« Older Bounce with me! | "Was I creating a Jungian... Newer »
This thread has been archived and is closed to new comments