Hubbry Logo
UNICOSUNICOSMain
Open search
UNICOS
Community hub
UNICOS
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
UNICOS
UNICOS
from Wikipedia
UNICOS
DeveloperCray Research
Written inAssembly, C
OS familyUnix and Linux
Working stateDiscontinued
Source modelClosed source and Open source
Initial release1984; 41 years ago (1984)
Marketing targetSupercomputers
Available inEnglish
Supported platformsMonolithic kernel: Cray-1, 2, X-MP, X1, XT3, XT4, XT5
Microkernel: Y-MP, C90, T3D, T3E
Kernel typeMonolithic (some)
Microkernel (some)
Default
user interface
Command line interface
LicenseProprietary
Preceded byCX-OS
Cray Operating System (COS)
Succeeded byCray Linux Environment
Official websitewww.cray.com

UNICOS is a range of Unix and later Linux operating system (OS) variants developed by Cray for its supercomputers. UNICOS is the successor of the Cray Operating System (COS). It provides network clustering and source code compatibility layers for some other Unixes. UNICOS was originally introduced in 1985 with the Cray-2 system and later ported to other Cray models. The original UNICOS was based on UNIX System V Release 2, and had many Berkeley Software Distribution (BSD) features (e.g., computer networking and file system enhancements) added to it.

Development

[edit]

CX-OS was the original name given to what is now UNICOS. This was a prototype system which ran on a Cray X-MP in 1984 before the Cray-2 port. It was used to demonstrate the feasibility of using Unix on a supercomputer system, before Cray-2 hardware was available.

The operating system revamp was part of a larger movement inside Cray Research to modernize their corporate software: including rewriting their most important Fortran compiler (cft to cft77) in a higher-level language (Pascal) with more modern optimizations and vectorizations.

As a migration path for existing COS customers wishing to transition to UNICOS, a Guest Operating System (GOS) capability was introduced into COS. The only guest OS that was ever supported was UNICOS. A COS batch job would be submitted to start up UNICOS, which would then run as a subsystem under COS, using a subset of the systems CPUs, memory, and peripheral devices. The UNICOS that ran under GOS was exactly the same as when it ran stand-alone: the difference was that the kernel would make certain low-level hardware requests through the COS GOS hook, rather than directly to the hardware.

One of the sites that ran very early versions of UNICOS was Bell Labs, where Unix pioneers including Dennis Ritchie ported parts of their Eighth Edition Unix (including STREAMS input/output (I/O)) to UNICOS. They also experimented with a guest facility within UNICOS, allowing the stand-alone version of the OS to host itself.

Releases

[edit]

Cray released several different OSs under the name UNICOS, including:

  1. UNICOS: the original Cray Unix, based on System V. Used on the Cray-1, Cray-2, X-MP, Y-MP, C90, etc.
  2. UNICOS MAX: a Mach-based microkernel used on the T3D's processing elements, together with UNICOS on the host Y-MP or C90 system.
  3. UNICOS/mk: a serverized version of UNICOS using the Chorus microkernel to make a distributed operating system. Used on the T3E. This was the last Cray OS really based on UNICOS sources, as the following products were based on different sources and simply used the "UNICOS" name.
  4. UNICOS/mp: not derived from UNICOS, but based on IRIX 6.5. Used on the X1.
  5. UNICOS/lc: not derived from UNICOS, but based on SUSE Linux. Used on the XT3, XT4 and XT5. UNICOS/lc 1.x comprises a combination of
    1. the compute elements run the Catamount microkernel (which itself is based on Cougaar)
    2. the service elements run SUSE Linux
  6. Cray Linux Environment (CLE): from release 2.1 onward, UNICOS/lc is now called Cray Linux Environment
    1. the compute elements run Compute Node Linux (CNL) (which is a customized Linux kernel[1])
    2. the service elements run SUSE Linux Enterprise Server

See also

[edit]

References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
UNICOS is a family of proprietary Unix-based operating systems developed by Cray Research (later Cray Inc.) specifically for their high-performance supercomputers, succeeding the earlier (COS) and introducing the first 64-bit implementation of Unix to support vector processing and massive parallelism. Originally released in 1985 and derived primarily from AT&T's with influences from the Fourth Berkeley Software Distribution (4BSD), UNICOS provided a scalable, multi-user environment optimized for scientific computing workloads, including multi-threading, multitasking, and compliance. It supported (SMP) on up to 32 processors or more, high-performance I/O subsystems capable of handling file systems up to 8 terabytes, and features like the Network Queuing Environment (NQE) for batch job management and (MLS) for protected environments. The system evolved through several variants to address advancing hardware architectures: UNICOS itself powered iconic machines like the , X-MP, Y-MP, and C90 from the to ; UNICOS MAX used a for systems like the T3D; UNICOS/mk employed a Chorus for the T3E; UNICOS/mp was based on SGI's 6.5 kernel for the X1 series; and UNICOS/lc transitioned to a SUSE Linux foundation for the XT3, XT4, and XT5, incorporating a for compute nodes. Major releases spanned from UNICOS 1.0 in 1986 to version 10.0.0.8 around 2000, with the /mp and /lc lines continuing into the mid-2000s until succeeded by the Cray Linux Environment (CLE) starting with version 2.1. UNICOS's design emphasized low I/O latency, , and resource accounting, making it essential for supercomputing applications in fields like weather modeling, nuclear simulations, and , while its CLI-based interface and extensions for Cray-specific hardware ensured compatibility across generations of vector and processors.

History

Origins

The (COS), introduced in 1976 with the , served as the initial non-Unix baseline for Cray Research's vector processing machines, including early systems delivered starting in 1982. COS was a proprietary, batch-oriented operating system designed for workloads, emphasizing efficient job scheduling and without Unix compatibility, which limited its appeal for multi-user and networked environments. In 1984, Cray Research initiated development of CX-OS, the precursor to UNICOS, as a Unix-compatible operating system to address these limitations and support growing demands for standard on supercomputers. CX-OS was first deployed as a guest operating system under COS on the , running in a dedicated memory partition to enable functionality without disrupting the primary batch environment; this prototype allowed initial testing of Unix ports on the X-MP hardware. The system originated from efforts to adapt Unix for vector architectures, marking Cray's shift toward a more open, standards-based OS ecosystem. UNICOS, the renamed and fully evolved version of CX-OS, was introduced in 1985 alongside the supercomputer launch, becoming the primary operating system for subsequent Cray platforms. It was derived from 's Release 2, incorporating elements from the (4BSD) to enhance networking, file systems, and multi-user support tailored for supercomputing. Early experimentation occurred at Bell Laboratories, where a /24 was installed in November 1985 and ran UNICOS starting in early 1986, enabling Unix pioneers like Dennis M. Ritchie to port and test components from earlier Unix editions on Cray hardware. This deployment solidified UNICOS as a bridge between traditional supercomputer OSes and the Unix paradigm.

Development Phases

Following its initial introduction in 1986 as UNICOS 1.0 (initially known as CX-OS), a Unix derivative developed for the to replace the older COS operating system due to lower development and maintenance costs, UNICOS underwent significant expansions to support evolving Cray architectures. By 1988, UNICOS was adapted for the , incorporating enhancements for the system's multiple vector processors and improved I/O via the Model-E , enabling scalable on configurations with up to eight CPUs. This adaptation maintained binary compatibility with prior systems while optimizing for the Y-MP's 6 ns clock cycle and air-cooled variants like the Y-MP EL. In 1991, further development extended UNICOS (version 7.0) to the Cray C90, doubling vector pipe sets from the Y-MP design; multithreaded capabilities were later introduced in UNICOS 8.0 (1994) to minimize OS overhead to 2-3% on 16-CPU systems, thus supporting higher sustained performance on water-cooled vector platforms. These adaptations continued through the to other vector systems, including the in the mid-1990s, which featured total and advanced board interconnects, ensuring UNICOS's role as a stable host OS for scientific computing workloads. UNICOS's integration with Unix standards progressed steadily from its System V Release 2 foundation, incorporating enhancements from subsequent releases to improve portability and functionality. Early versions drew on System V for core utilities and file management, with incremental updates adding (BSD) elements for networking and security by the late 1980s. By the mid-1990s, this evolution culminated in compliance for process management and ISO standards for networking, facilitating broader . A key advancement toward X/Open compliance occurred with UNICOS 10.0 in 1997, which achieved X/Open Base 95 branding, enabling certified conformance to Unix portability interfaces while supporting via locales for collating, character types, numerics, and time formatting. Cray Research's internal R&D efforts drove much of UNICOS's evolution, with dedicated phases focused on Unix porting and performance tuning beginning in the mid-1980s. Collaborations included contributions from Dennis M. Ritchie of to early implementations on X-MP and experimental systems, aiding the transition from proprietary OS elements to a full Unix environment. In the early 1990s, partnerships such as with DEC for Y-MP EL distribution (1992-1994) and funding for processor (MPP) integrations like the T3D further influenced UNICOS variants, emphasizing adaptations while preserving the core system's Unix heritage. In the , UNICOS achieved key milestones in scalability, featuring native 64-bit addressing from its inception in 1985, allowing up to 8 terabytes of capacity on PVP systems and enabling large-scale scientific simulations without memory constraints. (SMP) support was enhanced starting with the Y-MP in , evolving to handle up to 32 processors on later vector systems like the T90 by using modified kernels for parallel I/O and process scheduling, with disk striping and mirroring for . These developments, spanning over 10 major releases, positioned UNICOS as a mature, mainframe-class Unix variant with C2-level by the decade's end.

Technical Architecture

Kernel and System Design

UNICOS initially featured a monolithic kernel design, optimized for the vector processing architectures of early Cray systems such as the Cray-1, X-MP, and Y-MP. This kernel, derived from AT&T UNIX System V with influences from the Fourth Berkeley Software Distribution (BSD), integrated core operating system services including process scheduling, inter-process communication, and device drivers directly into a single address space for efficient execution on shared-memory multiprocessors. Process management supported both multitasking, where multiple processes shared the same address space within multitasking groups (m-groups) to enable parallel execution across CPUs, and multiprocessing via macrotasking directives that allowed concurrent program runs on multiple processors. Memory handling utilized the system's central memory, consisting of 64-bit words organized in interleaved banks with single-error correction and double-error detection (SECDED) for reliability, while avoiding traditional paging or segmentation to align with the hardware's flat address space and high-speed access requirements. File systems were based on the hierarchical structure of System V UNIX, enhanced with Cray-specific I/O primitives for high-bandwidth transfers to solid-state storage devices. As Cray systems evolved toward processing (MPP), UNICOS transitioned to architectures to improve scalability and modularity. UNICOS MAX, introduced for the Cray T3D, employed a Mach-based on the processing elements (PEs), which handled basic thread management, , and (IPC) via , while the host Y-MP or C90 system ran the full monolithic UNICOS for I/O and job management. This design minimized kernel footprint on PEs to support lightweight, distributed computation without across nodes. Similarly, UNICOS/mk for the Cray T3E adopted a Chorus-based , restructuring the OS into distributed servers for functions like process management, file serving, and networking. The Chorus model used actors (address spaces), threads, ports for IPC, and regions for , allowing OS services to run as user-level processes across PEs in a scalable, fault-tolerant manner, with support PEs hosting multiple servers and application PEs running minimal kernels. This serverized approach enabled distributed operation without requiring the entire OS image in local memory, contrasting the monolithic UNICOS's reliance on shared central memory. UNICOS provided Unix-compatible system calls and APIs, ensuring portability for standard applications while incorporating Cray-specific extensions tailored to supercomputing workloads. Core interfaces adhered to System V and BSD standards, including calls like fork(2), exec(2), open(2), read(2), and write(2) for process creation, execution, and I/O, with modifications to support multitasking groups where fork(2) was restricted within m-groups to maintain shared address spaces. Cray extensions included multitasking primitives such as tfork(2) for creating processes within m-groups and resch(2) for rescheduling, alongside calls like reada(2) and writea(2) to overlap data movement with computation. For vector operations, extensions integrated with Cray's programming environment through APIs in libraries like LibSci, enabling directives for vectorization without dedicated system calls, though kernel support for efficient memory access patterns underpinned these capabilities. UNICOS represented the first 64-bit implementation of a Unix operating system, released in 1985 for Cray systems, leveraging the inherent 64-bit architecture of the Cray-1 and subsequent models. Addressing modes supported a flat 64-bit virtual address space, with direct addressing of up to 128 million 64-bit words in central memory on Y-MP systems, using 44-bit physical addresses for bank selection and word offset. Data types aligned with 64-bit words as the native unit, where integers, pointers, and floating-point values were 64 bits wide, ensuring seamless handling of large datasets without the 32-bit limitations of contemporary Unix variants; for example, the long type was 64 bits, while int remained 64 bits for compatibility with vector hardware. This design facilitated high-performance numerical computations by avoiding address truncation and supporting full-word arithmetic in both scalar and vector units.

Hardware Support

UNICOS was designed to fully exploit the vector processing capabilities of early supercomputers, including the , X-MP, Y-MP, and C90 systems, through deep integration with their hardware architectures. The operating system supported dual vector pipelines in these machines, where pipe 0 handled even-numbered elements and pipe 1 processed odd-numbered elements simultaneously, enabling up to two results per clock period across five pipeline segments for enhanced throughput in scientific computations. Vector registers, configurable to 64 elements in Y-MP mode or 128 elements in C90 mode (each 64 bits wide), were managed via an 8-bit (VL) register, allowing programmable lengths from 1 to 128 elements to optimize data processing without excessive overhead. Instruction scheduling in UNICOS facilitated efficient vector execution by coordinating exchange, fetch, and issue sequences, reserving ports (A, B, C, D) and functional units to minimize conflicts. mechanisms allowed continuous flow between vector registers and dedicated functional units (such as add, multiply, and shift), starting operations at any point in the result stream and achieving full concurrency when aligned with the first element's arrival. For vector instructions, readiness times ranged from (VL)/2 + 3 to (VL)/2 + 14 clock periods, depending on the operation, with hold conditions resolved via priority to prevent stalls from register reservations or port contention. This hardware-software synergy, supported by UNICOS kernel primitives and compilers like CF77, enabled and up to 10-fold performance gains in loop-dominated workloads on these vector architectures. To address massively parallel processing, UNICOS variants incorporated extensions for the Cray T3D and T3E systems, adapting to their distributed-memory topologies. In the T3D, UNICOS MAX utilized a 3D torus interconnect to distribute tasks across up to 1,024 Alpha processors, with the kernel providing lightweight process migration and communication primitives tailored to the network's bidirectional links. For the T3E, enhancements in UNICOS/mk supported a 3D torus interconnect, enabling scalable and barrier synchronization across up to 1,456 processors, including hardware-assisted latency hiding through prefetching in the ; GigaRing provided the I/O subsystem. These adaptations ensured efficient load balancing and in large-scale simulations by abstracting the interconnect as a virtual shared where feasible. Scalability features in UNICOS extended to (SMP) configurations in the J90 and SV1 series, supporting up to 32 processors in shared-memory environments. The kernel managed SMP coherence through cache protocols and interprocessor interrupts, allowing seamless task distribution across vector-capable CPUs in the J90 for mid-range workloads. In the SV1, UNICOS scaled to 32 multi-streaming processors (MSPs), each delivering 4 GFLOPS peak via eight vector pipes, with OS-level optimizations for bandwidth allocation in the high-bandwidth memory system. UNICOS included dedicated I/O subsystems with drivers for high-speed peripherals, such as solid-state disks (SSDs) and front-end processors, to sustain data-intensive supercomputing tasks. The handled up to 512 million words of SSD capacity in Y-MP/C90 configurations, using channels like VHISP (1,800 MB/s) for rapid transfers to vector pipelines. Front-end support integrated with minicomputers via the , managing peripherals like DD-49 disks and IBM-compatible tape drives, while kernel buffers minimized contention during operations.

Key Features

Performance Optimizations

UNICOS introduced capabilities to Unix systems, pioneering non-blocking operations that allow applications to continue processing while I/O requests, particularly on large datasets, are handled in the background. This feature, implemented through mechanisms like list I/O (which supports both synchronous and asynchronous modes) and raw I/O (enabling direct data transfer to user process space without kernel buffering), was a key enhancement for multitasking environments on supercomputers. By permitting concurrent computation and data movement, significantly improved throughput for workloads involving massive scientific datasets. The operating system maintains a balanced approach to batch and interactive processing, utilizing the Network Queuing System (NQS) for efficient job submission and execution in batch mode, while supporting interactive shells for real-time user sessions. The Unified Resource Manager (URM) oversees resource queuing, employing a fair-share scheduler to equitably allocate , memory, and other resources based on historical usage patterns, preventing any single user or job from monopolizing system capacity. This integration ensures seamless transitions between batch queues—managed via daemons and commands like qsub—and interactive multiuser modes (run level 2), with configurable limits such as (jcpulim) applied uniformly to both. Memory management in UNICOS is tailored for vector processing, incorporating a scalar cache enabled by default to optimize data access patterns in vectorized computations, though it is disabled for multitasking processes unless restricted to a single CPU to avoid coherency issues. System parameters like NBANKS and CHIPSZ allow administrators to fine-tune configuration for vector workloads, enhancing bandwidth and reducing latency. For caching, UNICOS leverages Solid State Disk (SSD) technology, such as the Cray SSD-T90 connected via GigaRing, with a logical device cache (ldcache) in central to accelerate I/O by buffering sectors from secondary storage before transfer to user space. UNICOS integrates closely with Cray's optimizing compilers, including (Cray Fortran Compiler) and (Cray Fortran 77), providing OS-level support for vectorization, scalar optimization, and multitasking directives that align code generation with the system's hardware architecture. These compilers benefit from UNICOS kernel enhancements, such as efficient memory mapping and I/O handling, enabling fine-tuned performance for scientific applications through features like autotasking and loop-level optimizations. This synergy allows developers to achieve near-peak vector throughput without extensive manual intervention.

Security and Management

UNICOS provides comprehensive user and resource capabilities tailored for multi-user supercomputing environments, utilizing both standard System V and the proprietary Cray System (CSA) mechanism. CSA tracks detailed metrics such as per-process and per-job CPU usage, memory allocation, device I/O, connect sessions, and disk space consumption, charging users based on configurable service units (SBUs) that can be customized for different resources. User database (UDB) entries in /etc/udb store account information, including login IDs, passwords, and resource limits like job (jcpulim) and memory (jmemlim), enabling administrators to enforce policies via commands such as /etc/xadmin for database management and /usr/lib/acct/csarun for daily reports. Periodic summaries are generated with tools like /usr/lib/acct/csaperiod, integrating data from logs in /usr/adm/acct/day/ and /etc/wtmp to support billing and usage analysis. File system quotas in UNICOS control disk space and inode usage per user, group, or account ID, with soft limits that issue warnings at 90% utilization (e.g., default 5000 blocks and 200 inodes) and hard limits to prevent overages. Administration occurs through the .Quota60 configuration file and /etc/fstab for automatic enforcement on mounted file systems, monitored via commands like qudu for display, quadmin for management, and dodisk for usage reports; root file systems are excluded from quotas to maintain system stability. Job scheduling integrates with these accounting features via the Unified Resource Manager (URM), which balances batch and interactive workloads using a fair-share algorithm that adjusts CPU priorities based on historical usage stored in the UDB nice field (ranging 0-19). URM allocates resources like multistreaming processors (MSPs) dynamically, supporting up to six MSPs with four CPUs each, while enforcing limits such as process counts (jproclim) and tape units (jtapelim). Security in UNICOS extends traditional Unix permissions with Cray-specific controls, including (DAC) using standard Unix permission bits for files, directories, and objects. Owners and administrators can modify attributes to enforce read, write, and execute rules, with root privileges granting full access except where user execute permissions are required; immutable or read-only files deny writes regardless of privileges. (MLS) features, available in variants like UNICOS/mk, incorporate (MAC) policies through security labels and privilege assignment lists (PALs), configurable at boot via system parameters, preserving compatibility with UNICOS 9.2 interfaces while enhancing . Audit logging captures security-relevant events such as user authentications, access attempts, configuration changes, and MLS violations, recording timestamps, subject identities, and outcomes in append-only files like /usr/adm/sulog for super-user actions and /usr/adm/sl/slogfile for MLS events. The system supports configurable thresholds for audit trail capacity, triggering actions like alerts or if exceeded, with tools such as reduce enabling selective review by authorized administrators only. System administration in UNICOS leverages tools like the Network Queuing Environment (NQE) for distributed job management across heterogeneous networks, comprising components such as the Network Queuing System (NQS) for batch execution, a central database for up to 36 servers, and a network load balancer (NLB) for workload optimization. NQE enables job submission, monitoring, and control from clients via command-line or graphical interfaces, routing requests to NQS servers while integrating with URM for resource allocation in multi-node setups. Compliance with standards is ensured through adherence, supporting commands, utilities, and APIs for portability, as seen in variants like UNICOS/mp which scale to thousands of processors. UNICOS version 10.0 holds X/Open Base 95 branding, confirming alignment with the X/Open Portability Guide for system interfaces and utilities.

Releases and Variants

Core UNICOS Releases

UNICOS, the proprietary operating system developed by Research for its vector supercomputers, underwent several core releases that formed the backbone of its monolithic implementation. The early releases established the foundation: UNICOS 1.0 (April 1986) introduced the initial 64-bit Unix environment on the , succeeding COS with basic System V influences; 2.0 (December 1986) added enhancements for multi-user support; 3.0 (September 1987) improved networking and I/O; and 4.0 (July 1988) refined process scheduling and integrations, all primarily targeting the and X-MP series. These versions evolved from partial System V derivations toward full compliance in later releases, focusing on enhancements in , networking, and system stability. The core lineage targeted vector-based systems such as the , X-MP, Y-MP, C90, and J90 series, with each version introducing targeted improvements while maintaining where possible. The major UNICOS 5.0 release, launched in May 1989, marked a significant milestone by fully basing the system on Release 3.0 with integrations from the Fourth Berkeley Software Distribution (4.3BSD). This version expanded platform support to include the , X-MP, Y-MP, and , enabling robust multi-user environments optimized for vector processing. Key changes included improved support—such as Cray Standard C 1.0 and Ada compilers—and enhanced file system management, alongside bug fixes for I/O operations and process scheduling. UNICOS 5.0 was distributed exclusively through Cray Research's proprietary licensing model, which bundled the OS with hardware purchases and required separate licenses for development tools like compilers. Building on this base, UNICOS 8.0 arrived in March 1994, introducing substantial enhancements for symmetric multiprocessing (SMP) to better leverage multi-processor configurations on systems like the Y-MP and C90. This release added scalable parallel processing capabilities, centralized resource management, and bolstered security features, including the first implementation certified under the U.S. Department of Defense's "Trusted Computer System Evaluation Criteria" (Orange Book) at the B2 level by the National Security Agency. Version-specific updates addressed bug fixes in kernel stability and network protocols, while extending support to the J90 series for entry-level vector computing. Like prior versions, UNICOS 8.0 remained proprietary, with Cray providing updates via maintenance contracts tied to system ownership. Support for UNICOS 8.0 concluded in the first quarter of 1997 for EL and J90 platforms and the third quarter for Y-MP-D systems. UNICOS 10.0, released in October 1997, represented the pinnacle of 64-bit maturity for the core series, optimizing for larger memory addressing and improved performance on late-model vector hardware like the SV1 and C90. This version incorporated advanced feature additions, such as support starting with update 10.0.0.2 for next-generation networking, alongside refinements in (MLS) and scalability (e.g., enhanced NC1FS and NFS integrations). Bug fixes focused on SMP reliability and crash recovery, ensuring seamless operation across the full spectrum of supported platforms from to C90. As a offering, UNICOS 10.0 was delivered through 's bundled distribution model, with ongoing patches available under service agreements. Core UNICOS support, including version 10.0, effectively ceased around 2000-2002 as Cray shifted focus to successor architectures, marking the end of major updates for the monolithic vector-based lineage.

Specialized Variants

UNICOS MAX, released in 1993 for the Cray T3D , introduced a lightweight operating system tailored for the system's processing elements (PEs). This handled essential functions such as interprocessor communication, , and basic scheduling, while a UNIX agent on the host system—running full UNICOS—facilitated I/O and integration between the MPP nodes and the front-end. The design emphasized minimal overhead on PEs to support scalable parallelism, with lightweight processes enabling efficient task distribution across up to 1,024 (typically 512) Alpha processors connected via a 3D torus network. Building on this foundation, UNICOS/mk debuted in 1995 for the Cray T3E, employing a serverized based on the Chorus to create a . The Chorus provided core abstractions like actors, threads, ports, and memory regions, allowing OS functions to be modularized into distributed servers—such as process managers and file servers—spread across nodes for . This enabled a single system image across up to 1,024 (and potentially 2,048) processors, with support PEs hosting multiple servers, user PEs running minimal instances for applications, and redundant PEs for ; networking adaptations leveraged the T3E's 3D torus and GigaRing I/O for low-latency communication and parallel I/O strategies like remote mounting or disk server parallelization. UNICOS/mp, launched in 2002 for the X1, diverged from prior variants by basing its kernel on SGI's 6.5, optimized for the X1's multi-stream vector processing and thread-level parallelism. A full UNIX kernel executed on each application node, supporting multithreading to exploit the X1's ability to run up to 128 threads per multifunction vector processor (MVP), while service nodes handled I/O and management; this foundation enabled compatibility with high-performance features like the 64-bit and , with networking tuned for the X1's custom multistage interconnect to minimize latency in hybrid vector-scalar workloads. In 2006, UNICOS/lc emerged for the Cray XT3, XT4, and XT5 series, shifting to a Linux foundation with the SUSE Linux Enterprise Server (SLES) kernel augmented by Cray extensions for lightweight compute node kernels. Version 1.4, released in June 2006, supported dual-core AMD Opteron processors and integrated the Catamount microkernel for compute nodes alongside SLES on service nodes, while later versions like 1.5 (August 2006 limited availability) and 2.0 (2007) introduced Compute Node Linux (CNL) based on SLES 10 kernel 2.6.16 for improved scalability; key adaptations included Lustre parallel file system integration and SeaStar2 interconnect optimizations for the XT series' torus topology, enabling configurations up to thousands of nodes with enhanced I/O and job scheduling via PBS Pro. These variants highlight progressive adaptations in kernel design and networking: UNICOS MAX and /mk prioritized modularity for early MPP scalability, /mp leveraged commercial UNIX threading for vector-hybrid systems, and /lc incorporated extensibility for commodity hardware clusters, each optimizing for their hardware's interconnect and parallelism model without relying on the core UNICOS vector heritage.

Legacy and Successors

Transition to Linux

The transition from UNICOS to -based operating systems began with the development of UNICOS/lc for the Cray XT3 , introduced in late 2004 and deployed in production systems by 2006. UNICOS/lc represented a hybrid approach, utilizing a lightweight kernel called Catamount on compute nodes for high-performance parallel processing, while service nodes ran SUSE Enterprise Server to handle administrative tasks and I/O operations. This design facilitated better integration with standard Unix tools and , addressing limitations in the proprietary UNICOS architecture for systems. By 2007, UNICOS/lc evolved to version 2.1, which introduced Compute Node (CNL)—a full optimized for compute nodes—replacing Catamount to enable richer functionality such as process migration and dynamic . At this point, UNICOS/lc 2.1 was rebranded as the Cray Linux Environment (CLE), solidifying the shift to a Linux-centric stack with SUSE Linux Enterprise Server on service elements and CNL on compute elements. The CLE provided enhanced scalability for systems like the XT4 and XT5, supporting up to tens of thousands of nodes. The primary motivations for adopting were to leverage its open-source nature for cost savings in development and maintenance, achieve broader hardware and software compatibility through community-driven innovations, and align with industry trends toward standardized ecosystems that reduced . UNICOS development became increasingly unsustainable as distributions offered robust HPC optimizations without the need for custom kernels. Support for legacy UNICOS variants phased out as associated hardware reached end-of-life; for instance, patches for UNICOS/mk on the T3E ceased around 2005, with full discontinuation of UNICOS by 2010 following the retirement of the last vector systems like the X1. Migration paths for UNICOS applications to CLE involved recompiling source code using the Cray Programming Environment, which maintained compatibility for Fortran, C, and C++ codes through shared compilers and libraries, often requiring minimal changes due to UNICOS's Unix heritage. Cray provided tools like the PrgEnv modules and compatibility layers to ease porting, ensuring high-performance applications could run with performance close to native UNICOS levels.

Influence on Supercomputing

UNICOS-powered Cray supercomputers played a pivotal role in advancing scientific computing, particularly in fields requiring massive computational resources. At the National Center for Atmospheric Research (NCAR), the Mesoscale Model version 4 (MM4), a key tool for weather and atmospheric simulations, operated under UNICOS on the Cray Y-MP8/864 system, enabling detailed modeling of regional climate dynamics and forecasting. Similarly, Los Alamos National Laboratory employed Cray systems running UNICOS for critical nuclear simulations, including nuclear reactor design, radiation shielding analysis, and criticality safety assessments, leveraging the OS's stability for handling complex, high-precision calculations. In astrophysics, UNICOS supported numerical simulations during events like the first UNAM-CRAY Supercomputing Workshop, where researchers used Cray hardware to model cosmic phenomena such as star formation and galaxy evolution, contributing to foundational work in computational cosmology. These applications frequently positioned UNICOS-based systems on the TOP500 list of the world's most powerful supercomputers throughout the 1990s, demonstrating their enduring impact on scientific discovery. UNICOS's innovations in system design significantly influenced standards. As the first commercial 64-bit implementation of UNIX, it enabled seamless handling of vast memory spaces and datasets essential for supercomputing workloads, setting a precedent for subsequent 64-bit operating environments. Additionally, UNICOS pioneered in a UNIX context for supercomputers, allowing I/O operations to proceed independently of CPU tasks in multitasking scenarios, which optimized performance in data-intensive applications and inspired features in modern HPC file systems like Lustre for parallel I/O efficiency. These advancements provided a robust, Unix-compatible platform that bridged proprietary supercomputing needs with broader software ecosystems. The longevity of UNICOS extended into legacy environments, with archived installations maintained post-2010 to execute specialized scientific legacy code incompatible with newer systems, preserving access to decades-old simulations in research institutions. By integrating high-performance features with Unix familiarity, UNICOS bolstered Research's market dominance in the 1980s and . The company sold over 80 units alone, each priced at $5-8 million, establishing vector processing as the gold standard and capturing the majority of deployments at national labs and research centers. This leadership persisted into the early with models like the Y-MP and C90, where systems comprised the bulk of entries, outpacing competitors until the shift to processors eroded their share. UNICOS's reliability and optimization for vector architectures were instrumental in sustaining 's position as the preeminent supercomputing vendor during this era.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.