Mercury Computer Systems
Encyclopedia
Mercury Computer Systems, Inc. provides high-performance embedded, real-time digital signal
Digital signal processing
Digital signal processing is concerned with the representation of discrete time signals by a sequence of numbers or symbols and the processing of these signals. Digital signal processing and analog signal processing are subfields of signal processing...

 and image processing
Digital image processing
Digital image processing is the use of computer algorithms to perform image processing on digital images. As a subcategory or field of digital signal processing, digital image processing has many advantages over analog image processing...

 solutions.

Mercury designs and builds embedded multicomputers, which may be considered to be either loosely coupled NUMA
Non-Uniform Memory Access
Non-Uniform Memory Access is a computer memory design used in Multiprocessing, where the memory access time depends on the memory location relative to a processor...

 computers or tightly coupled cluster
Cluster Computing
Cluster Computing: the Journal of Networks, Software Tools and Applications is a journal for parallel processing, distributed computing systems, and computer communication networks....

s. Despite being marketed as COTS
COTS
COTS may refer to:* Commercial off-the-shelf, ready-made products* Commercial Orbital Transportation Services, a program for delivery to space* Crest of the Stars, a manga/anime space opera.* Crown-of-thorns starfish, a reef-coral predator...

, the computers are generally customized to better fit application requirements. Popular applications include airborne military radar
Radar
Radar is an object-detection system which uses radio waves to determine the range, altitude, direction, or speed of objects. It can be used to detect aircraft, ships, spacecraft, guided missiles, motor vehicles, weather formations, and terrain. The radar dish or antenna transmits pulses of radio...

, sonar
Sonar
Sonar is a technique that uses sound propagation to navigate, communicate with or detect other vessels...

, software-defined radio
Software-defined radio
A software-defined radio system, or SDR, is a radio communication system where components that have been typically implemented in hardware are instead implemented by means of software on a personal computer or embedded computing devices...

 (cellular telephone base stations for example), video transcoding, chip wafer inspection, medical scanners of all types, and classified projects
Classified information
Classified information is sensitive information to which access is restricted by law or regulation to particular groups of persons. A formal security clearance is required to handle classified documents or access classified data. The clearance process requires a satisfactory background investigation...

. In general, Mercury targets high-end computing applications with size, weight, and/or power constraints.

Competitors have included CSPI using Myrinet
Myrinet
Myrinet, ANSI/VITA 26-1998, is a high-speed local area networking system designed by Myricom to be used as an interconnect between multiple machines to form computer clusters. Myrinet has much lower protocol overhead than standards such as Ethernet, and therefore provides better throughput, less...

, and SKY Computers using InfiniBand
InfiniBand
InfiniBand is a switched fabric communications link used in high-performance computing and enterprise data centers. Its features include high throughput, low latency, quality of service and failover, and it is designed to be scalable...

. CSPI also uses the multicomputer terminology, while SKY does not. All three companies are located in northeastern Massachusetts.

Hardware

Mercury hardware is generally about packing huge numbers of decently-fast processors into a tiny space while keeping power requirements tolerable. Many dozens of CPUs or even a few hundred CPUs will be packed into a space that is only a foot or two (half a meter) on each side. Vector math and IO performance are strongly emphasized.

Mercury product offerings span three generations of switch fabric technology.
  • RACEway
    Raceway
    Raceway may refer to:* Race track, a place where races are run or operated* In construction projects, a surface mounted wire moulding* A mill race, the current or channel of a stream...

     is Mercury's original interconnect fabric. RACEway uses 6-way crossbar
    Crossbar switch
    In electronics, a crossbar switch is a switch connecting multiple inputs to multiple outputs in a matrix manner....

     chips organized in a fat tree
    Fat tree
    The fat tree network, invented by Charles E. Leiserson of MIT, is a universal network for provably efficient communication. Unlike an ordinary computer scientist's notion of a tree, which has "skinny" links all over, the links in a fat-tree become "fatter" as one moves up the tree towards the root...

     network. RACEway is circuit switched
    Circuit switching
    Circuit switching is a methodology of implementing a telecommunications network in which two network nodes establish a dedicated communications channel through the network before the nodes may communicate. The circuit guarantees the full bandwidth of the channel and remains connected for the...

    , with circuit setup and teardown being performed automatically as a chip-by-chip operation done by the hardware. There are four priority levels, with high-priority circuit setup able to kill existing lower-priority circuits. RACEway primarily uses 27 bits of 3-bit-per-hop source routing
    Source routing
    In computer networking, source routing allows a sender of a packet to partially or completely specify the route the packet takes through the network...

    , with the added ability to specify that crossbars may choose the less-congested
    Network congestion
    In data networking and queueing theory, network congestion occurs when a link or node is carrying so much data that its quality of service deteriorates. Typical effects include queueing delay, packet loss or the blocking of new connections...

     route under certain circumstances. There is a "broadcast" ability that operates as a flood-fill. Each CPU node, called a "CE", has the ability to map the memory of up to 14 other nodes and has a mailbox for incoming messages. Node-to-node strided DMA is available, for example allowing every third column of a matrix to be transmitted. RACEway is 32 bits wide. It always operates at 40 MHz. Heterogeneous shared-memory products were offered with the Intel i860
    Intel i860
    The Intel i860 was a RISC microprocessor from Intel, first released in 1989. The i860 was one of Intel's first attempts at an entirely new, high-end instruction set since the failed Intel i432 from the 1980s...

    , SHARC
    Super Harvard Architecture Single-Chip Computer
    The Super Harvard Architecture Single-Chip Computer is a high performance floating-point and fixed-point DSP from Analog Devices,...

    , and PowerPC
    PowerPC
    PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

    .
  • RACE++ is Mercury's second interconnect fabric. It is very similar to the original RACEway, and in fact can be set into a compatibility mode for connection to RACEway devices. RACE++ offers a 66 MHz native mode
    Native mode
    The term native mode or native code is used in computing in two related senses.*to describe something running on a computer natively or in native mode meaning that it is running without any external support as contrasted to running in emulation....

     that is not compatible with the older hardware. Crossbars examine 5 bits of the 27-bit route, then shift out a configurable 3, 4 (typical), or 5 bits. The all-1-bit address is reserved to address a crossbar itself for discovery and configuration; the older RACEway crossbars are not configurable or discoverable. RACE++ crossbars typically have 8 ports. Because the chips are configurable, localized broadcast addresses can be made available.
  • RapidIO
    RapidIO
    The RapidIO architecture is a high-performance packet-switched, interconnect technology for interconnecting chips on a circuit board, and also circuit boards to each other using a backplane...

     is the current switch fabric. It is a serious departure from the older technology, though bridging between the two types of fabric is possible with dedicated conversion chips. RapidIO was designed in cooperation with Motorola
    Motorola
    Motorola, Inc. was an American multinational telecommunications company based in Schaumburg, Illinois, which was eventually divided into two independent public companies, Motorola Mobility and Motorola Solutions on January 4, 2011, after losing $4.3 billion from 2007 to 2009...

     (now Freescale). It is a reliable packet switched
    Packet switching
    Packet switching is a digital networking communications method that groups all transmitted data – regardless of content, type, or structure – into suitably sized blocks, called packets. Packet switching features delivery of variable-bit-rate data streams over a shared network...

     network that uses point-to-point links and chip-to-chip handshaking reservations to avoid dropping packets. Packets are 256 bytes, with 8-bit (most non-Mercury devices) or 16-bit addresses. Crossbars throughout the multicomputer contain local routing tables so that packets need not be source-routed.


Recently, Mercury announced a partnership with IBM to bring the Cell
Cell (microprocessor)
Cell is a microprocessor architecture jointly developed by Sony, Sony Computer Entertainment, Toshiba, and IBM, an alliance known as "STI". The architectural design and first implementation were carried out at the STI Design Center in Austin, Texas over a four-year period beginning March 2001 on a...

 to embedded applications in the defense, medical, and demanding commercial fields.

Software

Mercury supplies a set of APIs, libraries and a kernel called MCOE. The APIs provide multicomputer services to applications, and provide a common API layer above Solaris, VxWorks, Linux, or Windows on the host side, and MCexec or Linux on the compute node side. MCexec is Mercury's own real-time kernel, which is provided today mainly for customers who are not yet ready for Linux. Systems can be configured today that run MCexec on some nodes, and Linux on others. Mercury systems in the past have required a host board, which is typically not a Mercury product, and then the compute node boards. Next generation products include a host board that also provides I/O capability through the use of PMC or XMC modules.

MCOE is properly used in two stages, start-up and run. During start-up, the user allocates memory and communication resources. This can be slow on large systems, and is certainly not real-time. During the run stage, MCexec generally acts as a hard-real-time OS. Linux provides comparable performance. For the most demanding applications, the user can even disable interrupt
Interrupt
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....

s when running MCexec on the compute nodes.

MCOE includes a single-node kernel called MCexec or LNXexec, and distributed database services for system-wide naming, routing
Routing
Routing is the process of selecting paths in a network along which to send network traffic. Routing is performed for many kinds of networks, including the telephone network , electronic data networks , and transportation networks...

, and resource allocation. MCexec supports the minimum real-time profile of POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...

. It is thus vaguely UNIX-like, with fork
Fork (operating system)
In computing, when a process forks, it creates a copy of itself. More generally, a fork in a multithreading environment means that a thread of execution is duplicated, creating a child thread from the parent thread....

 being the greatest omission. Running a program involves two steps: loading the executable
Executable
In computing, an executable file causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful. These instructions are traditionally machine code instructions for a physical CPU...

 to get a handle, and spawning a process from that handle. LNXexec is essentially an off-the-shelf Linux kernel, built with a reduced footprint and with inherent support for TCP/IP over the fabric (Race or RapidIO). This, the set of nodes running LNXexec essentially become a Linux cluster, with the choice of cluster-like development or traditional Mercury development using the high-performance MCOE APIs.

Filesystem and terminal
Computer terminal
A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...

 IO
Input/output
In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world, possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...

 is very slow, being redirected to a non-Mercury host OS. Applications normally do little of this; instead they use high-speed DMA
Direct memory access
Direct memory access is a feature of modern computers that allows certain hardware subsystems within the computer to access system memory independently of the central processing unit ....

 to interact directly with IO hardware.

Mercury Computer Systems sells software for biomedical image processing; their most known software package for this purpose is called Amira.

The former Visualization Sciences Group of Mercury Computer Systems became in June 2009 an independent entity called VSG - Visualization Sciences Group, which continues to develop and support Open Inventor (3D Development Toolkit) and Avizo (3D Visualization and Analysis Software for Engineers and Scientists).

External links

  • The Mercury Computer Systems web site, including official history. Press release of the acquisition of SBC
    Single-board computer
    A single-board computer is a complete computer built on a single circuit board, with microprocessor, memory, input/output and other features required of a functional computer. Unlike a typical personal computer, an SBC may not include slots into which accessory cards may be plugged...

     specialist Momentum Computer, Inc. in December 2004.
  • CSP, Incorporated web site and company information.
  • SKY Computers web site and company information.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK