Developer Central Glossary

This glossary of terms was designed to assist SGI developers in understanding terminology used on our Web site. Additional information on technical terminology may be found at these external Web sites:


| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |


Altix® (properly, the SGI® Altix® 3000 family of servers and superclusters): 64-bit Linux® OS-based systems based on the Intel® Itanium® 2 processor. Related paper: "Linux Development Environment for the SGI Altix 3000 Family" (PDF 72K)

Automatic Parallelization Option (APO): a stand-alone licensed product that enhances the MIPSpro™ compilers to perform automatic parallelization of C, C++, Fortran 77, and Fortran 90 code.

binary compatibility: ability of a computer and/or operating system to run applications (or binary images or executables) that are verified to run on a similar computer and/or operating system, without any modification or recompilation of the applications.

brick: any of the modular components of an SGI® Altix® 3000 system or of an SGI® Origin® 3000 system, which use the SGI® NUMAflex® architecture to connect.

bus: a common pathway, or channel between multiple devices. Internal bus provides a parallel data transfer path between CPU and main memory peripheral buses.

cache coherency: state maintained by multiprocessor systems with special hardware features to ensure that all copies of data in memory and all caches remain consistent. In a cache-coherent system, if data is updated in global memory or cache, all other copies of that data system-wide are automatically updated to prevent different values for the same pieces of data from coexisting.

Cave Automatic Virtual Environment (CAVE): an immersive, multi-person, room-sized, high-resolution 3D video and audio environment.

cluster: a collection of individual computers, or nodes, that work as a shared resource, typically through communication interconnects and distributed programming models such as MPI (message passing interface).

Developer Central: the SGI site dedicated to developers: www.sgi.com/developers. It provides information on the SGI® Global Developer Program and a variety of tools and resources including Developer's Toolbox, KnowledgeBase, the Developer Edge Newsletter, and Business Development.

developer program (properly, the SGI® Global Developer Program): the primary source for technical and business resources for anyone developing on the SGI® platforms. The developer program provides significant benefits to developers including a Web site filled with technical information, a free IRIX® Development Tools and Compiler Bundle, development systems and services discounts, and proactive business development support. There is no membership fee to join the program.

Developer Online Consulting (DOC) Program: answers the "how-to" questions related to IRIX® and 64-bit Linux® software development on SGI® platforms. This program is a unique service designed for the SGI developer and complements other SGI support offerings. Participation in the DOC Program is available to active Developer Plus and Developer Plus for Linux members in the SGI® Global Developer Program who have a valid SGI support contract.

direct-attached storage (DAS): currently the most common storage architecture; however, there is a growing trend suggesting that networked storage technologies, such as NAS (network-attached storage) and SANs (storage area networks) will be the preferred architectures of the future.

domain: a single instance of an operating system and its memory address space that behaves and appears to software as a single system. Within an SGI® supercluster, a domain can be expanded or reduced in size as required for the installation, and it shares memory and I/O resources with other domains. In other clustered systems, domain sizes are fixed at the size for the cluster node, cannot typically be reconfigured, and do not share resources with other domains.

entitlement ID: a unique, randomly generated 16-digit identifier that is used by SGI to verify proof of purchase for keyed software products. The entitlement ID can be found on the temporary key label that is placed within the software product kits. This number is required by SGI when customers request their permanent keys. Entitlement ID example: 1234-1234-1234-1234.

Extreme Linux: the movement made up of members of the Linux community who are expressly interested in accelerating Linux® OS development in particular areas of interest. Extreme Linux enthusiasts address a range of specialized areas from embedded devices to supercomputing-class installations. SGI sponsors Extreme Linux activities focused on furthering the development of Linux for high-performance computing by expanding such capabilities as vertical scaling for ever larger processor counts, horizontal scaling as global shared-memory clusters, and improving the operating system's performance in areas like I/O and memory handling.

fat node: a cluster node with a large amount of computing, memory, and I/O resources within the node itself. Typically, a node must have at least 16 processors to be considered "fat," although the term is relative. SGI® Altix® 3000 superclusters are the first systems to support fat nodes (with up to 256 processors and 512GB of memory per node) in a Linux® cluster.

Fibre Channel: connects multiple hosts to dedicated storage systems. It is a high-speed transmission technology that can be used as a front-end communications network, back-end storage network, or both at the same time. The Fibre Channel supports transmission rates of 133Mb, 266Mb, and 531Mb per second and 1.06Gb, 2.12Gb, and 4.25Gb per second in each direction and uses the same FC-0 physical layer as Gigabit Ethernet. It provides both connection-oriented and connectionless services.

FLEXlm®: SGI uses FLEXlm as its primary license and key-management application. FLEXlm (developed by GLOBEtrotter Software and Macrovision Corporation) is the standard network key manager used by many leading software vendors to control the use of their software products.

floating key (also called a floating license): a floating key means anyone on the network can use the keyed software, up to the limit of licenses specified in the key file. A five-user floating license allows up to five users to access the software simultaneously, otherwise referred to as concurrent usage.

global shared memory: a single-memory address space that is visible to all system resources, including microprocessors and I/O, across all nodes. Systems with global shared memory allow access to all data in the system's memory directly and extremely quickly, without having to go through I/O or networking bottlenecks. Systems with multiple nodes without global shared memory instead must pass copies of data, often in the form of messages, which can complicate programming and slow down performance by greatly increasing the time processors must wait for data. Global shared memory requires a sophisticated system memory interconnect like SGI® NUMAlink™ and application libraries that enable shared memory calls, such as MPT and XPMEM from SGI.

hierarchical storage management (HSM): a policy-based management of file backup and archiving in a way that uses storage devices economically and without the user needing to be aware of when files are being retrieved from backup storage media.

high-productivity computing: a phrase coming into common usage to emphasize delivery of higher rates of sustained performance on real applications and acceleration of complete workflows, as opposed to the phrase "high-performance computing," which might refer only to unsustained theoretical performance rates. High-productivity computing requires a balanced architecture with tight integration of computation, data management and movement, and visualization through high-performance memory systems to eliminate the workflow bottlenecks common to loosely coupled collections for systems resources.

host name: the system hostname. For IRIX® and Linux®, it is displayed by the command uname -n

interconnect fabric: the data-transmitting hardware that connects components or nodes to form a system or cluster. Interconnect fabrics can be simple conventional networks, special-purpose cluster interconnects and switches, or high-end memory channels and switches (as in the case of SGI® NUMAlink™). Interconnect fabrics are characterized by their hardware and applications latency--the time it takes to signal between hardware interfaces or applications--and bandwidth--the amount of data that can be transferred simultaneously between nodes.

IRIS ViewKit™: a C++ application framework designed to simplify the task of developing applications based on IRIS® using the Indigo Magic™ user interface toolkit.

IRIX®: IRIX® 6.5 is the fifth-generation SGI® operating system based on UNIX®. IRIX 6.5 offers system scalability and binary compatibility across the MIPS® processor-based family of platforms, from single-processor workstations to servers. IRIX 6.5 maintains forward and backward compatibility across releases and is one of the most important and mature UNIX® operating system releases in the industry.

IRIX® Development Foundation and Libraries: a collection of libraries and utilities a developer needs to do basic software development on IRIX.

IRIXview™: a logic analyzer for real-time software that shows how the application is running on IRIX®. IRIXview enables real-time developers to observe the instantaneous timing of both an application and the IRIX kernel. Related manual: IRIXview User's Guide.

key type (also called a license type): SGI supports two key types: node locked (uncounted) and floating (concurrent) keys.

latency: the amount of time a data signal takes to travel some distance, usually measured in round-trip time. Lower latencies imply faster application performance, as processors spend less time waiting for data.

Linux®: a free UNIX OS-type operating system originally created by Linus Torvalds with the assistance of developers around the world. Within the open-source community, SGI is committed to taking a leadership role in the ongoing development and improvement of the performance and reliability of the Linux operating system. SGI has contributed to Linux scalability, scheduling, memory usage, I/O, and other efforts critical to high-demand application performance.

lmhostid: the unique identifier that is used by FLEXlm® to identify a given system. For IRIX®, it is displayed by the command lmhostid. For Linux®, it is displayed by the command /sbin/ifconfig eth0 (remove the colons from Hwaddr; example: 00:90:27:51:39:9F = 00902751399F).

logical unit number (LUN): the physical number of a device in a daisy chain of devices.

message passing interface (MPI): programming model used in multiprocessor systems, especially clusters, in which individual nodes perform calculations on subsets of a larger problem and communicate results with other nodes at regular intervals.

Message Passing Toolkit (MPT): provides versions of industry-standard message-passing libraries optimized for SGI® computer systems. These high-performance libraries permit application developers to use standard, portable interfaces for developing applications while obtaining the best possible communications performance on SGI computer systems for both IRIX® and Linux®.

MIPSpro™ Family of Compilers (for IRIX® only): the MIPSpro C, C++ and Fortran 77/90 compilers take advantage of the performance-oriented features in the latest MIPS® microprocessors, such as high-speed calling conventions and 32-bit and 64-bit floating-point and general-purpose registers. The MIPSpro compilers can do a comprehensive set of high-level and architecture-specific optimizations to automatically improve the performance of a wide range of applications.

Mirroring: 100% duplication of the data on two drives.

network-attached storage (NAS): hard disk storage that is set up with its own network address rather than being attached to the department computer that is serving applications to a network's workstation users. Useful for cross-platform file sharing.

nonuniform memory access (NUMA): a system architecture that allows the system to allocate close-by ("local") memory to processors at extremely fast speeds, while still allowing access to memory throughout the system when needed. NUMA architectures are commonly implemented for systems dealing with technical applications, because they allow real application scalability without changes to programming models.

NUMAflex® (properly, the SGI® NUMAflex® architecture): the particular SGI® NUMA system architecture, which leads the industry in scalability and large-memory handling. The NUMAflex architecture connects components that are physically distributed, allowing for easy scalability with SGI® "bricks" or "modules," but still treats the resulting computer as a single system.

NUMAlink™: the specific high-bandwidth, low-latency system-interconnect fabric of an SGI® NUMAflex® system.

Open Inventor™: an object-oriented toolkit for developing interactive, 3D graphics applications.

OpenGL®: an open-source, vendor-independent API for the development of 2D and 3D graphics applications that are easily portable to multiple hardware platforms.

OpenGL Optimizer™: a programmer's toolkit that includes an API, a library of advanced graphics algorithms, and a suite of tools that make it easier for application developers to draw and interact with large polygonal models.

OpenGL Performer™: a high-performance 3D rendering toolkit for developers of real-time, multiprocessed, interactive graphics applications that run on SGI® systems.

OpenGL Volumizer™: a high-level immediate mode volume rendering API for the energy, medical, and sciences markets.

Partition: a domain running a separate operating system image, similar to a node. However, a partition can generally be reconfigured to be larger or smaller, whereas a node typically is considered static in size. As with other domains, a partition can be run independently from the rest of the system.

ProDev™ WorkShop: a comprehensive programming environment offering an integrated set of powerful and highly visual tools for debugging and tuning software.

REACT™: the set of real-time features that comes standard with every IRIX® installation (asynchronous I/O, schedctl, plock, itimers, nanosleep, etc). Many of the REACT extensions to IRIX benefit nontraditional, real-time applications such as multimedia and graphics.

Redundant array of independent disks (RAID): provides increased performance and/or fault tolerance. More than one disk is reading and writing simultaneously. Also comprises one RAID controller and two or more regular disk drives.

scalability: the ability to add additional components to a system and use them effectively as a single resource. While "scalability" often refers to the total number of CPUs, I/O channels, etc., that a hardware platform can support, a more useful measure of scalability is the resulting absolute system performance--the results of aggregating multiple components on a single task----and efficiency--the incremental benefit of adding more nodes or channels. Scaling efficiency is one of the most significant factors affecting the return or price/performance of a solution. Scaling efficiency is not determined by the fastest components within a system, but rather is limited by the bottlenecks in the system. For a cluster, this is typically the interconnect fabric or I/O of the system.

Scientific Computing Software Library (SCSL): a comprehensive and state-of-the art collection of scientific and mathematical functions that have been optimized for use on SGI® systems, both based on IRIX® and MIPS® and on Linux® and Intel® Itanium® 2. SCSL greatly improves the performance and efficiency of applications through the use of blocked, multi-threaded, and optimized subroutines.

SGI ProPack™ (properly, SGI ProPackfor Linux®): an SGI® overlay for Linux that adds high-performance middleware and functionality to a standard Linux distribution without breaking binary compatibility on user applications. Examples of value-added performance and features include high-performance I/O infrastructure, MPI, and other optimized scientific libraries, high-performance filesystems (XFSTM), etc.

SGI® Performance Co-Pilot™: a family of products that deliver system-level performance monitoring and management services to help identify potential areas for efficiency optimization

SGI® SpeedShop™: IRIX® performance monitoring tool that helps to identify and eliminate programming bottlenecks and bugs, maximize overall application performance, and improve quality. SpeedShop is part of the ProDev™ WorkShop toolset.

single operating system image: a single instantiation of an operating system (OS). This can either be in the form of a partition or a system running only a single OS.

single system image: usually, a single operating system image. Occasionally, "single system image" is used to mean what would more appropriately be called a "single administrative image," referring to a system that runs multiple instantiations of an operating system without shared memory, but allows a system administrator to monitor or schedule system traffic across all nodes. Take care to understand which definition is meant when the phrase "single system image" is used.

storage area network (SAN): a high-speed special-purpose network (or subnetwork) that interconnects different kinds of data storage devices with associated data servers on behalf of a larger network of users.

supercluster: an SGI® Altix® 3000 system combining the SGI® NUMAflex® architecture with industry-standard components to achieve new heights of scalability and performance. SGI Altix 3000 is the world's first Linux® system to offer fat nodes of up to 256 processors per node, and it is the first cluster of any kind to offer global shared memory across cluster nodes. SGI Altix 3000 superclusters take Linux to new altitudes because they have the physical characteristics of clusters but the SGI® NUMAlink™ interconnect fabric of supercomputers.

Supportfolio™ Online: portal to online support, such as patches, technical help, and service-call logging and tracking; many of these areas are restricted to SGI support customers. SGI® Global Developer Program members may download IRIX® maintenance release software and security patches.

SurfZone userid: required to download SGI® software over the Web. Also known as Supportfolio™ ID.

symmetric multiprocessing (SMP): a computer architecture that provides fast performance by making multiple CPUs available to complete individual processes simultaneously. Unlike asymmetrical processing, any idle processor can be assigned any task, and additional CPUs can be added to improve performance and handle increased loads. SMP uses a single operating system and shares common memory and disk input/output resources. NUMA architectures are generally considered to be a specialization of SMP.

system identification (sysid) number (For IRIX® only): a unique identifier for an IRIX system. This number is guaranteed to be unique within the SGI® product family. This value can be obtained from the following command: sysinfo -s. Prior to SGI solely using lmhostid as the system identifier for keys, the system id was used instead. Both keys that have the #system id or the lmhostid as the hostid for the key are acceptable.

system serial number (For IRIX® only): a unique number that can be found on the back of an SGI® system. It can also be obtained from the following command: sysinfo -vv. The output will list the system identification number, the system serial number, and the module number for each platform.

texture mapping: a graphic design process in which a two-dimensional surface, called a texture map, is "wrapped around" a three dimensional object.

thin node: A cluster node with a small amount of computing, memory and I/O resources within the node itself. Typically, a thin node will have only one or two processors, although the term is relative.

Trusted IRIX™ operating environment: an extension of the IRIX® operating system providing system integrity and information assurance by addressing three fundamental security areas--policy, accountability, and assurance. SGI® Trusted IRIX™ 6.5 has B1 security functionality. (PDF 161K)

vector processing: a system processor and architecture approach common in the 1980s and early 1990s in which repetitive "loop" operations in application code allow the system to stream arrays (or "vectors") of data from memory to a processor and back in a sequential manner. Vector implementations require extremely high memory-to-processor bandwidths, application algorithms and loop sizes that lend themselves to the technique, and codes that have been optimized and compiled for vector systems. Some proprietary supercomputers still use vector processing today for certain applications.

workflow: the complete cycle of tasks end users must perform to do their work. Examples of workflow can include the acquisition of data, processing of data to form an information product, and its final distribution to starting with a concept or idea, creation of a prototype, validation of a product design, and final production. Computer solutions that focus on optimizing a workflow pay greater attention to minimizing the cost or time to complete the entire process as opposed to simply accelerating a single step in the workflow. The most effective way to accelerate a workflow is to eliminate the bottlenecks that slow down the flow. Shared-memory implementations are the most efficient way to eliminate bottlenecks between data, visualization, and compute resources.


| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |