Nombre de Archivo: compus.txt
Fecha: 31-Aug-88 15:44 EDT
Desde: Sandy Trevor [70000,130]
Asunto: Historia PDP-10
A: Joe Dempster
Puede que esto no sea exactamente lo que tienes en mente, pero es un
resúmen bastante preciso que describe la manera en que usamos las PDP-10
en CompuServe durante los últimos 17 años. Espero que puedas servirte...
de cualquier manera, por favor manténme actualizado de tu proyecto (si
deseas hacerle cambios, si necesitas más material, házmelo saber). En
caso que decidas utilizar esto, por favor quisiera contar con la
oportunidad de editarlo un poco antes de darte una versión "final".
Considera esto una versión preliminar...
--Sandy ---
"Les decíamos 10's"
- Una Breve Historia del Cómputo de 36 bits en CompuServe -
Alexander B. Trevor 31 de Agosto de 1988
CompuServe contó con una de las instalaciones de cómputo más poderosas
en conservar hardware de 36 bits, pero obtuvo su primer PDP-10 casi por
accidente. Mientras era un estudiante graduado en el Laboratorio de
Computación Analógica Híbrida de Arizona (AHCL) en 1969, discutí con
otros dos estudiantes la idea de comenzar una compañía de cómputo de
tiempo compartido con el fin de completar nuestro título de grado. Los
tres habíamos llegado a conocer íntimamente una DEC PDP-15 en AHCL, de
modo que nos resultaba la opción de CPU obvia para nosotros. Pero mis
opciones a finales de 1969 se encontraban entre el Ejército o el Canadá
(n.de.t. se refiere a los desertores de la conscripción que se mudaban
para evitar servir en Vietnam).
Yo elegí lo primero, lo que me puso delante de una IBM 360/40 en Saigón
en lugar de una hacerlo con una PDP-15 en Tucson. Mientras tanto, mis
otros dos amigos del AHCL - el Dr. John Golz y Jeff Wilkins - se fueron
a Columbus, Ohio, donde intentaron computarizar el procesamiento de
seguros para Golden United Life Insurance, - por supuesto con una
PDP-15.
Antes que les entregaran la 15, los agentes de DEC telefonearon al Dr.
Glotz y le dijeron que "por un poquito más" podía tener una KA-10 (la
primer versión del procesador central de la DEC PDP-10). La posibilidad
de contar con todo ese poder de cómputo se le hizo irresistible. Aunque
gustaba aducir distanciarse de aquellos con persuasión de ventas, John
les "vendió" a la junta de directores la idea de invertir el dinero
extra para comprar la PDP-10 y por lo tanto disponer de poder cónmputo
sobrante que pudieran vender a través de un sistema de tiempo compartido
con acceso remoto.
Por supuesto, se trataba de un momento pésimo para entrar a este
negocio. Genereal Electric (GE), Tymshare, Cyphernetics y First Data
(por nombrar unas pocas), ya estaban bien establecidas. En todo caso, la
subsidiaria de tiempo de cómputo compartido de Golden United recibió el
nombre de "CompuServ Network, Incorporated", y comenzó a desarrollar su
primer aplicación, LIDIS (Sistema de Información de Datos de Seguros de
Vida). Tenían un KA-10 con toda las 60 kilowords de memoria, dos
unidades de disco RP02, y algunos teletipos ASR-33. La serie C del
Monitor (n.de.t era como un "shell") que estaba disponible en 1970
soportaba discos, pero eran poco más que cintas DECtapes circulares. Aún
así, CompuServ hizo funcionar a LIDIS, y con él comenzó a atraer otros
clientes.
Desde el comienzo, CompuServ intentó mejorar las ofertas estándares
ofrecidas por DEC. Un primer paso fue contratar dos de los ingenieros
que habían instalado la máquina: Bill Spellman y Tom Shelton. Tom podía
observar las luces de una KA enfermiza durante minuto y medio (la KA
tenía MUCHAS luces) y luego ser capaz de cambiar una o dos placas. Solía
arreglar la máquina al primer intento, a pesar de que lo hubiesen
levantado de la cama a las 3 AM.
El segundo paso fue mejorar el TOPS-10. Por entonces DEC incluía el
código fuente del sistema operativo con cada maquina. Lo necesitabas:
las primeras versiones de TOPS-10 no terminaban el trabajo ("job") si
alguien cortaba sin antes desloguearse. Por ello la siguiente persona
que llamaba a esa línea podía encontrarse en la sesión y el trabajo del
usuario previo, incluso con acceso a todos sus ficheros y privilegios
(infame bug conocido como "puerto fantasma"). No es necesario decir que
los clientes se enojaban bastante cuando esto ocurría, de modo que lo
arreglamos rápidamente.
Algunos de los problemas de Monitor tardaron más en hacerse aparentes.
Una mañana, los ingenieros percibieron algo extrañó en el KA-10, notaron
un bailoteo en el patrón de luces de la consola. Spellman ya estaba por
apagar la máquina, cuando Steve Wilnite lo tomó del brazo y dijo "es
solo un programita que escribí". A la mañana siguiente, desactivaron el
LIGHTS UUO (CALLI -1).
Otra motivación para modificar el sistema operativo vino de la primera
versión de la serie "D" de Monitor (la primera con un sistema de
archivado real, incluyendo los amados MFD, UFD, RIB y SAT). Resulta que
el primero Monitor "D" era incapaz de funcionar por más de una hora sin
colgarse. John Glotz permaneció tres días emparchando el Monitor "D" lo
suficientemente como para que las llamadas de nuestros clientes no
incluyeran ya amenazas de muerte.
Parece ser que me metía en estas cosas justo después de la diversión.
Llegué a Vietnam justo después de la Gran Ofensiva del Tet de 1968, y me
uní a CompuServe en 1971, justo después de la gran crisis del Monitor
"D". Aún no me es claro porqué estos dos eventos resultaron ser luego
los más importantes. En cualquier caso, para el momento en que me uní a
CompuServe - a finales de 1971 - contaban ya con dos DEC PDP-10 con
procesador KA-10, cada una de ellas adosadas a cuatro unidades de disco
RP02.
Mi primer tarea para ellas fue escribir UNSPOL (el software de cola de
impresión de DEC aún no estaba disponible). Nuestras máquinas se
trababan con los trabajos que corrían "GLOM" (una rutina que intentaba
asignar continuamente la impresora de línea). Escribíamos la mayoría de
nuestras utilidades, ya sea porque deseábamos incorporarles funciones
que no estaban incorporadas por entonces de parte de DEC, o bien porque
los equivalente de DEC no eran compatibles con nuestro Monitor, el cual
comenzaba a divergir rápidamente de la versión estándar que venía con
TOPS-10. O tal vez simplemente nos gustaba ser diferentes. Al principio
John escribió un nuevo EXECUTE capaz de emplear ficheros de comandos de
seis bits en lugar de los sietes del estándar ASCII de DEC (lo hizo para
ahorrar espacio de disco). Por supuesto, esto requirió cambiar todos los
CUSPS (Programas Comunmente Usados en el Sistema) y los compiladores.
(Por entonces, los programadores eran más baratos que los discos).
El decodificador de comandos de Monitor fue otra área donde hicimos
grandes cambios. Percibíamos a GE como nuestro principal competidor, de
modo que muchas cosas que hicimos tendieron a hacer sentir a los
ex-clientes de GE como en su casa (incluyendo el prompt "OK", un editor
con numeración de líneas incluidas en el Monitor, e hicimos que Steve
Wilhite escribiese un compilador de BASIC en Macro-10 desde cero. Por
entonces no teníamos idea que que escribir un compilador era demasiado
trabajo para un sólo programador. Afortunadamente tampoco lo sabía
Steve. Solía abandonar la habitación oscura que llambábamos "caverna",
solo para revisar un impreso del listado del código fuente, y comer un
sándwich ocasional, y repitió esto por diez meses, usando únicamente la
teletipo ASR-33 y nuestro editor FILGE. Todos amaban este BASIC, pero no
estoy seguro cuantos clientes realmente se pasaron desde GE por el.
Durante este período aprendimos a sacar lo máximo del KA; correr
comandos como MOVEI A,N(A) para sumar, aprovechando que la aritmética de
direcciones era más veloz que el sumador regular del KA.
Los dos KA-10 de CompuServ estraban conectados a front-ends 680i a
través de interfaces DA-10. El 680i era una DEC PDP-8 a la que le habían
hecho una lobotomía que la hiciera capaz de encargarse de las
comunicaciones. Los chips UART todavía no se usaban, de modo que la 680i
tenía que lidiar con los caracteres asíncronos de a un bit por vez. Una
de las desventajas de esta configuración residía en que los puertos de
comunicaiones se hallaban adosados a un solo huesped KA. Por ejemplo,
las líneas remotas de Dayton y Cleveland estaban conectadas al Sistema
1, mientras que Columbus y Detroit lo estaban al Sistema 2. ¿Qué podías
hacer si tenías un cliente con oficinas en las cuatro ciudades? Mi
segundo gran logro en CompuServ fue resolver este problema.
Claramente necesitábamos algún tipo de conmutador, de modo que un
usuario que viniese desde la 680i pudiese acceder al Host. ¿Y qué eligió
el Dr. Goltz para esta computadora switch? Por supuesto, una PDP-15. Era
una máquina de 18 bits (exactamente la mitad de largo de Word que la que
tenía la PDP-10), rápida (1 MIP) y fortuitamente, compatible con la
DA-10. Sin embargo, esta PDP-15 que yo tuve para desarrollar un switch
de comunicaiones inteligente venía con 8K de memoria y un KSR-35. Eso
era todo. No tenía almacenamiento de masa, ni siquiera una DECtape. Ya
que no confiaba en desarrollar software usando únicamente cintas de
papel perforado, decidí utilizar la PDP-10 para desarrollo. Como no
existía ensamblador cruzado para PDP-15, escribí macros para cada una de
las instrucciones de la PDP-15 y usé Macro-10 para generar el código
objeto de la PDP-15... una forma que probablemente excediése las más
delirantes fantasías de los desarrolladores del Macro-10.
En 1973 CompuServ se mudó a un nuevo edificio específico en Upper
Arlington, Ohio, y actualizó sus KA-10 a los nuevos procesadores KI-10.
Para julio de 1974, teníamos siete KIs y los usábamos no sólo como base
de creciente para nuestro negocio de cómputo de tiempo compartido, sino
para calefaccionar las oficinas en el edificio. Retiramos las unidades
de cinta RP02 y RP03 en favor de los "enormes" discos Ampex y Memorex
3330 de 200MB, conectados a través de SA-10 de Sytems Concepts. John
Glotz continuó desarrollando su sistema operativo (ahora denominado
Monitor "E") que incluía un asignador temporal de clase.
Para 1976 se presentaron más problemas graves. DEC había lanzado el
procesador KL-10 para la PDP-10, pero parecía propenso a sobrecalentarse
(ECL no generaba mucho calor). El Dr. Goltz sintió que necesitabamos un
procesador mas rápido, pero el KL no era adecuado. Estudiamos el F1 de
Foonly, pero la fábrica no se sentía realmente confiada de su capacidad
para fabricar estos prototipos realmente. De este modo, aprovechando dos
de nuestros mejores ingenieros, Doug Chinnock y Wilson Mowbray, John
Glotz estableció un centro de Investigación y Desarrollo en Tucson,
Arizona, que fuese capaz de construir un ordenador de 36 bits superior.
Transcurridos 18 meses, contaba con varias plaquetas grandes, el
microcódigo que circunvalaba todas las patentes de DEC, pero aún se
hallaba a un buen año de distancia de tener una máquina de producción. A
Jeff Wilinks se le estaba acabando el entusiasmo (y el dinero) para el
proyecto, y observó que DEC realmente ya había resuelto el problema de
calor de la KL-10 con su configuración DEC-System 20. No solo eso, sino
que el precio de la 2050 [n.de.t una de las configuraciones comerciales
de la PDP-10] era al menos 100.000 dólares inferior a la de la 1090
[n.de.t otra de las config]. La memoria interna y los dispositivos en la
RH20 parecían no sólo más eficientes, sino que nos salvaban de tener que
agregar barridos de caché a nuestro Monitor. Si podíamos correr nuestro
sistema operativo en esta máquina, tendría más sentido que terminar
nuestro procesador "JRG-1".
Luego de realizar varios viajes a Marlborough, logré que DEC estuviese
de acuerdo con vendernos la DECSYSTEM-20 con licencias de TOPS-10 y
DX-20. Las licencias eliminaban cualquier problema sobre ejecutar
cualquiera de las utilidades de TOPS-10, y el DX-20 nos dejaba conectar
la KL-10 naranja a nuestra conjunto de cintas STC. Nuestra primer 2050
funcionó de maravillas, y así el proyecto de clon JRG-1 terminó siendo
cancelado. Lamentablemente, no mucho después del Dr. Goltz dejó
CompuServe.
Habíamos estado comprando memoria Ampex ARM-10 para las KI-10 por años,
de modo que les pedimos si nos la podían hacer para la DECSYSTEM-20. A
pesar de las advertencias de los ingenieros DEC que el S-bus no podía
soportar una caja de memoria física externa "de ninguna manera", Jay
Canel de Ampex se apersonó en CompuServe con una caja de memorias
ARM-20, la conectó a nuestra 2050, hizo un ajuste de sincronización, y
la vimos funcionar durante los siguientes seis meses sin tener que
apagar el sistema y sin una falla.
Nuestra siguiente mejora de la 2050 fue diseñar una interfaz de canal.
Como el bus Massbns era patentado y DEC no otorgaba licencias,
construimos directamente los "buses C y E". Nuestro MBX-20 nos dejaba
conectar discos SMD de 300MB a la PDP-10 DECSYSTEM-20 2050 usando un
controlador Telefile, en lugar de quedar limitados a las unidades de
disco RP06 de 200MB (lo único que nos ofrecía por entonces DEC).
Para 1978 teníamos dos centros de cómputo, el de Arlington repleto de
PDP-10 con KI-10s, y uno en Dublin, Ohio lleno de PDP-10 DECSYSTEM-20
modelo 2050. No estabamos preparados aún para abandonar los KIs, pero
queríamos obtener más caballos de fuerza de ellos. Wilson Mowbray diseñó
un hardware de memoria caché para la KI que nos proporcionaba una mejora
del 30% en su velocidad. Mas tarde Wilson diseñó una fuente regulada de
potencia conmutada para la KL-10 que redujo a la mitad el consumo de
energía eléctrica de estas máquinas. Roseann Giordano quedó tan
impresionado que nos mandó varios ingenieros de la DEC para que le
echaran un vistazo. Les terminó gustando, pero la KL se econtraba ya muy
cerca del final de su ciclo productivo como para que DEC se abocara a
introducirle modificaciones en ese momento, incluso aunque les ofrecimos
darles el diseño.
Para 1980 muchas de las tareas anteriormente realizadas por los sistemas
remotos de tiempo compartido comenzaron a ser asumidas por las PC.
Muchos de los viejos competidores del rubro (Cyphernetics, First Data,
On-Line Systems) ya habían sido comprados o desaparecieron. CompuServe
(a la cual para este momento le habían agregado la "e" final) se
adquirió a sí misma en 1980 por H&R Block. Block sabiamente dejó que
CompuServe continuara con sus planes (incluyendo sacar servicios para
usuarios de PC modelado en base a los servicios de "videotexto"
europeos). Este, desarrollado casi clandestinamente poco después de la
adquisición por Block, recibió el nombre de "schlock timesharing" por el
plantel de ventas "profesional" de tiempo de cómputo compartido.
Inicialmente se lanzó como "MicroNet", y mas tarde recibió la
designación de "Servicio de Información CompuServe". Para 1987 este hizo
crecer las ganancias de CompuServe en un 50%, toda vez que el tiempo de
cómputo compartido evolucionaba rapidamente hacia los servicios de bases
de datos, correo electrónico, y videotexto comercial.
Al proveer Block el respaldo financiero, CompuServer entró por si mismo
en el negocio de las adquisiciones. La primer compra fue Software House
(los autores de los sistemas DBMS 1022 y 1032). Mientras solidificaba
nuestra posición en el mundo de las PDP-10 con la 1022, también dimos el
primer paso en el mundo de las DEC VAX con la 1032.
Hubo cierta presión desde varios sectores para "actualizar" nuestro
hardware reemplazándolo por algo más moderno (como VAXes, por ejemplo).
Sin embargo, para 1986 las KL costaban menos de 20.000 dólares, y
contábamos ya con nuestra propia versión de Monitor y la mayoría del
software del sistema (excepto LINK-10 y BLISS-36), a la vez que nos
veíamos capacies de utilizar tecnologías de unidades de disco actuales,
y teníamos mas de 100 años-hombre invertidas en software de aplicación
escrito en XF4 (nuestro propio FORTRAN extendido de base 10), y
Bliss-36.... De este modo, ¿cómo podíamos justificar un cambio a no ser
que apareciesen nuevas CPUs de 36 bits? Para asegurarnos de que eso no
sucediera, ordenamos un System Concepts SC-30 de Mike Levitt. Arribó a
finales de 1987 (un poco atrasada), pero llegó y fue capaz de correr
nuestro sistema operativo sin más que los típicos bugs de microcódigo
que podrían esperarse del caso y corregirse (usábamos paginado TOPS-10,
que la Systems Concepts no tenía evaluado aún). Funcionó lo
suficientemente bien como para que nos ordenásemos un total de 10 SC-30
- cuatro de las cuales corrían como he descrito: las restantes fueron
entregadas al año siguiente. Las venerables KIs (la última de las
máquinas con "mentalidad de luces") fueron desfasadas para dar lugar a
las SC-30... (y si... a algunas VAX 8550 que se nos pegaron también,
para algunas aplicaciones nuevas que venían escritas para las VAX).
Incluso hoy se diseñan nuevas interfases tanto para las KLs y las SC-30
para dar soporte a discos modernos mucho más velocides, almacenamiento
óptico, y nuevos dispositivos de archivado. El desarrollo de
aplicaciones en Bliss-36 y XF4 puede continuarse. En CompuServe, al
menos, el cómputo de 36 bits tiene un futuro brillante.