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.