Application-specific Tools - PowerPoint PPT Presentation

About This Presentation
Title:

Application-specific Tools

Description:

Ease of use. Scheduling. Heterogeneous Problems. UCSD CSE225 presentation by Chas Wurster. Ease of Use. Users are not computer scientists. Users must want to use ... – PowerPoint PPT presentation

Number of Views:238
Avg rating:3.0/5.0
Slides: 52
Provided by: char56
Learn more at: https://cseweb.ucsd.edu
Category:

less

Transcript and Presenter's Notes

Title: Application-specific Tools


1
Application-specific Tools
  • Netsolve, Ninf, and NEOS
  • CSE 225
  • Chas Wurster

2
Outline
  • Goal of application-specific tools
  • General issues
  • Netsolve
  • Ninf
  • NEOS
  • Comparisons

3
Goals
  • Easy access to the Grid.
  • Provide specific services.
  • High performance.

4
General Issues
  • Ease of use
  • Scheduling
  • Heterogeneous Problems

5
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
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
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
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
Heterogeneous Issues
  • Problems
  • Erroneous Results
  • Deadlock
  • Reasons
  • Differences in FP ops (IEEE vs. Cray)
  • Precision
  • Network Communication

10
Netsolve
  • Allows users to access computational resources
    for scientific computing without installing the
    resources on the users computer.

11
Overview of Netsolve
Server Side
Agents
Client Side
Server
Client Proxy
Client
MPP
Agent
Server Proxy
Client Proxy
Client
Agent
request
Network of Servers
Client
Client Proxy
Server Proxy
request
response
12
Client
  • Simple to use
  • Wide range of interfaces
  • Fortran, C, Matlab, Mathematica, Java
  • Synchronous and asynchronous calls

13
Agent
  • Database
  • Servers
  • Resources on each server
  • Resource Broker
  • Server selection
  • Fault-tolerance
  • Agent can handle server failures

14
Server
  • Uniform access to software
  • Configurability
  • Preinstallation
  • Benchmarking

15
Example
  • Matrix multiplication
  • Matlab command
  • c a b
  • c, a, b are matrixes

16
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
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
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
Results
20
Integration
  • Ninf
  • Legion
  • Globus
  • Condor
  • IBP
  • NWS

21
Integration (notes cont.)
22
Netsolve Conclusion
  • Cannot handle intermediate data
  • Easily integrated into the grid
  • Provides excellent results for large problems

23
Ninf
  • Networked infrastructure for global computing
  • Provides a globally distributed parallel
    computing environment

24
Overview of Ninf
  • Remote high-performance routine invocation
  • Transparent view to the programmers
  • Automatic workload distribution

C Client
Java Client
MetaServer
Mathematica Client
25
Client
  • Simple to use
  • Interfaces include
  • Fortran, C/C, Java, Excel, Mathematica
  • Synchronous and Asynchronous calls
  • Callbacks

26
Metaserver
  • Server location
  • Functions available on server
  • Bandwidth based distance
  • Computational ability of server
  • State of the server (load)
  • Java based

27
MetaServer Architecture
Directory Service
Server Side
Server Proxy
MetaServer
Client Side
Scheduler
Server Probe Module
Server Proxy
Client
Server
Load query
Schedule query
Data
Client
Client Proxy
Server Proxy
Server
Throughput Measurement
28
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
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
MetaServer Scheduling(2)
  • Network Status
  • Latency
  • Throughput
  • Computation Characteristics
  • Calculation order
  • communication size
  • Declared in the Interface description
  • Computed using actual arguments

31
MetaServer Communication
  • Propagate information about registered services
  • Handles finding a server on a different
    MetaServer for the client

32
Server
  • Process to service remote requests
  • Binaries of libraries and applications are
    registered with the process
  • Web based data as arguments

33
Example
  • Matrix multiplication
  • Standard call
  • double ANN,BNN,CNN / declaration /
  • dmmul(N,A,B,C) / call matrix multiply/

34
Ninf IDL
  • Matrix multiply
  • Define dmmul(long mode_in int n, mode_in double
    Ann, mode_in double Bnn, mode_out double
    Cnn)
  • "... description ..."
  • Required "libxxx.o" / specify library including
    this routine. /
  • Calls "C" dmmul(n,A,B,C) / Use C calling
    convention. /

35
Ninf Registration
  • Take IDL and create a server stub
  • Connect stubs to library routines
  • Register library with the MetaServer
  • MetaServer tells other MetaServers

36
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
Results
38
Integrations
  • Main integration is Netsolve
  • Looking at
  • NWS
  • Standardization

39
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
NEOS
  • Provides easy access to individual solvers
  • Web and email based

41
Overview of NEOS
Solvers
Single Server
Clients
Solver
daemon
Email
Mail Client
Solver
daemon
Web
Engine
Web Client
Server
Java Client
daemon
Solver
42
Client
  • Submission tool (Java)
  • Email
  • Web

43
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
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
Example
  • BonsaiG
  • Branch and Bound solver for MILP problems
  • Submitted via email
  • Returned a solution quickly

46
Conclusion
  • NEOS is Web-centric
  • NEOS servers are not interconnected
  • NEOS is being used
  • 108,118 requests at Argonne in Dec. 1999

47
MetaNEOS
  • Collaboration between researchers at Condor and
    Globus
  • Use the Grid to solve optimizations
  • Make solver more available

48
MetaNEOS Goals
  • Process very large jobs in parallel by splitting
    them into tasks and distributing the tasks around
    its collection of computing resources

49
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
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
Conclusions
  • Application-Specific tools are counting of the
    Grid for critical services.
  • The tools are ready to be used.
  • The tools perform well.
Write a Comment
User Comments (0)
About PowerShow.com