Application specific tools
This presentation is the property of its rightful owner.
Sponsored Links
1 / 51

Application-specific Tools PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Application-specific Tools

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


Application specific tools

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


    Application specific tools

    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


  • Login