This document outlines the functional specification for the TOPS20 Common File System (CFS), a project designed to allow multiple 36-bit TOPS20 processors, interconnected by a high-speed "CI" bus, to share a common set of disk files and structures.
Key Objectives and Features:
- Transparent File Access: The primary goal is to make all disk structures and files available to jobs on any processor, regardless of the physical location of the disk devices, enabling multiple KL-10 systems to operate as a single, unified file system.
- High Performance: Aims for no more than a 10% increase in execution time for file primitives on multiple processors and no additional overhead for data transfer from non-directly connected disks, leveraging MSCP (Mass Storage Control Protocol) over the CI.
- Shared-Writable Pages: Supports simultaneous write file access across multiple processors, though users are advised to minimize frequent modifications to the same data from different processors due to data movement overhead.
- Reliability and Availability: Designed to improve net system availability. It allows for the failure of one processor or the CI without corrupting data or significantly affecting other processors. Surviving processors can "renegotiate" outstanding requests.
- TOPS20 Compatibility: All unprivileged monitor calls affecting disk files from single-processor TOPS20 systems are intended to work with CFS. Program and user interfaces are compatible with previous TOPS20 versions.
- Resource Management: Employs a "veto" protocol over the SCA (Systems Communications Architecture) layer of the CI protocol for managing shared resources, where all active processors must approve resource changes. File structures can be declared "shared" or "exclusive."
Limitations and Non-Goals:
- Disk-Only Support: CFS is intended to support only disk files, not other devices like magtapes or line printers.
- TOPS20 Specific: It is exclusively for TOPS20 operating systems and 36-bit machine architectures.
- No Automatic Load Balancing: CFS does not provide automatic job load balancing among processors; users must manually manage this.
- Limited IPC Support: While part of a larger "loosely-coupled systems" architecture, CFS itself provides file sharing but no intrinsic inter-process event generation; specific applications relying on ENQ/DEQ or OF%DUD are not supported over CFS processors in the initial release.
- MSCP Server Overhead: Accessing files via an MSCP server (a KL-10 acting as a disk controller for another KL-10) imposes a significant performance burden and should be avoided for frequently accessed files.
Target Audience: Customers with or needing multiple KL-10 processors who wish to run them as a single, cohesive system, complementing services like DECnet.