There are several different types of user interfaces in the SAM system. Behind these interfaces are subsequent layers of interfaces intrinsic to the design of SAM. The goal is to provide the functionality to the users in a number of means, allowing the flexibily for them to use pre-defined user interfaces, or to write their own programs as needed using the SAM layers.A typical user interface scenario is summarized below. Follow the links to learn more about the various layers of the SAM interfaces, including current CORBA IDL interfaces where available.
First, a physicist wanting to start a new analysis project will explore the data and determine the pertinent conditions for their analysis project. They can use either of these SAM layers to explore the database. Data Browsing Data Browsing is available for broad data scanning. User oriented database queries are available, including web enabled queries built using MISWEB. Other data query tools are available as needed. Project Definition More specific constraint analysis can be performed in the Project Definition user interface. When defining a project, a physicist will specify their criteria and be able to translate these constraints into some working knowledge of how many files their analysis would require, how many volumes they span, the aggregate file size, and more. When happy with their results, physicists can define their projects in SAM for later running. SAM provides two interfaces for defining projects. The most basic, the sam command line interface, can be used from any node on which sam is installed, e.g. the main D0 analysis machine, d0mino.fnal.gov. Additionally, there is a Java based GUI tool that performs all of these Project Definition tasks. See Methods for Creating Sam Analysis Projects for more information on these interfaces.
After exploring the database and determining the proper criteria for their project, physicts will define their project using one of the Project Definition interfaces, noted above. Defining a project captures the criteria for the project. This definition is then used to create a project snapshot which records the files that the criteria would return at that specific point in time. Additional snapshots can be captured later if more files that meet the criteria are created by either the Run or subsequent data. This project snapshot will be used by the Station Master to start the running analysis project. Next, projects are started by contacting the Station Master. Station Master in turn contacts the Project Master, which starts the project and begins serving data. Other users can join the running analysis project by simply contacting the Project Master. Station Master Station Master communicates with the SAM optimizer and policies and is knowledgeable of the limited resources that SAM is managing. Station Master determines the appropriate resources to allocate for the requested analysis projects. Project Master Project Master maintains control of running projects, and is the portal through which users communicate to running analysis projects. It communicates with the Stagers to determine where to serve the data files that are retrieved, and with Consumers to indicate when files are ready. For details on how it communicates with Stagers and Consumers, see Interfaces - Behind the Scenes.
A number of additional servers are available in SAM with interfaces that support the above user operations. The interfaces from these layers to themselves and to the user interface layers encapsulates high level functions away from user code.
Stager The Stager determines where to return the files served by a running analysis project, based on a complicated set of resource restrictions, working group policies, and more. It is then responsible for accepting data files from the tape robot and serving them to the appropriate location. It will also clean up and reuse space within the alloted staging areas as defined by its policies. Consumer Consumers will register, re-register if their process died, check the status of running consumer processes and more. Most consumer operations will be performed through the Project Master, with users accessing the Project Master and it knowing when it needs to cooperate with Consumers. Replenisher Database Server The Database Server coordinates all requests to the database from the various other components of SAM. Station Master, Project Master, Project Definition, Consumer, and more all make numerous inquiries and updates to the database through Database Server. Currently the Database Server has one IDL interface into it's entire structure. This is being parcelled out into separate IDL for the different requirements of SAM. Logger Info Server The infoserver is responsible for gathering information from the online sam system through a log file, and from the database using the sam_db_server.
| For help contact: sam-admin@fnal.gov |