Application specific tools
Download
1 / 51

Application-specific Tools - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

Application-specific Tools. Netsolve, Ninf, and NEOS CSE 225 Chas Wurster. Outline. Goal of application-specific tools General issues Netsolve Ninf NEOS Comparisons. Goals. Easy access to the Grid. Provide specific services. High performance. General Issues. Ease of use Scheduling

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Application-specific Tools' - terena


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Application specific tools

Application-specific Tools

Netsolve, Ninf, and NEOS

CSE 225

Chas Wurster


Outline
Outline

  • Goal of application-specific tools

  • General issues

  • Netsolve

  • Ninf

  • NEOS

  • Comparisons

UCSD CSE225 presentation by Chas Wurster


Goals
Goals

  • Easy access to the Grid.

  • Provide specific services.

  • High performance.

UCSD CSE225 presentation by Chas Wurster


General issues
General Issues

  • Ease of use

  • Scheduling

  • Heterogeneous Problems

UCSD CSE225 presentation by Chas Wurster


Ease of use
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.).

UCSD CSE225 presentation by Chas Wurster


Scheduling for global computing
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?

UCSD CSE225 presentation by Chas Wurster


Issues for global scheduling
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

UCSD CSE225 presentation by Chas Wurster


Requirements for global scheduling
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

UCSD CSE225 presentation by Chas Wurster


Heterogeneous issues
Heterogeneous Issues

  • Problems

    • Erroneous Results

    • Deadlock

  • Reasons

    • Differences in FP ops (IEEE vs. Cray)

    • Precision

    • Network Communication

UCSD CSE225 presentation by Chas Wurster


Netsolve
Netsolve

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

UCSD CSE225 presentation by Chas Wurster


Overview of netsolve
Overview of Netsolve

Server Side

Agents

Client Side

Server

Client

Proxy

Client

Agent

MPP

Server

Proxy

Client

Proxy

Client

Agent

request

Network

of

Servers

Client

Client

Proxy

request

Server

Proxy

response

UCSD CSE225 presentation by Chas Wurster


Client
Client

  • Simple to use

  • Wide range of interfaces

    • Fortran, C, Matlab, Mathematica, Java

  • Synchronous and asynchronous calls

UCSD CSE225 presentation by Chas Wurster


Agent
Agent

  • Database

    • Servers

    • Resources on each server

  • Resource Broker

    • Server selection

  • Fault-tolerance

    • Agent can handle server failures

UCSD CSE225 presentation by Chas Wurster


Server
Server

  • Uniform access to software

  • Configurability

  • Preinstallation

  • Benchmarking

UCSD CSE225 presentation by Chas Wurster


Example
Example

  • Matrix multiplication

  • Matlab command

    • c = a * b

    • c, a, b are matrixes

UCSD CSE225 presentation by Chas Wurster


Walkthrough new service
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

UCSD CSE225 presentation by Chas Wurster


Walkthrough using service
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

UCSD CSE225 presentation by Chas Wurster


Netsolve example
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

    ... ...

UCSD CSE225 presentation by Chas Wurster


Results
Results

UCSD CSE225 presentation by Chas Wurster


Integration
Integration

  • Ninf

  • Legion

  • Globus

  • Condor

  • IBP

  • NWS

UCSD CSE225 presentation by Chas Wurster


Integration notes cont
Integration (notes cont.)

UCSD CSE225 presentation by Chas Wurster


Netsolve conclusion
Netsolve Conclusion

  • Cannot handle intermediate data

  • Easily integrated into the grid

  • Provides excellent results for large problems

UCSD CSE225 presentation by Chas Wurster


Ninf

  • Networked infrastructure for global computing

  • Provides a globally distributed parallel computing environment

UCSD CSE225 presentation by Chas Wurster


Overview of ninf

Ninf

Server

Ninf

Server

Ninf

Server

NumericalRoutine

NumericalRoutine

NumericalRoutine

NumericalRoutine

NumericalRoutine

NumericalRoutine

NumericalRoutine

NumericalRoutine

NumericalRoutine

Overview of Ninf

  • Remote high-performance routine invocation

  • Transparent view to the programmers

  • Automatic workload distribution

C Client

Java

Client

MetaServer

Mathematica

Client

UCSD CSE225 presentation by Chas Wurster


Client1
Client

  • Simple to use

  • Interfaces include

    • Fortran, C/C++, Java, Excel, Mathematica

  • Synchronous and Asynchronous calls

  • Callbacks

UCSD CSE225 presentation by Chas Wurster


Metaserver
Metaserver

  • Server location

  • Functions available on server

  • Bandwidth based distance

  • Computational ability of server

  • State of the server (load)

  • Java based

UCSD CSE225 presentation by Chas Wurster


Metaserver architecture
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

UCSD CSE225 presentation by Chas Wurster


Metaserver features
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

  • UCSD CSE225 presentation by Chas Wurster


    Metaserver scheduling
    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

    UCSD CSE225 presentation by Chas Wurster


    Metaserver scheduling 2
    MetaServer Scheduling(2)

    • Network Status

      • Latency

      • Throughput

    • Computation Characteristics

      • Calculation order

      • communication size

      • Declared in the Interface description

      • Computed using actual arguments

    UCSD CSE225 presentation by Chas Wurster


    Metaserver communication
    MetaServer Communication

    • Propagate information about registered services

    • Handles finding a server on a different MetaServer for the client

    UCSD CSE225 presentation by Chas Wurster


    Server1
    Server

    • Process to service remote requests

    • Binaries of libraries and applications are registered with the process

    • Web based data as arguments

    UCSD CSE225 presentation by Chas Wurster


    Example1
    Example

    • Matrix multiplication

    • Standard call

      • double A[N][N],B[N][N],C[N][N]; /* declaration */

      • dmmul(N,A,B,C); /* call matrix multiply*/

    UCSD CSE225 presentation by Chas Wurster


    Ninf idl
    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. */

    UCSD CSE225 presentation by Chas Wurster


    Ninf registration
    Ninf Registration

    • Take IDL and create a server stub

    • Connect stubs to library routines

    • Register library with the MetaServer

    • MetaServer tells other MetaServers

    UCSD CSE225 presentation by Chas Wurster


    Ninf example
    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);

  • UCSD CSE225 presentation by Chas Wurster


    Results1
    Results

    UCSD CSE225 presentation by Chas Wurster


    Integrations
    Integrations

    • Main integration is Netsolve

    • Looking at

      • NWS

      • Standardization

    UCSD CSE225 presentation by Chas Wurster


    Conclusion
    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

    UCSD CSE225 presentation by Chas Wurster


    NEOS

    • Provides easy access to individual solvers

    • Web and email based

    UCSD CSE225 presentation by Chas Wurster


    Overview of neos
    Overview of NEOS

    Solvers

    Single Server

    Clients

    Solver

    daemon

    Email

    Mail Client

    Solver

    daemon

    Web

    Engine

    Web Client

    Server

    Java Client

    daemon

    Solver

    UCSD CSE225 presentation by Chas Wurster


    Client2
    Client

    • Submission tool (Java)

    • Email

    • Web

    UCSD CSE225 presentation by Chas Wurster


    Server2
    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

    UCSD CSE225 presentation by Chas Wurster


    Neos solver
    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

    UCSD CSE225 presentation by Chas Wurster


    Example2
    Example

    • BonsaiG

      • Branch and Bound solver for MILP problems

      • Submitted via email

      • Returned a solution quickly

    UCSD CSE225 presentation by Chas Wurster


    Conclusion1
    Conclusion

    • NEOS is Web-centric

    • NEOS servers are not interconnected

    • NEOS is being used

      • 108,118 requests at Argonne in Dec. 1999

    UCSD CSE225 presentation by Chas Wurster


    Metaneos
    MetaNEOS

    • Collaboration between researchers at Condor and Globus

    • Use the Grid to solve optimizations

    • Make solver more available

    UCSD CSE225 presentation by Chas Wurster


    Metaneos goals
    MetaNEOS Goals

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

    UCSD CSE225 presentation by Chas Wurster


    Metaneos specifics
    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

    UCSD CSE225 presentation by Chas Wurster


    Comparisons
    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

    UCSD CSE225 presentation by Chas Wurster


    Conclusions
    Conclusions

    • Application-Specific tools are counting of the Grid for critical services.

    • The tools are ready to be used.

    • The tools perform well.

    UCSD CSE225 presentation by Chas Wurster


    ad