Download presentation
Presentation is loading. Please wait.
1
Application-specific Tools Netsolve, Ninf, and NEOS CSE 225 Chas Wurster
2
UCSD CSE225 presentation by Chas Wurster Outline Goal of application-specific tools General issues Netsolve Ninf NEOS Comparisons
3
UCSD CSE225 presentation by Chas Wurster Goals Easy access to the Grid. Provide specific services. High performance.
4
UCSD CSE225 presentation by Chas Wurster General Issues Ease of use Scheduling Heterogeneous Problems
5
UCSD CSE225 presentation by Chas Wurster Ease of Use Users are not computer scientists. Users must want to use the system. Need to integrate with existing client programs (Matamatica, Matlab, etc.).
6
UCSD CSE225 presentation by Chas Wurster Scheduling for Global Computing Dispatch computation to the Most Suitable Computation Server Server / Network Status dynamically change Status information is distributed Scheduling is inherently difficult What is the Most Suitable?
7
UCSD CSE225 presentation by Chas Wurster Issues for Global Scheduling Load imbalance comes from ignoring server status server characteristics communication issues computation characteristics False load concentration Delay of load information propagation Security
8
UCSD CSE225 presentation by Chas Wurster Requirements for Global Scheduling Gathering various Information Server Status Load average, CPU time breakdown (system, user, idle) Server Characteristics Performance, Number of CPU, Amount of Memory Network Status Latency, Throughput Computation Characteristics Calculation order, communication size
9
UCSD CSE225 presentation by Chas Wurster Heterogeneous Issues Problems Erroneous Results Deadlock Reasons Differences in FP ops (IEEE vs. Cray) Precision Network Communication
10
UCSD CSE225 presentation by Chas Wurster Netsolve Allows users to access computational resources for scientific computing without installing the resources on the users computer.
11
UCSD CSE225 presentation by Chas Wurster Client Client Side Server Side Client Server MPP request Client Proxy Client Proxy Server Proxy Server Proxy Server Proxy Server Proxy Network of Servers Overview of Netsolve Agents Client Proxy Client Proxy Client Proxy Client Proxy Agent request response
12
UCSD CSE225 presentation by Chas Wurster Client Simple to use Wide range of interfaces Fortran, C, Matlab, Mathematica, Java Synchronous and asynchronous calls
13
UCSD CSE225 presentation by Chas Wurster Agent Database Servers Resources on each server Resource Broker Server selection Fault-tolerance Agent can handle server failures
14
UCSD CSE225 presentation by Chas Wurster Server Uniform access to software Configurability Preinstallation Benchmarking
15
UCSD CSE225 presentation by Chas Wurster Example Matrix multiplication Matlab command c = a * b c, a, b are matrixes
16
UCSD CSE225 presentation by Chas Wurster Walkthrough (New Service) Create IDL IDL must support all client languages Write server app Distribute app to servers Benchmark app on servers Register servers with agents
17
UCSD CSE225 presentation by Chas Wurster Walkthrough (Using Service) Client looks up services supported Matlab, Mathamatica, and Java have GUIs C and Fortran must be looked up by hand Client calls the agent based on the IDL When the call is made the interface is pulled to the client (no stubs are needed) Agent finds best server Server returns results
18
UCSD CSE225 presentation by Chas Wurster Netsolve Example Matlab Function [x y] = netsolve('eig',a) Returns Contacting server on cupid.cs.utk.edu x = y = 10.1204 0 -0.9801 0.8991...
19
UCSD CSE225 presentation by Chas Wurster Results
20
UCSD CSE225 presentation by Chas Wurster Integration Ninf Legion Globus Condor IBP NWS
21
UCSD CSE225 presentation by Chas Wurster Integration (notes cont.)
22
UCSD CSE225 presentation by Chas Wurster Netsolve Conclusion Cannot handle intermediate data Easily integrated into the grid Provides excellent results for large problems
23
UCSD CSE225 presentation by Chas Wurster Ninf Networked infrastructure for global computing Provides a globally distributed parallel computing environment
24
UCSD CSE225 presentation by Chas Wurster Overview of Ninf MetaServer C Client NumericalRoutine Ninf Server Ninf Server NumericalRoutine Ninf Server Ninf Server NumericalRoutine Ninf Server Ninf Server Mathematica Client Java Client Remote high- performance routine invocation Transparent view to the programmers Automatic workload distribution
25
UCSD CSE225 presentation by Chas Wurster Client Simple to use Interfaces include Fortran, C/C++, Java, Excel, Mathematica Synchronous and Asynchronous calls Callbacks
26
UCSD CSE225 presentation by Chas Wurster Metaserver Server location Functions available on server Bandwidth based distance Computational ability of server State of the server (load) Java based
27
UCSD CSE225 presentation by Chas Wurster MetaServer Architecture Client Client Side Server Side Client Server Directory Service Directory Service Scheduler Data Throughput Measurement Load query Schedule query Client Proxy Client Proxy Server Proxy Server Proxy Server Probe Module Server Probe Module Server Proxy Server Proxy Server Proxy Server Proxy MetaServer
28
UCSD CSE225 presentation by Chas Wurster MetaServer Features Parallel programming Ninf_transaction_begin() Ninf_call("dmmul",N,A,B,E); Ninf_call("dmmul",N,C,D,F); Ninf_call("dmmul",N,E,F,G); Ninf_transaction_end() Load balancing and Scheduling MetaServer to MetaServer communication
29
UCSD CSE225 presentation by Chas Wurster MetaServer Scheduling Server Status Load average CPU time breakdown Server Characteristics Measured using linpack benchmark Number of CPUs is taken from a configuration file Amount of Memory is automatically detected
30
UCSD CSE225 presentation by Chas Wurster MetaServer Scheduling(2) Network Status Latency Throughput Computation Characteristics Calculation order communication size Declared in the Interface description Computed using actual arguments
31
UCSD CSE225 presentation by Chas Wurster MetaServer Communication Propagate information about registered services Handles finding a server on a different MetaServer for the client
32
UCSD CSE225 presentation by Chas Wurster Server Process to service remote requests Binaries of libraries and applications are registered with the process Web based data as arguments
33
UCSD CSE225 presentation by Chas Wurster Example Matrix multiplication Standard call double A[N][N],B[N][N],C[N][N]; /* declaration */ dmmul(N,A,B,C); /* call matrix multiply*/
34
UCSD CSE225 presentation by Chas Wurster Ninf IDL Matrix multiply Define dmmul(long mode_in int n, mode_in double A[n][n], mode_in double B[n][n], mode_out double C[n][n]) "... description..." Required "libxxx.o" /* specify library including this routine. */ Calls "C" dmmul(n,A,B,C); /* Use C calling convention. */
35
UCSD CSE225 presentation by Chas Wurster Ninf Registration Take IDL and create a server stub Connect stubs to library routines Register library with the MetaServer MetaServer tells other MetaServers
36
UCSD CSE225 presentation by Chas Wurster Ninf Example Ninf call Ninf_call("dmmul",N,A,B,C); /* call remote Ninf library on server */ Server specific Ninf call Ninf_call(“ninf://…/dmmul",N,A,B,C); Data location Ninf call Ninf_call(“dmmul",N,”http://.../…”,B,C);
37
UCSD CSE225 presentation by Chas Wurster Results
38
UCSD CSE225 presentation by Chas Wurster Integrations Main integration is Netsolve Looking at NWS Standardization
39
UCSD CSE225 presentation by Chas Wurster Conclusion Ninf Client Provides easy access to resource Ninf MetaServer Architecture Gathers distributed information periodically Provides scheduling framework Ninf Server Interface for numerical libraries Preliminary Evaluations Ninf overhead is worthwhile for large problems
40
UCSD CSE225 presentation by Chas Wurster NEOS Provides easy access to individual solvers Web and email based
41
UCSD CSE225 presentation by Chas Wurster Overview of NEOS Web Client Clients Java Client Solver daemon Single Server Mail Client Web Server Solvers Email daemon Engine Solver daemon
42
UCSD CSE225 presentation by Chas Wurster Client Submission tool (Java) Email Web
43
UCSD CSE225 presentation by Chas Wurster Server Can be downloaded from NEOS On installation Sets up website and CGI scripts Creates a database for tracking submissions Creates how to add solvers web page You are in charge of letting people know how to find the server
44
UCSD CSE225 presentation by Chas Wurster NEOS Solver Registering new solver Use the client tool to submit solver Best to email NEOS and ask for a similar sample to modify Setup communication Install communications package
45
UCSD CSE225 presentation by Chas Wurster Example BonsaiG Branch and Bound solver for MILP problems Submitted via email Returned a solution quickly
46
UCSD CSE225 presentation by Chas Wurster Conclusion NEOS is Web-centric NEOS servers are not interconnected NEOS is being used 108,118 requests at Argonne in Dec. 1999
47
UCSD CSE225 presentation by Chas Wurster MetaNEOS Collaboration between researchers at Condor and Globus Use the Grid to solve optimizations Make solver more available
48
UCSD CSE225 presentation by Chas Wurster MetaNEOS Goals Process very large jobs in parallel by splitting them into tasks and distributing the tasks around its collection of computing resources
49
UCSD CSE225 presentation by Chas Wurster MetaNEOS Specifics Designing and Implementing enhanced programming interfaces Discover algorithms that fit the platforms Implement solvers for important problem classes Driving the development of metacomputing infrastructure
50
UCSD CSE225 presentation by Chas Wurster Comparisons Netsolve vs. Ninf Netsolve agents do not share load info but Ninf does Netsolve IDL is more complicated than Ninf IDL but give 100% of LAPACK instead of 40% NEOS is also an application-specific tool but is quite different
51
UCSD CSE225 presentation by Chas Wurster Conclusions Application-Specific tools are counting of the Grid for critical services. The tools are ready to be used. The tools perform well.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.