Articles

Co-op program

Northwestern's engineering students had the option of having choosing experience in industry in one or two quarter spans. This resulted in a five year program, but had the benefit of real-world experience along with having some income to defray university expenses. I obtained a position at IBM in Portland Oregon. I was assigned to a project at Bonnevile Power Administration.

Bonneville Power Administration, Portland Oregon

While my very first project with Dr. Van Ness feedback control system stability analysis, my next project was part of building a control and monitoring system.

I flew to Portland with the name of the person I was to work with and a pocket full of dimes. The plan was to land a place to stay by nightfall.

IBM 1800

The 1800 was a process control computer with capabilities of interfacing with all manner of hardware. Other uses of the 1800 included an aluminum refining plant in the area. There were stories about the requirement for uninterrupted power. Consider what might happen if the lights went out to the aluminum refining pots. Previous incidents of power outages to aluminum smelting operations required hiring of college age folks to jackhammer the solidified aluminum out of the pots.

At the instruction level, the 1800 and the 1130 were the same. The 1130 was targeted at business applications.

Midnight shift

Since computer time in those days was limited, we worked in shifts. I got the 2 am till noon shift. Since I was staying not that far away, I walked to the headquarters. The path I walked went right behind a bakery, which of course at that hour was firing up, emitting delicious smells. The downside of this schedule was going home in a different world than going to work.

The task

IBM was helping Bonneville Power Administration build a prototype control system to measure a limited part of their control system. If successful, they would expand the effort, possibly leading to control. I'm sure that things have evolved significantly since this project was started in 1967.

The task I was given was to write a program to prevent normal user programs from executing any I/O instructions. This was made a bit difficult as there were no protection mechanisms of any sort in the IBM 1800 hardware. Thus, each potential instruction was analyzed to determine if it was an I/O instruction. If so, the user program would be kicked off.

10:1

As often happens in the industry, the requirements for the system heavily influenced by the sales team. The customer asked this checking process should not slow the user program by more than a factor of 10. Our modern reflexes recoil at many aspects of this detection scheme. There was some technical resistance to this idea, but the sale had to go forward. The other question that was certainly on my mind is what was the feasibility of slowing down user programs by a factor of ten. We are talking about a computer that has instruction cycle times measured in milliseconds. Certainly not as much thought was given to how a bypass of this monitor program might be prevented as we would today.

The end result was perhaps 11.5::1.

Patching the operating system

One of my vivid memories was the sight of a Systems Engineer patching the operating system through the front panel toggle switches. Before the end of my stint there, I had also mastered this black art.

End result

My term ended before the project completed. Years later, I learned that the project did not end well. We met someone from another computer vendor and stories about the personalities were the same. It wasn't clear that the new vendor completed the project satisfactorily.

Recent entries