Скачать презентацию Problem Solving with Net Solve Michelle Miller Keith Скачать презентацию Problem Solving with Net Solve Michelle Miller Keith

bc24a9fb42fc7c40a4eae27aa75a16fb.ppt

  • Количество слайдов: 33

Problem Solving with Net. Solve Michelle Miller, Keith Moore, Susan Blackford, Net. Solve group, Problem Solving with Net. Solve Michelle Miller, Keith Moore, Susan Blackford, Net. Solve group, Innovative Computing Lab, University of Tennessee [email protected] utk. edu [email protected] utk. edu [email protected] utk. edu www. cs. utk. edu/[email protected] utk. edu

Net. Solve • Problem Statement – Software libraries could be easier to install and Net. Solve • Problem Statement – Software libraries could be easier to install and use • Locate library • Configure and install library on local machine – Need access to bigger/different machines

Net. Solve • Solution – Simple, consistent interface to numeric packages – Ease of Net. Solve • Solution – Simple, consistent interface to numeric packages – Ease of use – locate/use already configured/installed/running solvers through simple procedure call – Resource sharing (hardware & software) • Greater access to machine resources • New software packages made available simply

Net. Solve Architecture Server 1 Agent blas, petsc Server 2 lapack, mcell Client Proxy Net. Solve Architecture Server 1 Agent blas, petsc Server 2 lapack, mcell Client Proxy Server 3 blas, itpack Server 4 super. LU Matlab Client Server 5 aztec, MA 28

Net. Solve Architecture Server 1 Agent blas, petsc Server 2 lapack, mcell Client Proxy Net. Solve Architecture Server 1 Agent blas, petsc Server 2 lapack, mcell Client Proxy Server 3 blas, itpack netsolve(‘problem. X’, A, rhs) Server 4 super. LU Matlab Client Server 5 aztec, MA 28

Net. Solve Architecture Server 1 Agent Servers? blas, petsc Server 2 lapack, mcell Client Net. Solve Architecture Server 1 Agent Servers? blas, petsc Server 2 lapack, mcell Client Proxy Server 3 blas, itpack netsolve(‘problem. X’, A, rhs) Server 4 super. LU Matlab Client Server 5 aztec, MA 28

Net. Solve Architecture workload Agent Servers? Client Proxy Server 1, Server 3 Server 1 Net. Solve Architecture workload Agent Servers? Client Proxy Server 1, Server 3 Server 1 blas, petsc Server 2 lapack, mcell Server 3 blas, itpack netsolve(‘problem. X’, A, rhs) Server 4 super. LU Matlab Client Server 5 aztec, MA 28

Net. Solve Architecture Server 1 Agent blas, petsc Server 2 lapack, mcell Client Proxy Net. Solve Architecture Server 1 Agent blas, petsc Server 2 lapack, mcell Client Proxy Server 3 blas, itpack problem. X, A, rhs Server 4 super. LU Matlab Client Server 5 aztec, MA 28

Net. Solve Architecture Server 1 Agent blas, petsc Server 2 lapack, mcell Client Proxy Net. Solve Architecture Server 1 Agent blas, petsc Server 2 lapack, mcell Client Proxy Server 3 blas, itpack result Server 4 super. LU Matlab Client Server 5 aztec, MA 28

Parallelism in Net. Solve • Task Farming – Single request issued that specifies data Parallelism in Net. Solve • Task Farming – Single request issued that specifies data partitioning – Data parallel, SPMD support

Task Farming Interface /*** BEFORE ***/ /*** AFTER preamble and initializations; ***/ preamble and Task Farming Interface /*** BEFORE ***/ /*** AFTER preamble and initializations; ***/ preamble and initializations; status 1 = netslnb(‘iqsort’, size 1, array 1, sorted 1); status_array = netsl_farm(‘iqsort’, array 2, sorted 2); status 2 = netslnb(‘iqsort’, size 2, “i=0, 19”, netsl_int. _array(size_array, “$i”), . . netsl_ptr_array(input_array, “$i”), status 20 = netslnb(‘iqsort’, size 20, array 20, sorted 20); netsl_ptr _array(sorted_array, “$i”)); program continues;

Request Sequencing • Sequence of computations • Data dependency analysis to reduce extra data Request Sequencing • Sequence of computations • Data dependency analysis to reduce extra data transfers in sequence steps • Transmit superset of all input/output parameters and make persistent near server(s) for duration of sequence execution.

Data Persistence sequence(A, B, B) command 1(A, E) Client Server result C input A, Data Persistence sequence(A, B, B) command 1(A, E) Client Server result C input A, intermediate output command 2(A, C) C Client Server result D intermediate output D, input E command 3(D, E) Client Server result F netsl_begin_sequence( ); netsl(“command 1”, A, B, C); netsl(“command 2”, A, C, D); netsl(“command 3”, D, E, F); netsl_end_sequence(C, D);

Net. Solve Applications • MCell (Salk Institute) – Monte Carlo simulator of cellular microphysiology Net. Solve Applications • MCell (Salk Institute) – Monte Carlo simulator of cellular microphysiology – synaptic transmission – Large numbers of same computation with different parameters (diffusion and chemical reaction calculations) – Task farming used for parallel runs

Net. Solve and Metacomputing Backends Net. Solve Client-Proxy Interface Net. Solve Proxy Globus Proxy Net. Solve and Metacomputing Backends Net. Solve Client-Proxy Interface Net. Solve Proxy Globus Proxy Net. Solve Services GRAM GASS Net. Solve Agent Net. Solve Servers MDS Client-Proxy Interface Ninf Proxy Ninf Services Client-Proxy Interface Legion Proxy Legion Services

Net. Solve Authentication with Kerberos • Kerberos used to maintain Access Control Lists and Net. Solve Authentication with Kerberos • Kerberos used to maintain Access Control Lists and manage access to computational resources. • Net. Solve properly handles authorized and non-authorized components together in the same system.

Net. Solve Authentication with Kerberos Net. Solve servers Net. Solve agent Kerberos KDC Typical Net. Solve Authentication with Kerberos Net. Solve servers Net. Solve agent Kerberos KDC Typical Net. Solve Transaction Net. Solve client Kerberized Interaction

Net. Solve Authentication with Kerberos Servers register their presence with the agent and KDC Net. Solve Authentication with Kerberos Servers register their presence with the agent and KDC Net. Solve servers Net. Solve agent Client sends ticket and input to server; server authenticates and returns the solution set Kerberos KDC Client requests ticket from KDC Client issues problem request; Agent responds with list of servers Client sends work request to server; server replies requesting authentication credentials Net. Solve client

NWS Integration Sensors report to NWS memory. Net. Solve Server CPU sensor Host Machine NWS Integration Sensors report to NWS memory. Net. Solve Server CPU sensor Host Machine Net. Solve Agent NWS Forecaster NWS Memory Host Machine Net. Solve Server CPU sensor Host Machine

NWS Integration Net. Solve Server CPU sensor Host Machine Net. Solve Agent NWS Forecaster NWS Integration Net. Solve Server CPU sensor Host Machine Net. Solve Agent NWS Forecaster NWS Memory Host Machine Net. Solve Server CPU sensor Host Machine

NWS Integration Agent probes NWS Forecaster Net. Solve Server CPU sensor Host Machine Net. NWS Integration Agent probes NWS Forecaster Net. Solve Server CPU sensor Host Machine Net. Solve Agent NWS Forecaster NWS Memory Host Machine Net. Solve Server CPU sensor Host Machine

NWS Integration Forecaster probes memory. Net. Solve Server CPU sensor Host Machine Net. Solve NWS Integration Forecaster probes memory. Net. Solve Server CPU sensor Host Machine Net. Solve Agent NWS Forecaster NWS Memory Host Machine Net. Solve Server CPU sensor Host Machine

NWS Integration Forecaster makes forecast Net. Solve Server CPU sensor Host Machine Net. Solve NWS Integration Forecaster makes forecast Net. Solve Server CPU sensor Host Machine Net. Solve Agent NWS Forecaster NWS Memory Host Machine Net. Solve Server CPU sensor Host Machine

NWS Integration Agent chooses server Net. Solve Server CPU sensor Host Machine Net. Solve NWS Integration Agent chooses server Net. Solve Server CPU sensor Host Machine Net. Solve Agent NWS Forecaster NWS Memory Host Machine Net. Solve Server CPU sensor Host Machine

Newly enabled libraries Newly enabled libraries

Sparse Matrices/Solvers • Support for compressed row/column sparse matrix storage -- significantly reduces SPOOLES Sparse Matrices/Solvers • Support for compressed row/column sparse matrix storage -- significantly reduces SPOOLES network data transmission. Super. LU • Iterative and direct solvers: PETSc, Aztec, Super. LU, Ma 28, … PETSc • All available solver packages will be made available from UTK Net. Solve servers and MA 28 others.

Matlab interface • Calls to PETSc, Aztec – [x, its] = netsolve(‘iterative_solve_parallel’, ‘PETSC’, A, Matlab interface • Calls to PETSc, Aztec – [x, its] = netsolve(‘iterative_solve_parallel’, ‘PETSC’, A, b, 1. e-6, 500); – [x, its] = netsolve(‘iterative_solve_parallel’, ‘AZTEC’, A, b, 1. e-6, 500); • Similar for Super. LU, MA 28 – [x] = netsolve(‘direct_solve_serial’, ’SUPERLU’, A, b, 0. 3, 1); – [x] = netsolve(‘direct_solve_serial’, ‘MA 28’, A, b, 0. 3, 1); • Calls to LAPACK, Sca. LAPACK – [lu, p, x, info] = netsolve(‘dgesv’, A, b); – [lu, p, x, info] = netsolve(‘pdgesv’, A, b);

‘Linear. Solve’ interface • Uncertain which library to choose? • ‘Linear. Solve’ interface chooses ‘Linear. Solve’ interface • Uncertain which library to choose? • ‘Linear. Solve’ interface chooses the library and appropriate routine for the user – [x] = netsolve(‘Linear. Solve’, A, b);

Heuristics • Interface analyzes the matrix A – matrix shape (square, rectangular)? • If Heuristics • Interface analyzes the matrix A – matrix shape (square, rectangular)? • If rectangular, choose linear least squares solver from LAPACK – matrix element density • If square, is the matrix sparse or dense? • Manually check the percentage of nonzeros and transform to sparse matrix format • If dense, is it symmetric?

Heuristics cont’d • If sparse, and dense band, use LAPACK • If sparse, and Heuristics cont’d • If sparse, and dense band, use LAPACK • If sparse, and if there is a block or diagonal structure (Aztec), can yield higher performance (level 3 BLAS) • If sparse, direct or iterative solver? – Size of the matrix (large matrix, fill-in for a direct method can be larger than iterative)

Heuristics cont’d – Numerical properties (direct solvers can handle more complicated matrices than iterative Heuristics cont’d – Numerical properties (direct solvers can handle more complicated matrices than iterative methods) • How to estimate fill-in and gauge numerical properties of A? • Future Work: ‘Eigensolve” interface

Interfacing to Parallel Libraries • Improved task scheduling and load balance – NWS memory Interfacing to Parallel Libraries • Improved task scheduling and load balance – NWS memory sensor, latency and bandwidth sensors – provide matrix distributions for the user – heuristics for the best choice of the # of processors, amount of matrix per processor, process grid dimension. . .

Get Net. Solve 1. 3 Now! • • Release date -- April 2000! UNIX Get Net. Solve 1. 3 Now! • • Release date -- April 2000! UNIX client/agent/server source code. UNIX client binaries available. Win 32 dlls for C/Matlab/Mathematica clients. www. cs. utk. edu/netsolve