SophOS DCS

From Offetstine Wiki
Revision as of 03:58, 1 July 2023 by eunakria (Discord-317484070127009793) (talk | contribs) (initial)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

SophOS DCS, previously known as the Lunar Research Framework, is an operating system designed by Sophos International in order to meet the requirements of its founder, Eliza Teak, with regards to parallel computation and supercomputing necessary for astrophysical simulations and research.

According to Teak, SophOS DCS specifically eschews the long lineage of "open" UNIX-like systems and other existing architectural standards, in order to ensure robustness from the ground up and prevent performance barriers caused by outdated assumptions about software which both operating system implementors and userspace developers must work around. To accomplish this, SophOS DCS bills itself as the reference implementation of the DCS, or Distributed Computing System, standard.

Critics have noted that especially on existing ISAs, SophOS DCS offers little to no performance benefit for most software over other operating system architectures, and there is little to no extant data comparing the performance of SophOS to other operating systems on Virtua. As of 1998, SophOS DCS remains the sole implementation of the DCS standard.

Features

SophOS DCS offers a number of features distinct from prior offerings, though the exact value of those features have been called into question on multiple occasions:

  • Native scheduling primitives that directly wrap the Virtua ISA hardware scheduler interface, though their performance benefits are usually limited to systems that heavily leverage concurrency and preemptive multitasking.
  • Cross-machine synchronization primitives, enabling multiple SophOS DCS systems to exchange data in flight describing parallel workloads, with fairly little intervention from developers. Many developers note that in order to tune performance, significant intervention is necessary regardless and the synchronization primitives do not provide tangible benefit over existing offerings.
  • Native containerization, though it is noted that code implementing containerization in SophOS DCS was lent mostly wholesale from existing offerings of similar scope, as part of the open-source kernel.
  • DCFS, a custom filesystem billed to provide low-latency read-write performance while implementing immutable layers (akin to real-life OSTree) transparent snapshots, compression and encryption (akin to real-life ZFS). Marketing material claims DCFS is "the best filesystem for any database", although this claim has been called into question.

DCS Standard

A mockup of the Lunar Research Framework, an early iteration of what would eventually be commercially released as SophOS DCS.

TODO

UNIX compatibility

SophOS DCS provides best-effort compatibility through a kernel provision to map custom system calls, and the userspace software package ix, which implements a POSIX-compatible environment as far as is allowed under DCS security provisions, as well as an X11 server which natively integrates with the SophOS windowing system. Sophos marketing promotes ix as a zero-overhead solution to integrate legacy applications into a DCS environment. Despite this, critics have noted that ix does not properly implement features such as shared memory and does not efficiently implement process initialization, leading to significant overhead for multiprocess software.

ix is primarily used on developer workstations to provide access to UNIX software under DCS, similar to the Windows Subsystem for Linux in real life. Developers have noted that while the applicability of SophOS DCS to the server and mainframe is limited, DCS workstations are generally more stable and comfortable than most popular UNIX-like offerings. Sophos also bills this as one of its strengths in advertising documents: claiming that since the standard is open, they have no reason to make their software intentionally difficult to use in order to artificially create a market of trained system administrators. Critics have noted that this is not the principle on which monopolies operate, and that intuitiveness is a common selling point insofar as promoting developer productivity.

Virtua

Sophos Virtua is a processor instruction set architecture designed to facilitate efficient multiprocessing, and a line of processors implementing the ISA from Sophos International under the same brand. Virtua is regarded as an open standard, though the trademark guidelines prescribe any other processor implementing the standard must bill itself as "Virtua-compatible". As an early multicore design, Virtua treats individual cores as fairly distinct with fabric interconnects, placed on the same die primarily to minimize latency and manufacturing costs, rather than to offer any technical benefit over earlier multiprocessor designs.

To this extent, Virtua chip designs for servers and mainframes usually contain 8 or 12 cores, while individual workstations usually contain 2 cores, as the primary cost of a core is die space and heat output. This approach has been criticized as a poor attempt to compensate for poor single-core performance, although Sophos marketing notes that sustained and multithreaded performance is more important for commercial applications than burst and single-threaded performance. Furthermore, Virtua chips often suffer from inefficient memory controller architecture.

The Virtua ISA prescribes a native hardware scheduler that attempts to minimize downtime which results from loading resources from memory, and further implements a native interrupt handler cache in order to minimize time spent during page faults in memory-mapped I/O. To this extent, Virtua establishes a distinction between physical and logical cores, in which logical cores often significantly outnumber physical cores, and physical cores usually only consist of a single execution unit, so multiprocessing and instruction pipelining may be handled by the same on-die logic.

While Sophos chip designs report an unremarkable edge in efficiency in workstation contexts, Virtua is lauded by Teak as the "core of her research", a pun used frequently in marketing material, and one advertising campaign emphasized the low computational overhead of Virtua by superimposing a cutout image of a Sophos mainframe over a single performance statistic in bold lettering (for example, "2.25 Gflops/W. Enough said.")[amend]

The Virtua ISA actively does not expose SIMD or vector instructions in favor of implementing such optimizations at a CPU level, considering execution units are automatically delegated even to single-threaded tasks by the hardware scheduler. Compiler developers are motivated to keep loops short in order to allow the instruction decoder to identify cases where operations may be parallelized. Critics have noted this trait prevents software developers from leveraging the hardware fully, and leads to a "noisy neighbor" situation.