Page: 1 2 3 4 5 6

Chapter 3


SUPER-UX Operating System

SUPER-UX is based on the UNIX System V operating system and incorporates features from BSD and SVR4.2MP. SUPER-UX offers the numerous functional extensions necessary to support the needs of a high performance computer maintaining compatibility with UNIX. SUPER-UX is also conforms to both POSIX 1003.1 and POSIX 1003.2 and incorporates the threading feature of POSIX 1003.1C (Threads).

SUPER-UX supports multi-processor and multi-node SX-4 Series models. The following extensions are added to support the needs of a modern high performance system:

SUPER-UX enables users to manage system operations efficiently. Further, the adoption of standard networking services enhanced by the inclusion of many BSD and SVR4.2MP commands makes SUPER-UX a fully functional, user-friendly operating system.

Home


3.1 ORGANIZATION OF SUPER-UX

Figure 3-1 shows the software system for SUPER-UX.

Figure 3-1 SUPER-UX Software System (1)

Figure 3-1 SUPER-UX Software System (2)

Home


3.2 IOX SOFTWARE

An Input-Output Multiplexer (IOX) is connected to an SX-4 through HIPPI channels. The IOX multiplexes high speed HIPPI channels into lower speed SCSI-2 channels; it includes control of low speed peripherals such as SCSI-2 disk drives, tape drives, and ethernet. There are two types of IOX software.

In a multi-node system, one system control IOX services the entire single system image.

Home


3.3 INITIAL SYSTEM LOADER (ISL)

The Initial System Loader (ISL) is activated by the system control IOX and loads SUPER-UX into main memory. The ISL also works in tandem with the kernel RAS features to enhance reliability, dump information from the main memory unit in the event of a system error, and restarts the system when necessary.

Home


3.4 SUPER-UX KERNEL

This section describes the SUPER-UX kernel for a single-node system.

3.4.1 Basic Kernel Services

Based on System V, the basic kernel services provide significant functional enhancements for the SX-4 Series systems.

The basic kernel services consist of memory management, process management, and execution management.

3.4.1.1 MEMORY MANAGEMENT

Memory management provides services which manage virtual space, controls the assignment of data in virtual space, and performs swap services.

SUPER-UX manages memory in the following ways:

3.4.1.2 PROCESS MANAGEMENT

Process management provides process concept services, process management services, and user services functions.

SUPER-UX provides the following process management features:

3.4.1.3 EXECUTION MANAGEMENT

Execution management resides in the kernel and has a direct interface with hardware components such as processors. Execution management provides the following services:

3.4.1.4 PARALLEL PROCESSING SERVICES

Parallel processing services include macrotasking library support, a microtasking scheduler, and an MPI message-passing interface.

The fundamental system support for parallel processing lies in a threading function and a thread-safe library.

The threading function is equivalent to POSIX 1003.1C. The thread-safe library contains system calls; and reentrant 3C, 3S, and 3M libraries to support a parallel processing environment.

3.4.2 File Management

Implementing high-speed I/O services that are balanced with the SX-4 high performance processors is essential to provide the full extent of the hardware capabilities to applications programs. Toward this goal, the SUPER-UX file system extends the standard UNIX file system for improved performance.

The objectives of the SUPER-UX file system are as follows:

  1. Providing high-volume, high-speed I/O services

    The services listed below are difficult to implement in the standard UNIX file system and are essential to a high performance environment. The SUPER-UX file system includes features such as SFS, SFS/H, and IAS to address these requirements.

  2. Inheriting the advantages of the UNIX file system

    The SUPER-UX file system offers the following advantages and plays a significant role in providing a flexible, user-friendly computing environment:

  3. Compatibility with a distributed processing environment

    The incorporation of the Network File System (NFS) Version 3 enables SUPER-UX to support transparent file access between a SUPER-UX file system and those on other host systems.

    SUPER-UX also supports a packet size for NFS that can be expanded to 64 Kbytes. This feature significantly improves network performance between systems that support this advanced capability.

3.4.2.1 ORGANIZATION OF THE SUPER-UX FILE SYSTEM

Figure 3-2 shows the organization of the SUPER-UX file system, which contains three file system types: SFS, SFS/H, and NFS. The IAS provides basic services for the SFS file system types and provides the basis for their extended features and high performance.

Following is an description of the services of the SUPER-UX file system, in sequential order.

Figure 3-2 Organization of the SUPER-UX File System

3.4.2.2 SUPERCOMPUTING FILE SYSTEM (SFS)

The SFS is designed to enhance I/O operations. SFS uses two techniques to achieve high-speed, large-volume data transfers to and from high-speed memory mapped virtual volume devices provided by IAS (see Section 3.4.2.5).

  1. Bufferless data transfer

    UNIX allocates a buffer cache area in memory to minimize the number of I/O operations that are performed on physical disk devices. However, as a rule, the buffer cache area is limited in size and inadequate for the transfer of large-volume data. To address this problem, SFS provides automatic bufferless data-transfer directly between the data area for an application program and the virtual volume device.

  2. Contiguous file area allocation

    UNIX allocates files to disks and other storage devices in units of blocks; consequently I/O operations are performed by the block. However, block sizes are often small (i.e. 512 bytes or 4096 bytes per block) and inefficient when used for large volume data transfers.

    To correct this problem, SFS uses file allocation units called clusters. By defining large clusters (i.e. for a disk drive one cluster=one cylinder) file space can be allocated in large contiguous pieces. The result is that I/O operations can be efficiently performed in units of multiple blocks at a time, resulting in substantially higher performance.

3.4.2.3 ID SUPERCOMPUTING FILE SYSTEM (SFS/H)

SUPER-UX also supports a hybrid special file system (SFS/H) that fully exploits the system's extensive hardware capabilities. The file management information for SFS/H, such as nodes and directories, is compatible with the SFS and NFS file systems. However, the SFS/H features a special file area. This area (hereafter referred to as "data area") is defined when an SFS/H file system is built. All SFS/H data is stored in the data area.

Up to eight virtual disks of the same drive type and the same size can be specified for SFS/H data area. By specifying a striping size, the SUPER-UX file striping service can also be applied across units of virtual disks.

The data area of the SFS/H offers the following additional features:

3.4.2.4 EASY-TO-USE FILE SYSTEM ENVIRONMENT

SUPER-UX files are extremely easy to use because the user need not consider the file organization, record length, block length, or file capacity. A SUPER-UX file is managed as a simple collection of character strings and handled as a memory image.

  1. Types of SUPER-UX files

    The SUPER-UX file system supports ordinary files, directory files, and special files.

    1. Ordinary files

      Ordinary files are those positioned at the lowest level of a directory tree structure. They include files containing text, executable object modules, and data files.

    2. Directory files

      Directory files are lists of other files which are associated by logical location. Directories are handled in the same way as ordinary files with the exception that only the system can change the contents of directory files.

    3. Special files

      All I/0 devices supported by the system correspond to at least one special file. The special files reside in the /dev directory and provide a consistent method for accessing peripheral devices. Special files can be accessed in the same way as ordinary files, but the data is routed to the appropriate physical device under control of SUPER-UX device drivers.

      Figure 3-3 File Hierarchy

  2. File Hierarchy

    SUPER-UX files are managed in the same manner as standard UNIX. Hierarchical directory trees form the basis for locating files.

    Within any directory, there can be directory files, ordinary files, or even special files. Figure 3-3 shows an example SFS directory structure.

    Files are located by SUPER-UX on the basis of either an explicit name which includes the full directory path to the file, or by searching the current directory in use.

  3. File system structure

    A SUPER-UX file system consists of a super-block, an i list, and an area that contains files and directories. The file system is divided into clusters which are areas of consecutive physical blocks.

    The super-block contains the following information for managing a file system:

    A file definition list, called the i-list, is maintained in the next block of the super-block. Files and directories are managed by file control tables called i nodes. File and directory data is stored in the subsequent free blocks. The user cannot see the super-block or i-list because they are accessible exclusively by the system.

    Each i node consists of 256 bytes. i nodes are accessed using the i numbers in directories. Each inode contains the following file information.

    As shown in Figure 3-4, an i node consists of a series of direct and indirect pointers which describe file space reserved and associated with the particular file.

    The number of indirect pointer chains can effect file access performance; the larger the file, the more time is required to traverse lengthy pointer chains. SUPER-UX provides very high file access performance for files. Each i node pointer points to a cluster rather than a sector; therefore the maximum size of a file is dependent on site defined cluster sizes.

    Using a site defined cluster size of 128 Kbytes, direct file access occurs for files up to 1280 Kbytes in size, and a single indirect access occurs for files up to 2 Gbytes; double indirect reference supports files to 32 Tbytes. In a practical sense triple indirect access will rarely occur, but is supported and provides the ability to create files up to 256 Tbytes with the 128 Kbyte cluster size. Cluster sizes can range from 32 Kbytes to 256 Kbytes in powers of 2.

    Figure 3-4 Configuration of i List and i Node


3.4.2.5 NTELLIGENT I/O ACCELERATOR SUBSYSTEM (IAS)

The Intelligent I/O Accelerator Subsystem (IAS) provides the virtual volume services for the SFS. Virtual volume services are high-performance, highly efficient mass storage devices which consist of XMU, RAID disk subsystems, or conventional disks.

Virtual volumes can be configured in various ways. They can have a one-to-one mapping to physical devices, or a single virtual volume can be mapped to multiple physical devices.

For example, to create a high-performance virtual volume, IAS can support a virtual volume consisting of one or more XMU or high-performance RAID disk subsystems. A lower performance, highly space efficient virtual volume can be created using conventional disk units.

Virtual volumes have special files under the /dev directory. A virtual volume is accessed like any other device. Figure 3-5 illustrates the virtual volume concept. File I/O is done to virtual volumes and not directly to physical devices. IAS is the agent which manages this feature.

IAS uses three methods to maximize performance and efficiency. For simplicity, the term virtual volume and disk are used interchangeably.

  1. Virtual volume cache control provides a cache mechanism using main memory and XMU as cache devices. This service is independent of the UNIX buffer cache and accelerates large-scale data I/O requests to SFS file systems. Figure 3-6 shows the configuration of virtual volume cache and types of
    I/O paths.

    The caching algorithm works as follows:

  2. Parallel input/output (striping) service divides and allocates files across multiple disks. I/O requests to the same file are automatically decomposed and executed in parallel. This increases data transfer speed several times over serial disk access.

    Figure 3-7 illustrates the concept of parallel I/O processing.

  3. Dynamic allocation service

    If the real area on a physical device is allocated in units of clusters, space fragmentation results. For more efficient space utilization, the dynamic allocation service allocates physical space using the minimum number of variable-length extents possible. It does this through a site defined size called a staging unit, which is a multiple of the device's physical block size.

    File space is therefore mapped into clusters, but clusters are further mapped into staging units. A staging unit is the minimum reservation area on a physical device.

    Additionally, a shared area can be defined within a file system which provides a means for implementing file system overflow ability, a feature not available in UNIX.

    NOTE

    The user or system administrator can specify the sizes of a cluster and staging unit.

    Figure 3-5 Conceptual Diagram of a Virtual Volume

    Figure 3-6 Virtual Volume Cache Configuration

    Figure 3-7 Parallel Input/Output Service

3.4.2.6 SFS AND IAS UTILITIES

SUPER-UX provides utilities for maintaining SFS file systems and IAS services. These utilities are intended for SUPER-UX system administrators. Standard UNIX management utilities (mkfs, fsck, etc.) are used to construct and maintain SFS file systems.

New commands are provided for creating virtual volume devices and for maintaining history and accounting information related to IAS services. All commands are UNIX-like in design and operation.

3.4.2.7 NETWORK FILE SYSTEM (NFS)

The Network File System (NFS) provides transparent, distributed file access services among networked hosts. SUPER-UX supports features that are equivalent to NFS 4.0, including the automount feature.

The SUPER-UX NFS network packet size can be defined up to 64K bytes. This significantly enhances system performance on a HIPPI network among hosts which support this capability.

3.4.2.8 TAPE LIBRARY

SUPER-UX supports an automatic tape library which stores multiple tape cartridges and mounts them automatically. To facilitate management, the tape library supports the following functions:

3.4.2.9 SX-BackStore

SUPER-UX supports the SX-BackStore file archiving system. SX-BackStore automatically migrates and recalls files residing on the SX-4 system to and from archiving devices and file servers.

SX-BackStore provides the following features:

3.4.3 Batch Processing

SUPER-UX provides an enhanced implementation of the Network Queuing System (NQS) as the basis for supporting batch facilities for very large, long running applications. The concept of a job has been added to the kernel so that SUPER-UX can provide enhanced ease of operation and the most efficient scheduling possible.

SUPER-UX provides the following job-related services:

3.4.4 Network Functions

3.4.4.1 OVERVIEW

SUPER-UX incorporates an extensive array of network functions based on System V and 4.3 BSD. The following services are supported:

  1. Network media independent large-capacity, high-performance TCP/IP and OSI capability.

  2. Client/server programming model support through a full range of X Window, Motif, and system calls.

  3. Automation of network operation and management through a centralized network control facility

  4. STREAM, sockets, and TLI libraries

SUPER-UX also offers the following services from 4.4 BSD:

3.4.4.2 LOCAL AREA NETWORK (LAN) CONNECTION

SUPER-UX supports the following LAN network hardware:

  1. Ethernet (C&C-NET BRANCH5680II)

    Ethernet is a 10 Mbps network supported by virtually every computer system available from supercomputers down to personal computers. SUPER-UX supports both TCP/IP and OSI protocols on ethernet. Ethernet is connected to the SX-4 Series through the IOX or through a HIPPI gateway.

  2. FDDI (C&C-NET LOOP6780II)

    FDDI is a 100 Mbps token ring LAN. FDDI, used as a backbone LAN, is one of the major networks used in high performance facilities. FDDI is connected to the SX-4 Series through the IOX or through a HIPPI gateway.

    Figure 3-8 Sample Network Configuration Using FDDI

  3. ATM

    ATM (622 Mbps) is supported through a terminal adapter connection.

    Figure 3-9 Example ATM Network

  4. HIPPI

    HIPPI is an 800 Mbps high speed channel which is used for both conventional networking and networked peripherals connections. It is a star-topology LAN that is interconnected by switching devices called HIPPI switches. SUPER-UX supports the TCP/IP protocol for HIPPI so that large volumes of data can be exchanged with other systems through the HIPPI network.

    Figure 3-10 Example HIPPI Network

3.4.4.3 WIDE-AREA NETWORK (WAN) CONNECTION

SX-4 Series supercomputers can be connected to leased circuits, high-speed digital circuits, switched networks, X.25 packet networks, ISDN, and frame relays by means of routers and workstations. SUPER-UX provides all routing protocols required to seamlessly link to remote locations through wide-area networks.

Figure 3-11 Example Wide Area Network

3.4.4.4 STREAMS

SUPER-UX supports SVR4.2 STREAMS which is a standardized set network interfaces and services. Both TCP/IP and OSI protocols are easily accessed via STREAMS.

3.4.4.5 INTERNET PROTOCOL

Internet Protocol (IP), a basic component of TCP/IP, is the primary SUPER-UX protocol. SUPER-UX always supports the latest IP standards (RFCs)18 to ensure unsurpassed interoperability.

Figure 3-12 Protocols Supported by SUPER-UX


18RFC-Request For Comment. A Mnemonic used for TCP/IP network standards. Each standard has an RFC number.

SUPER-UX supports the following RFCs:

RFC894IP on ethernet
RFC826ARP
RFC903RARP
RFC893Trailer Encapsulation
RFC1374IP and ARP on HIPPI
RFC1060Assigned Numbers
RFC1009Gateway Requirements*
RFC1122Host Req.-Communications*
RFC1123Host Req.-Applications*
RFC791IP
RFC950Subnet
RFC919Broadcast
RFC922Broadcast with Subnet
RFC792ICMP
RFC768UDP
RFC793TCP
RFC1155SMI
RFC1157SNMP
RFC1213MIB-11
RFC1034Domain Name System
RFC1035Domain Name System
RFC854telnet
RFC855telnet option
RFC959ftp
RFC821SMTP
RFC822MAIL
RFC974Mail and Domain
RFC904EGP
RFC1058PIP
RFC1350TFTP
RFC1288FINGER
RFC891HELLO
RFC1094Sun-NFS
RFC1057Sun-RPC
RFC1014Sun-XDR
RFC1013,1305X11
RFC1179LPR
RFC1129NTP (Version3)
RFC1323Window Scale Option

Note:
* denotes RFCs which have all necessary features for supercomputing, but are not fully implemented.

SUPER-UX also supports extended features suitable for high performance systems. Some of the features include:

Also the following facilities are planned to be supported in the future.

SUPER-UX supports the following programming interfaces for building TCP/IP networked applications.

  1. 4.3 BSD socket system calls are fully implemented.

  2. TLI (Transport Level Interface) library (3N) is supported as a standard System V service. TLI is useful for using TCP/UDP protocol.

  3. RPC/XDR (Remote Procedure Call/eXternal Data Representation) services are provided as a library. These services form the base of the Network Information System (NIS) and Network File System (NFS) developed by Sun Microsystems.

  4. Xlib/Xt (X library/X toolkit) supports the latest version of the X Window system.

  5. OSF/Motif widgets are supported.

    Figure 3-13 SUPER-UX API Support

3.4.4.6 OSI PROTOCOL

SUPER-UX supports the international standard OSI protocol.

Figure 3-14 shows the OSI architecture in SUPER-UX.

Figure 3-14 OSI Architecture

The components of OSI are briefly described below.

The following API are available for the development of OSI networked applications.

3.4.4.7 NETWORK UTILITIES

SUPER-UX supports stand-alone SX-4 configurations, networked peer environments, and distributed client/server models.

As a compute server, the SX-4 Series provides unsurpassed compatibility and interoperability. SUPER-UX supports various servers and clients to enhance the network environment. Some of the major utilities include:

Figure 3-15 SUPER-UX Distributed Processing

3.4.5 Operation Management Services

SUPER-UX provides numerous services to ensure the efficient operation of the system.

  1. User management services

    All users are validated in a user management file (/etc/passwd). SUPER-UX maintains a secure /etc/shadow password file. Basic validation information consists of a user name (login name), a group identification, and a password. If project accounting is in use, a project name may also be required.

    The user named root is referred to as a "superuser" and can access any file in the system.

    User names must be unique within the system.

    In the event of an illegal login attempt, the user name entered and the name of the terminal from which the login attempt was made are entered in a log file. This information can be used for security auditing.

  2. Resource protection services

    Three basic levels of file/directory protection are available:

  3. Owner
  4. : READ, WRITE, and EXECUTE permissions
  5. Group Member
  6. : READ, WRITE, and EXECUTE permissions
  7. Others
  8. : READ, WRITE, and EXECUTE permissions

    Furthermore, an Access Control List (ACL) can be used to grant specific access rights to specific users and groups.

    Creation and deletion of files or directories is controlled by access privilege to the next higher directory.

    Volume protection is implemented by mount and dismount operations for individual file systems.

  9. File size management services

    The quota command can be used to manage file space as follows:

    The file space used can be controlled by setting upper limits for each file system for each user or group.

    An upper limit can be defined as either the number of files or the amount of file space used.

    An upper limit can be defined as either a "soft" value or a "hard" value. When a "soft" value is exceeded, a warning message is issued to the offender. When a "hard" value is exceeded, a message is issued indicating that the affected file system can no longer be accessed by the offender.

  10. Account management services

    SUPER-UX provides basic services that maintain accounting information for each user and group. The following classes of accounting information are available:

  11. System measurement/performance management services

    The sar command can be used to perform the following types of system measurement and performance analysis:

  12. File backup services

    SUPER-UX provides file backup functions that can back up and restore files for each file system, virtual disk, or designated directory.

  13. Crash recovery services

    In the event of a system crash, recovery services recover all jobs that are queued in NQS. Jobs which were checkpointed can be restarted from their checkpoint files.

  14. Automatic operation system

    SUPER-UX supports an automatic operation system that performs the following operations:

    1. System power-up

      The system power-up function is a circuit connected to a hardware timer or manual switch, a software timer, and the Automatic Operation Controller. This function can initially power-on the system.

    2. System shutdown

      System shutdown can be specified in terms of one or more of the following conditions:

      • A wall clock time is reached

      • Specified job class queues become empty

      • A file exceeds a predetermined size; a specified message is issued.

      • Activity from a specified remote user(s) falls below a specified threshold

    3. Device-specific power supply control

      SUPER-UX provides a device-specific power supply control feature that powers up and shuts down individual devices and that can display their power on or off status.

    4. Environmental monitoring

      This function monitors sensors connected to the Automatic Operation Controller and alerts maintenance personnel by either turning on lamps or setting off a buzzer. Alternatively, this function can shut down the system entirely.

    5. Operating schedule setting and referencing

      SUPER-UX provides an operational calendar feature that can be programmed for day, week. or month operational schedules. Automatic activation and/or shutdown of the system is performed based on the programmed schedules.

    6. Automatic operation

      In the event of a severe system error during unattended operation, this feature can automatically issue a recovery command by evaluating system messages and by checking for specific commands and error messages in the system log.

    7. Subsystem monitoring

      Certain processes or jobs may have to be executing for the system to operate correctly (i.e. a specific database manager, system daemons, etc.). The subsystem monitoring feature checks the status of specified processes or jobs at regular intervals, and if any are not running, the function starts the necessary process or job.

  15. NetAdmin

    NetAdmin is the operation point for an SX-4 Series system. It is a point-and-click windowing environment which executes on a networked workstation. Some of the NetAdmin displays include:

  16. Checkpoint/restart

    1. Checkpoint and restart service

      Checkpoint services take an execution snapshot of a job and store it in a permanent "restart file." The permanent file can be restarted as a continuation of the executing job.

      Checkpoint is useful for stopping work for system maintenance, or to periodically save the state of long running jobs to ensure against loss in case of a fatal system malfunction.

      The checkpoint services can be controlled by the system operator or a job owner. Checkpoint services are available in both command line and programmed system calls formats.

      Restart service resumes execution of the restart file. A restart can be performed by the operator or job owner. Restart is done through a command line.

    2. ID reservation service

      The ID reservation service reserves job IDs and process IDs so that job and process identifiers will be consistent across checkpoint/restart operations.

  17. Console services

    Console services are installed on the master IOX. They provide the foundation for operator control and certain diagnostics functions. The following basic services are provided:

    1. Console service provides basic communication between the master IOX and the SX-4 ISL subsystem. This includes basic boot functionality and boot time system configuration facilities.

    2. Display of SUPER-UX system messages

      Basic SX-4 operations can be performed from any network device which can communicate with the master IOX. Console services support line mode control of the SX-4 Series system.

      Operation in single-user mode is done by an rlogin to the SX-4 Series system. Console services can be configured to restrict access, thus preventing single-user operations from an unauthorized host.

      Note that normal SX-4 operation is done with the windowing NetAdmin system, although basic console services are always available.

  18. Security

    SUPER-UX Multi-Level Security (MLS) is a port of AT&T's MLS Version 1.2.0. This feature complies with TCSEC B1 level security. MLS includes a Mandatory Access Control (MAC) service and a Security Audit Trail (SAT) service.

3.4.6 High Reliability

SUPER-UX provides a substantial number of operations features that recover various failures quickly and localize their effects. The following services enhance system reliability:

  1. Retry and recovery processing

    This function detects system unit and peripheral equipment failures quickly and attempts recovery. In the case of peripherals, channel, or IOP failures, it also enables system operation to continue if there is redundant channel or IOP access to necessary peripheral or network devices.

  2. Configuration control

    Configuration control localizes the influence of a failure and tries to continue system operation.

    It manages the connection status of devices and automatically disconnects devices for which a failure cannot be recovered. Disconnection minimizes the effects of a failure; the device is automatically reconnected when a failure situation has been successfully recovered.

  3. Error logging

    Error information for all components of the system, including peripherals, is maintained in an error log. This information is used to identify the location of both soft and hard failures and to determine the error rate for each device; this allows suspect components to be identified and replaced before they fail.

  4. Automatic system restart

    This feature temporarily halts the system and automatically disconnects the failed device when a fatal hardware error is detected. Once the disconnection is complete, the system is automatically resumed.

    Figure 3-16 SUPER-UX RAS Features

Home


3.5 SUPER-UX UTILITIES

The functionality and commands described below are not inclusive of all commands available with SUPER-UX, but are a representative sample to provide an overview of the extensive user support environment.

3.5.1 Overview

SUPER-UX conforms to UNIX System V, and incorporates numerous features from BSD UNIX.

3.5.2 Shell

The user communicates with the system through a shell program. A shell program is a command language; SUPER-UX includes the Bourne shell, the C shell, and the Korn shell.

Shells provide the following:

Figure 3-17 Source and Destination Redirection

3.5.3 Basic Commands

The following functionality is provided by basic SUPER-UX commands.

  1. User access control

    The following user access control commands are provided.

    login:This command validates the username and password and sets the group ID and initial working directory. This command also executes site and user defined initialization scripts such as .login.
    Logname:Displays the $LOGNAM environment variable, which is the login user name.
    Newgrp:Logs into a new group and changes the current group identifier.
    Passwd:Changes the user password.

  2. Terminal control

    These commands enable terminal control sequences to be dynamically changed. The terminal or emulation can be specifically set as required, and attributes such as the operation of echo, tab settings, character deletion code, or line deletion code can be altered. Prompt characters and associated information (i.e. date, time, directory) can be personalized by changing shell variable name values.

    The following terminal control commands are provided.

    stty:Sets a terminal attribute.
    tabs:Sets tab stops.
    tty:Displays the login terminal name.

  3. File manipulation

    The following file operation commands are provided:

    cat:Concatenates files.
    cmp:Compares two files.
    cp:Copies one file to another.
    dd:Converts and copies a physical file.
    dircmp:Compares two directories.
    In:Combines two file names.
    pr:Prints the contents of a file.
    split:Splits one file into multiple files.
    sum:Calculates the checksum and number of blocks in a file.
    tail:Displays lines of a file beginning from the end.
    wc:Counts the numbers of characters, words, or lines.

  4. Directory and file name operation

    The following directory and file name operation commands are provided.

    cd:Changes the current working directory.
    chmod:Changes file access authority. Only the owner of the file can use this command.
    chgrp:Chances file group to the specified group.
    chown:Changes file owner to the specified owner.
    ls:Lists the names of files and directories under the specified directory. Dates, times, and protections can also be displayed.
    mkdir:Creates a new directory.
    mv:Changes a file name and/or moves the file to another directory.
    mvdir:Moves a directory.
    pwd:Displays the current working directory path.
    rm:Deletes a file.
    rmdir:Deletes a directory.
    umask:Sets the user default mode mask for protection of new files.

  5. Program execution

    The following program execution commands are provided:

    Displays part of a pathname.
    basename
    or
    dirname:
    cron:Clock daemon.
    csh:The C Shell
    date:Sets or displays the date and time.
    df:Reports the number of available blocks on the specified disk.
    du:Reports the number of disk blocks used by a file or directory.
    echo:Echoes the supplied parameter to the specified output location.
    env:Displays the environment variable list and their values.
    expr:Evaluates an argument by using an expression.
    false:Provides a false value.
    file:Reports the file type: ASCII text, data, C language, etc.
    getopt:Command parser support function for user validation of options.
    help:Displays information on the topic or command.
    init:Performs system level initialization.
    kill:Aborts a process.
    ksh:The Korn Shell
    nice:Modifies execution relative priority.
    nohup:Executes a command, and continues if the controlling terminal is disconnected.
    rsh:A restricted shell.
    sh:The Bourne Shell (command interpreter).
    sleep:Suspends process execution for a fixed time.
    tee:Simultaneously routes input data to two destinations.
    test:Tests a condition.
    true:Provides a true value.
    wait:Waits for process completion.
    xargs:Constructs an argument list and executes a command.

  6. Monitoring

    The following commands are provided for monitoring.

    id:Displays the name and ID of the user and group.
    ps:Reports the status of a process.
    time:Reports command execution time.
    who:Reports the current list of users currently logged on.

  7. File system backup and maintenance

    The following backup and maintenance commands are provided.

    clri:Deletes an i node.
    config:Creates a new SUPER-UX kernel data section.
    crash:Performs a logical dump analysis.
    devnm:Displays a device name.
    fsck:Validates, recovers, and repairs file system contents.
    fsdb:File system debugger.
    mkfs:Generates a file system.
    mknod:Builds a special file.
    mount:Mounts a file system.
    ncheck:Generates a name from an i node number.
    setmnt:Generates the mnttab table.
    shutdown:Terminates all processes, checkpoints the file system, and terminates SUPER-UX
    su:Changes the current user to a superuser or another user.
    sync:Writes all I/O data from caches to physical disk.
    tar:Copies a list of files to/from an archive file on a specified device.
    uname:Displays the name of the current SUPER-UX.
    umount.Unmounts a file system and makes it unavailable for access.

  8. Accounting

    The following accounting commands are provided:

    acctcms:Edits accounting records for individual processes.
    acctcom:Reports account information for individual processes.
    acctcon:Collects and displays information for login sessions.
    acctmerg:Merges multiple accounting files.
    acctprc:Reports CPU time used by a process.
    fwtmp:Totals wtmp records.
    runacct:Starts the accounting process and initializes accounting files.

  9. Communication functions

    The following communication functions are provided:

    mail or rmail:An electronic mail facility conforming to SMTP.
    mesg:Permits or inhibits the display of messages sent by "write".
    wall:Sends a message to all current users ("write all").
    write:Sends a message to the standard output of the specified user.

  10. Character string manipulation

    The following character string manipulation commands are provided:

    awk:Scans a file for a specified pattern and executes a defined process.
    comm:Selects or deletes common lines of two sorted files.
    diff:Lists differences between two files.
    diff3:Lists differences between three files.
    grep:Searches for the specified character string.
    join:Combines two files.
    sort:Sorts or merges the contents of a file.
    tr:Replaces or deletes the specified character string in the standard input and outputs it to standard output.
    tsort:Performs a topological sort.

  11. Basic program development tools

    The following basic program development tool commands are provided:

    ar:Generates and maintains an archive file used by the link editor.
    cxref:Provides C program cross referencing.
    ld:Link editor that binds multiple object programs into one program.
    lorder:Lists the reference sequence of objects in an archive file.
    make:Maintains, updates, and regenerates programs.
    nm:Displays the symbol table from an object module.
    od:Displays a dump of file contents.
    prof:Generates a performance profile report.
    link or unlink:Links or unlinks files and directories.
    sdb:A symbolic debugger that can be used for C and FORTRAN77 programs.
    Size:Reports the execution size of an object file.
    Strip:Eliminates symbol and line number information from an object module.

3.5.4 BSD Commands

This section describes the major BSD features.

  1. C shell(csh)

    In addition to the functions described in Section 3.5.2, "Shell," the C shell has the following special characteristics.

  2. Communication utilities

    The following BSD communication functions are provided:

    arp:Displays and manages the internet address conversion table.
    finger:Retrieves user information from a remote host.
    ftp:Transfers files.
    hostid:Sets and displays the host id.
    hostname:Sets and displays the host name.
    ifconfig:Specifies the network interface parameter configuration.
    named:Network domain name server.
    netstat:Displays network status.
    rcp:Copies files between remote and local file systems.
    rsh:Executes remote commands.
    rlogin:Remote login service.
    routed:Network routing daemon.
    ruptime:Displays the machine load status.
    rwho:Displays users of each machine in the network.
    talk:Allows users to communicate with each other in text mode.
    telnet:Virtual terminal service.

  3. File size management services

    The BSD quota command is supported and can be used to set the upper limits of the available file size for each user and file system, and to perform effective resource management in a multiuser environment.

  4. Other

    In addition to the previously noted functions, the following *BSD UNIX commands can be used.

    apply:Executes a command after supplying arguments to the command.
    chsh:Changes the login shell.
    clear:Clears the terminal display.
    colrm:Deletes the specified column.
    expand:Expands a tab to spaces.
    fold:Wraps lines according to the output device.
    from:Displays the mail originator name.
    head:Lists the first few lines of a file.
    last:Displays the last login information of the user and terminal.
    leave:Notifies the user of the specified time.
    look:Performs retrieval in the sorted list.
    more:Displays data in units of the terminal display page size.
    printenv:Displays environment variables.
    rev:Reverses the sequence of characters in each line of a file.
    script:Logs all terminal input and output to a file.
    strings:Retrieves printable characters from a binary file.
    unexpand:Converts spaces to tabs.
    which:Displays the command path.
    yes:Continuously outputs the same character string.

3.5.5 NQS

SUPER-UX provides batch processing service through an enhanced version of the Network Queuing System (NQS).

  1. Overview of NQS

    NQS is a UNIX batch processing subsystem. NQS manages batch requests which consist of sequences of shell script commands. The user can enter, terminate, monitor, restrict, and manage initiated requests; the system operator can manage and monitor all requests.

    NQS is network literature. Remote systems with either NQS or RQS clients can automatically route batch requests to the SX-4 Series system. Batch execution results are automatically routed to the host, user, and directory from which it was submitted. NQS also has an extensive list of resource management facilities, system scheduling options to enhance local efficiency, and extended monitoring and control functionality.

    Figure 3-18 shows a sample batch request .

    		#  
    		#  Batch request shell script example
    		#
    		#  as-q batch1
    		#  as-me
    		#  as-a tomorrow 11pm
    		#
    		f77sx -0 job1 prog1.f
    		if [S? -ne 0]
    		   then echo "prog1.f compile error"
    		      exih 1
    		fi
    		job1 < in­data>tmp-data
    		
    		f77sx -10 job2 prog1. f
    		if [S? -ne 0]
    		     then echo "prog2.f compile error"
    		     exit 2
    		fi
    		job2 < tmp-data
    

    Figure 3-18 Sample Batch Request

    The NQS administrator can provide multiple queues, each with different resource limitation and validation attributes.

    1. Inter-queue priority, which determines the sequence of queues to be searched for the next request to be executed.

    2. Maximum resources allowed for requests executed in that queue. Limits can be set per job or per process for such items as CPU time, memory requirements, file space, etc.

    3. Number of concurrently executing requests for the system, and for each individual queue.

    4. Queue complexes can be defined to interleave multiple queues in a controlled manner, and have the queue complex itself scheduled as a single entity.

    5. Each queue can be restricted by validating user accesses.

    Figure 3-19 shows a sample queue configuration.

    Figure 3-19 Example NQS Configuration

  2. Extended functions in SUPER-UX

    SUPER-UX has a number of enhancements in both the NQS subsystem and the SUPER-UX kernel. Some of these enhancements include:

    1. Introduction of the job concept

      UNIX systems only recognize individual processes, but complete application systems execute in terms of groups of processes traditionally referred to as "jobs." The SUPER-UX kernel has been modified to recognize jobs in addition to individual processes.

      Other enhancements include the addition of job IDs for batch requests, a service for sending signals to jobs, and a service to modify parameters for job-specific scheduling.

    2. Enhanced request management

      Functions have been added for holding a request in a queue, canceling a hold, suspending an executing job, and canceling the suspend. Other added functions include altering attributes, moving requests between queues, and sampling the standard output and standard error files while a request is still executing. Checkpoint/restart capability is added.

    3. Enhanced queue management

      Support has been added for managing the number of concurrently executable requests in multiple queues. In addition, a function has been added that allows the administrator to terminate or restart all queues at one time. These functions simplify NQS operation and enable the system to be operated more efficiently.

    4. Addition of job account output

      This function logs account information related to jobs. The job accounting information can be used as input to the SUPER-UX account utility to enable per-job accounting and budget management.

    5. Enhanced resource restriction

      The following resource restrictions have been added to the original NQS. These additional items allow resource usage to be managed more precisely for more efficient machine operation.

      • Per-process or per-request data segment size limit
      • Per-process or per-request stack segment size limit
      • Per-process or per-request memory size limit

    6. Enhanced status display

      The displays for status of queues, requests, devices, etc. have been enhanced. Commands have been added to provide more readable and easy-to-understand information. Some sample displays are shown in Figure 3-20.

      Example (1)

      $ qatatq -L
      ===============================================================
      NQS (R06.00) BATCH QUEUE RESOURCE LIMITS HOSTS:  sx4
      ===============================================================
      
      QUEUE NAME       TOTAL   USER    GROUP   XMU
                       CPU/P   MEM/P   S5CP/P  SFCP/P  TPCP/P  FNUM/P
                       S5SZ/P  SFSZ/P  DAT/P   STK/P   COR/P
                       CPU/R   MEM/R   S5CP/R  SFCP/R  TPCP/R  FNUM/R
      
                      DRV/R   PRC/R   FSGO/R  FSG1/R  FSG2/R  FSG3/R
      
      -------------- -----------------------------------------------------------
      
      bq                    1           ULIM    ULIM    LUIM
      
                       1000.0  100 mb  100 mb    1 gb  100 mb    ULIM
      
                       100 mb    1 gb  100 mb  100 mb  100 mb
      
                       1000.0  100 mb  100 mb    1 gb  100 mb    ULIM
      
                         ULIM    ULIM    ULIM    ULIM    ULIM    ULIM
      
      
      
      bg2                   2    ULIM    ULIM    ULIM
      
                       2000.0  200 mb  200 mb    2 gb  200 mb    ULIM
      
                       200 mb    2 gb  200 mb  200 mb  200 mb 
      
                       2000.0  200 mb  200 mb    2 gb  200 mb    ULIM
      
                         ULIM    ULIM    ULIM    ULIM    ULIM    ULIM   
      
      
      
      bg3                   2        1      2       2
      
                        ULIM    ULIM    ULIM    ULIM    ULIM    ULIM 
      
                         ULIM    ULIM    ULIM    ULIM    ULIM 
      
                         ULIM    ULIM    ULIM    ULIM    ULIM    ULIM
      
                         ULIM    ULIM    ULIM    ULIM    ULIM    ULIM
      
      
      
      -------------- ------------------------------------------------------------
      
      $
      
      

      Figure 3-20 Example NQS Status Display (1)

      Example (2)

      $ qatatq -2
      
      
      
      ===============================================================
      
      NQS (R06.00) BATCH QUEUE SUMMARY  HOST:  sx4
      
      ===============================================================
      
      
      QUEUE NAME   ENA STS PRI/BPR/ TMS /MPR RLM TOT QUE RUN WAI HLD SUS APR EXT
      
      ----------------------------------------------------------------------------
      
      bg1            ENA ENA 50/ 80/ 5000/   0  10  15   3  10   0   1   0   0   1
      
      bg2            ENA ENA 30/ 70/ 5000/   0   7   0   0   0   0   0   0   0   0
      
      bg3            ENA ENA 10/ 60/ 5000/   0   2   4   2   1   0   0   1   0   0
      
      ------------- --------------------------------------------------------------
      
          <TOTAL>                               50   19  5  11   0   1   1   0   1
      
      ------------- --------------------------------------------------------------
      
      $
      
      

      Figure 3-20 Example NQS Status Display (2)

    7. Enhanced network

      Network services have been added, including functions for deleting a request on a remote host, holding execution of a request on a remote host, canceling a hold, suspending execution, canceling a suspend, and modifying attributes. The added functions also include checking the status of remote host devices, resource restrictions, queue composites, form definitions, access prohibitions, and request statuses . These features enhance the usability of NQS.

    8. Load balancing

      A load balancing function has been introduced as an NQS pipe queue feature. When a request is entered into a pipe queue, the load balancing feature allows NQS to automatically select the least loaded queue from the pipe queue's destination definition.

      The load balancing feature ensures an even and automatic balancing of loads between batch queues. This function reduces the load-monitoring responsibility of the NQS administrator. Further, because the load balancing feature ensures that requests are executed in the least occupied queue, the result is improved execution turnaround time.

      Figure 3-21 shows the effect of load balancing.

      Figure 3-21 NQS Load Distribution Feature

    9. Job tracking

      Because the load balancing feature results in NQS routing requests automatically, the user who entered a request may have difficulty tracking the request. The job tracking service automatically tracks transfers made by NQS. This enables the user to monitor and control the batch request through use of the NQS batch request identifier without checking the possible destinations of request transfers.

  3. NQS commands

    qalter:Alters NQS batch request attributes.
    qcat:Displays executing NQS request standard error files.
    qchk:Checkpoints an executing NQS request.
    qdel:Deletes or kills an NQS request.
    qdev:Displays NQS device status.
    qhold:Places an NQS request in hold state.
    qlimit:Displays resource restrictions supported by a specified host.
    qmove:Moves an NQS request to another queue.
    qmsg:Writes a message to an NQS request standard output file.
    qpr:Routes a file to a network printer via NQS services.
    qrerun:Restarts an NQS request.
    qrls:Releases the hold state of an NQS request.
    qrsm:Restarts an NQS request which was suspended.
    qrst:Restarts execution of an NQS request from a checkpoint.
    qspnd:Suspends the execution of an NQS request.
    qstat:Displays NQS request status.
    qstata:Display NQS access restriction information.
    qstatc:Displays the status of an NQS queue complex.
    qstatck:Displays a list of NQS requests which were checkpointed.
    qstatd:Displays NQS device status.
    qstatf:Displays NQS form information.
    qstatq:Displays NQS queue status.
    qstatr:Displays NQS request status.
    qsub:Submits an NQS batch request.
    qwait:Causes NQS request execution to wait.

3.5.6 X-Window

X-Windows is a network-transparent, windowing system distributed by the X Consortium.

  1. X-Window system configuration

    The X-Window system is based on the client/server model. The applications system is the client, and the display system is the server. (See Figure 3-22)

    SUPER-UX provides a full client environment for X-Windows as well as the Motif toolkit.

    Figure 3-22 X-Window System Configuration

  2. X-Window system features

    The X- Window system is an overlapping-type multi-window system. The server process can display various overlapping windows on a single display screen. Management is performed by the client process. The SX-4 environment requires that the X server be on an X Terminal or an X equipped workstation connected to the SX-4 through TCP/IP networking.

    The user interface (window overlap control, movement, enlargement, reduction, and the like) and the window display method are controlled by a client process called the window manager. The user can set a desired multi-window environment by giving directives to the window manager.

    Windows can have a hierarchical structure. That is, a window can be defined in another window. This function is useful for partitioning the display area within a window, or for displaying pop-up menus.

    Since the protocol ( X protocol) between the server and client process is strictly defined, an X-Window system is device independent. In addition, since the interface viewed from an application program is strictly defined via the X library (provided by the X-Window system), an application developed for a specific device can be easily ported to other devices.

  3. Window manager

    The window manager is a program that manipulates the windows on the display screen. The window manager operates as a single process.

    Although many window managers have been developed, the one called twm is the standard X-Window manager. The desired window manager can be selected, or a personalized window manager can be created, by using the X library. However, only one window manager can be used at a time.

    twm provides functions for iconizing a window, changing the position or size of a window, moving a window to the front or back, changing the keyboard input destination, opening a new window (activating xterm), etc.

    The operation of twm can be tailored to specific needs by creating an environment definition file. For example, the fonts, mouse button mapping, menus definitions, operation of menus, etc. can be easily defined.

  4. Terminal emulator

    Xterm, which is a VT100 emulator that uses the X-Window system, operates as a single process. Since more than one xterm can be activated at the same time within a single

    Xterm has a function for activating another application program within itself, in a similar manner as the shell. Xterm provides the activated application with an environment in which I/O is performed as if xterm were a tty. Therefore, an existing application that performs I/O with a tty can operate in an X-Window system environment without modification when activated from xterm.

  5. Client

    X-Window applications are called clients. twm and xterm described above are types of clients.

    Other clients provided as X standards include utilities for processing screen images and desktop accessories such as clocks and calculators.

  6. X library

    Library functions for manipulating windows are provided to enable development of user applications that use X-Windows. These are called X library.

    X library provides functions for manipulating windows and performing window I/O. X library functions allow an application to open a window, display text, graphics, and images, and receive keyboard or mouse input from the window.

  7. X Toolkit

    X Toolkit is a library that provides a high-level user interface to the X-Window system. It also incorporates the object-oriented programming model.

    The objects in X Toolkit are called widgets, and all the widgets included in the widget set provide a common user interface. Therefore, by using X Toolkit and a widget set, application development is simplified through a common user interface.

    SUPER-UX provides the Athena widget set as a sample widget set as part of X Toolkit.

3.5.7 Distributed Computing Environment

SUPER-UX supports the Distributed Computing Environment (DCE) to facilitate the development of distributed applications using multiple dissimilar systems.

DCE contains the following components:

Figure 3-23 shows the DCE architecture.

Figure 3-23 DCE Architecture

The DCE components are briefly explained below.

Home


3.6 MULTI-NODE SYSTEMS

  1. The H type multi-node models are configured using HIPPI Channels. The internode latencies and loose coupling provided by HIPPI results in a system which is cluster-like.

  2. The M type multi-node models are configured using the IXS switch. The internode latencies are very short and the system is tightly coupled.

Home

Contents Previous Chapter Next Chapter