1 / 51

Application-specific Tools

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

terena
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 UCSD CSE225 presentation by Chas Wurster

  3. Goals • Easy access to the Grid. • Provide specific services. • High performance. UCSD CSE225 presentation by Chas Wurster

  4. General Issues • Ease of use • Scheduling • Heterogeneous Problems UCSD CSE225 presentation by Chas Wurster

  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.). UCSD CSE225 presentation by Chas Wurster

  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? UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

  9. Heterogeneous Issues • Problems • Erroneous Results • Deadlock • Reasons • Differences in FP ops (IEEE vs. Cray) • Precision • Network Communication UCSD CSE225 presentation by Chas Wurster

  10. Netsolve • Allows users to access computational resources for scientific computing without installing the resources on the users computer. UCSD CSE225 presentation by Chas Wurster

  11. 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

  12. Client • Simple to use • Wide range of interfaces • Fortran, C, Matlab, Mathematica, Java • Synchronous and asynchronous calls UCSD CSE225 presentation by Chas Wurster

  13. Agent • Database • Servers • Resources on each server • Resource Broker • Server selection • Fault-tolerance • Agent can handle server failures UCSD CSE225 presentation by Chas Wurster

  14. Server • Uniform access to software • Configurability • Preinstallation • Benchmarking UCSD CSE225 presentation by Chas Wurster

  15. Example • Matrix multiplication • Matlab command • c = a * b • c, a, b are matrixes UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

  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 ... ... UCSD CSE225 presentation by Chas Wurster

  19. Results UCSD CSE225 presentation by Chas Wurster

  20. Integration • Ninf • Legion • Globus • Condor • IBP • NWS UCSD CSE225 presentation by Chas Wurster

  21. Integration (notes cont.) UCSD CSE225 presentation by Chas Wurster

  22. Netsolve Conclusion • Cannot handle intermediate data • Easily integrated into the grid • Provides excellent results for large problems UCSD CSE225 presentation by Chas Wurster

  23. Ninf • Networked infrastructure for global computing • Provides a globally distributed parallel computing environment UCSD CSE225 presentation by Chas Wurster

  24. 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

  25. Client • Simple to use • Interfaces include • Fortran, C/C++, Java, Excel, Mathematica • Synchronous and Asynchronous calls • Callbacks UCSD CSE225 presentation by Chas Wurster

  26. 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

  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 UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

  30. 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

  31. MetaServer Communication • Propagate information about registered services • Handles finding a server on a different MetaServer for the client UCSD CSE225 presentation by Chas Wurster

  32. 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

  33. 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

  34. 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

  35. 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

  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); UCSD CSE225 presentation by Chas Wurster

  37. Results UCSD CSE225 presentation by Chas Wurster

  38. Integrations • Main integration is Netsolve • Looking at • NWS • Standardization UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

  40. NEOS • Provides easy access to individual solvers • Web and email based UCSD CSE225 presentation by Chas Wurster

  41. 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

  42. Client • Submission tool (Java) • Email • Web UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

  45. Example • BonsaiG • Branch and Bound solver for MILP problems • Submitted via email • Returned a solution quickly UCSD CSE225 presentation by Chas Wurster

  46. 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

  47. MetaNEOS • Collaboration between researchers at Condor and Globus • Use the Grid to solve optimizations • Make solver more available UCSD CSE225 presentation by Chas Wurster

  48. 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

  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 UCSD CSE225 presentation by Chas Wurster

  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 UCSD CSE225 presentation by Chas Wurster

More Related