Users' Guide to NetSolve V1.4

Dorian Arnold

Sudesh Agrawal

Susan Blackford

Jack Dongarra

Michelle Miller

Kiran Sagi

Zhiao Shi

Sathish Vadhiyar

Innovative Computing Laboratory, Department of Computer Science, University of Tennessee

 Knoxville, TN 37996-3450

Legal Restrictions

Allowed Usage:

Users may use NetSolve in any capacity they wish. We only ask that proper credit and citations be used when the NetSolve system is being leveraged in other software systems.

Redistribution:

Users are allowed to freely distribute the NetSolve system in unmodified form. At no time is a user to accept monetary or other compensation for redistributing parts or all of the NetSolve system.

Modification of Code:

Users are free to make whatever changes they wish to the NetSolve system to suit their personal needs. We mandate, however, that you clearly highlight which portions are of the original system and which are a result of the third-party modification.

Warranty Disclaimer:

USER ACKNOWLEDGES AND AGREES THAT: (A) NEITHER THE NetSolve TEAM NOR THE BOARD OF REGENTS OF THE UNIVERSITY OF TENNESSEE SYSTEM (REGENTS) MAKE ANY REPRESENTATIONS OR WARRANTIES WHATSOEVER ABOUT THE SUITABILITY OF NetSolve FOR ANY PURPOSE; (B) NetSolve IS PROVIDED ON AN "AS IS, WITH ALL DEFECTS" BASIS WITHOUT EXPRESS OR IMPLIED WARRANTIES, INCLUDING WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT; (C) NEITHER THE NetSolve TEAM NOR THE REGENTS SHALL BE LIABLE FOR ANY DAMAGE OR LOSS OF ANY KIND ARISING OUT OF OR RESULTING FROM USER'S POSSESSION OR USE OF NetSolve (INCLUDING DATA LOSS OR CORRUPTION), REGARDLESS OF WHETHER SUCH LIABILITY IS BASED IN TORT, CONTRACT, OR OTHERWISE; AND (D) NEITHER THE NetSolve TEAM NOR THE REGENTS HAVE AN OBLIGATION TO PROVIDE DEBUGGING, MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS EXCEPT WHERE EXPLICIT WRITTEN ARRANGEMENTS HAVE BEEN PRE-ARRANGED.

Damages Disclaimer:

USER ACKNOWLEDGES AND AGREES THAT IN NO EVENT WILL THE NetSolve TEAM OR THE REGENTS BE LIABLE TO USER FOR ANY SPECIAL, CONSEQUENTIAL, INDIRECT OR SIMILAR DAMAGES, INCLUDING ANY LOST PROFITS OR LOST DATA ARISING OUT OF THE USE OR INABILITY TO USE NetSolve EVEN IF THE NetSolve TEAM OR THE REGENTS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Attribution Requirement:

User agrees that any reports, publications, or other disclosure of results obtained with NetSolve will attribute its use by an appropriate citation. The appropriate reference for NetSolve is "The NetSolve Software Program (NetSolve) was developed by the NetSolve Team at the Computer Science Department of the University of Tennessee, Knoxville. All rights, title, and interest in NetSolve are owned by the NetSolve Team."

Compliance with Applicable Laws:

User agrees to abide by copyright law and all other applicable laws of the United States including, but not limited to, export control laws.


Table of Contents
Preface
Who Should Read This Document
Organization of This Document
Document Conventions
Request for Comments
I. Introduction
1. A NetSolve Overview
An Introduction to Distributed Computing
What is NetSolve?
Who is the NetSolve User?
The Status of NetSolve
2. Related Projects and Systems
II. The User's Manual
3. Downloading, Installing, and Testing the Client
Installation on Unix Systems
Testing the Unix installation
Installation on Windows systems
Testing the Windows installation
4. Introduction to the NetSolve Client
NetSolve Problem Specification
Available Client Interfaces
Problems that can be solved with NetSolve
Naming Scheme for a NetSolve problem
5. C and Fortran77 Interfaces
Introduction
What is the Calling Sequence?
Blocking Call
Nonblocking Call
Catching errors
Row- or column-major
Limitations of the Fortran77 interface
Built-in examples
6. Matlab Interface
Introduction
What to Do First
Calling netsolve() to perform computation
Calling netsolve_nb()
What Can Go Wrong?
Catching NetSolve errors
Demo
Optional: Testing the NetSolve BLAS interfaces
Optional: Testing the NetSolve LAPACK interfaces
Optional: Testing the NetSolve ScaLAPACK interfaces
Optional: Testing the NetSolve 'sparse_iterative_solve' interface
Optional: Testing the NetSolve 'sparse_direct_solve' interface
7. Mathematica Interface
Introduction
What to do first
Blocking call to NetSolve
Nonblocking Call to NetSolve
Catching Errors
Demo
Optional: Testing the NetSolve BLAS interfaces
Optional: Testing the NetSolve LAPACK interfaces
8. NetSolve Request Farming
How to call farming
An example
Catching errors
Current Implementation and Future Improvements
9. NetSolve Request Sequencing
Goals and Methodologies
The Application Programming Interface
Execution Scheduling at the Server
10. Security in NetSolve Client
Introduction
Compiling a Kerberized Server
Running a Kerberized NetSolve Client
11. The User-Supplied Function Feature
Motivation
Solution
For the Client
For the Server
Conclusion
12. Troubleshooting
Details of the Makefile.NETSOLVE_ARCH.inc File
III. The Administrator's Manual
13. Downloading, Installing, and Testing the Agent and Server
Installation on Unix Systems
Testing the Software
Expanding the Server Capabilities
14. Running the NetSolve Agent
15. Running the NetSolve Server
Starting a Server
The Server Configuration File
16. NetSolve Management Tools for Administrators
NS_conf
NS_problems
NS_probdesc
NS_killagent
NS_killserver
NS_killall
17. The Problem Description File
Contents of a Problem Description File
18. Security in NetSolve
Introduction
Compiling a Kerberized Server
Installing a Kerberized Server
Running a Kerberized Server
IV. Miscellaneous Features
19. Using the Network Weather Service
Introduction
To Use NWS:
NWS Components utilized in NetSolve
NetSolve agent and the NWS nameserver, memory and forecast
NetSolve server and the NWS sensor
20. Distributed Storage Infrastructure (DSI) in NetSolve
Introduction
To Use DSI:
DSI APIs:
Example
V. References
21. Matlab Reference Manual
22. C Reference Manual
23. Fortran Reference Manual
24. Error Handling in NetSolve
VI. Appendices
A. Complete C Example
B. Complete Fortran77 Example
Bibliography