Changes between Version 5 and Version 6 of Overview


Ignore:
Timestamp:
11/16/11 15:57:31 (8 years ago)
Author:
branden
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Overview

    v5 v6  
    3737An Earthworm system consists of a set of modules 'immersed' in a message passing 'medium'. Each module performs some coherent task, such as data acquisition, phase picking, etc. Modules communicate by broadcasting and receiving various messages such as packets of trace data, phase picks, etc. The message passing scheme is analogous to radio communications: It consists of a message-carrying 'medium' and a set of standard routines which can be thought of as multi-frequency two-way radios operating in this medium. Modules can use these routines to broadcast messages into this medium on a specified 'frequency', and to 'tune in' to messages on specified 'frequencies'. Significant properties of this scheme are that: (1) a module cannot be prevented from broadcasting a message whenever it chooses; (2) any number of modules can listen in to some sending module(s) without affecting that module; (3) a module receives only the messages of interest to it and it is notified if it missed a message. 
    3838 
    39 This 'medium' (the Earthworm transport layer) operates within one computer as well as between different computers. Standard TCP/IP network broadcasts (UDP) are used to carry a batch of messages between computers and shared memory regions are used to simulate such broadcasts within a computer. Each participating computer can be equipped with multiple network ports and multiple shared memory regions. Special adapter modules are used to link the message flows between a shared memory region and a network cable. Thus an Earthworm system can be configured to have a geometry of message passing paths tailored for a specific application, operating on any number of computers. Note that this scheme operates within one Earthworm system, spanning a maximum distance of several hundred meters. Message exchange between remote Earthworms is handled by a different mechanism. The selective 'frequencies' of this 'medium' are implemented by attaching 'shipping tags' to all messages. They specify the module which created the message, the type of message it is, and the installation where the Earthworm system is running. Thus, for example, a message may be labeled as being a p-pick produced by the Rex Allen picker at Menlo Park, or a location produced by Hypo-inverse at Seattle. These tags are then used by the receiving routines to provide only the desired messages to a listening module. 
     39This 'medium' (the Earthworm transport layer) operates within one computer as well as between different computers. Standard TCP/IP network broadcasts (UDP) are used to carry a batch of messages between computers and shared memory regions are used to simulate such broadcasts within a computer. Each participating computer can be equipped with multiple network ports and multiple shared memory regions. Special adapter modules are used to link the message flows between a shared memory region and a network cable. Thus an Earthworm system can be configured to have a geometry of message passing paths tailored for a specific application, operating on any number of computers. Note that this scheme operates within one Earthworm system, spanning a maximum distance of several hundred meters. Message exchange between remote Earthworms is handled by a different mechanism. The selective 'frequencies' of this 'medium' are implemented by attaching 'shipping tags' to all messages. They specify the module which created the message, the type of message it is, and the installation where the Earthworm system is running. Thus, for example, a message may be labeled as being a p-pick produced by the Rex Allen picker at Menlo Park, or a location produced by [wiki:hypoinverse hypoinverse] at Seattle. These tags are then used by the receiving routines to provide only the desired messages to a listening module. 
    4040 
    41 The modules are independent main programs. Each module has free use of the file system and other system facilities. However, the Earthworm system offers several suites of support routines that can be used by the program to make it a compliant Earthworm module. One such suite is the collection of message passing routines (transport routines). These are used to acquire input data by requesting messages of certain type(s), and to broadcast output messages. Another set of routines is used to effect operating system independence by providing a common set of 'wrapper' routines for system-specific functions. For example, the system routines for starting a thread are different on Solaris and NT; the Earthworm system provides routines for both systems with the same name and arguments. Thus, if a program uses that routine, it can run on either operating system: the proper system-specific version of that routine will be automatically inserted when the program is built. This suite currently contains such 'wrappers' for all common functions. Routines are added as required. Moving Earthworm to a new operating system involves creating a new set of such 'wrapper' routines. Earthworm currently offers 'wrappers' for OS/2, Solaris, and Windows NT. 
     41The modules are independent main programs. Each module has free use of the file system and other system facilities. However, the Earthworm system offers several suites of support routines that can be used by the program to make it a compliant Earthworm module. One such suite is the collection of message passing routines (transport routines). These are used to acquire input data by requesting messages of certain type(s), and to broadcast output messages. Another set of routines is used to effect operating system independence by providing a common set of 'wrapper' routines for system-specific functions. For example, the system routines for starting a thread are different on Solaris and NT; the Earthworm system provides routines for both systems with the same name and arguments. Thus, if a program uses that routine, it can run on either operating system: the proper system-specific version of that routine will be automatically inserted when the program is built. This suite currently contains such 'wrappers' for all common functions. Routines are added as required. Moving Earthworm to a new operating system involves creating a new set of such 'wrapper' routines. Earthworm currently offers 'wrappers' for Linux, OS/2, Solaris, and Windows. 
    4242 
    4343Modules generally read a configuration file at startup time. This file contains basic Earthworm parameters which define the module, specify which message 'medium' (message ring) it wishes to listen to, and which message ring it wishes to broadcast it's output messages to. In addition, this file can contain arbitrary operating parameters specific to its operation. 
     
    4848 
    4949== Developers == 
    50 Earthworm development team was originally headed by Alex Bittenbinder and coordinated by Barbara Bogaert; both with the U.S. Geological Survey (USGS).  Funding for this release was provided by the USGS and many other contributors. 
     50Earthworm development team was originally headed by Alex Bittenbinder and coordinated by Barbara Bogaert; both with the United States Geological Survey (USGS).  Funding for new releases is provided by the USGS and many other contributors. 
    5151 
    5252Principal Earthworm development is now provided by members of the the Earthworm Community.  
    5353 
    5454In 2005, [http://www.isti.com/products/earthworm ISTI] and [http://www.ceri.memphis.edu/index.shtml CERI] (University of Memphis) have taken on lead roles in software development and user support of Earthworm. Please join the Earthworm community by coming an active developer (join ewdev-subscribe @ isti . com) mailing list. 
    55 Send any bug reports or configuration problems to the earthw mailing list. 
     55Send any bug reports or configuration problems to the [https://groups.google.com/forum/#!forum/earthworm_forum Earthworm Google Group] list. 
    5656 
    57 This software is Open Architecture and more importantly Open Source and is freely available to anyone. Distribute and use as your heart desires.  
     57Earthworm software is Open Architecture and more importantly Open Source. It is freely available to anyone. Distribute and use as your heart desires.  
    5858 
    59 This software was originally written and funded by the USGS.