Download presentation
Presentation is loading. Please wait.
1
Parallel Implementation of the Inversion of Polynomial Matrices Alina Solovyova-Vincent March 26, 2003 A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science with a major in Computer Science.
2
Acknowledgments I would like to thank Dr. Harris for his generous help and support. I would like to thank my committee members, Dr. Kongmunvattana and Dr. Fadali for their time and helpful comments.
3
Overview Introduction Existing algorithms Busłowicz’s algorithm Parallel algorithm Results Conclusions and future work
4
Definitions A polynomial matrix is a matrix which has polynomials in all of its entries. H(s) = H n s n +H n-1 s n-1 +H n-2 s n-2 +…+H o, where H i are constant r x r matrices, i=0, …, n.
5
Definitions Example: s+2 s 3 + 3s 2 +s s 3 s 2 +1 n=3 – degree of the polynomial matrix r=2 – the size of the matrix H H o = H 1 = … 2 0 0 110
6
Definitions H -1 (s) – inverse of the matrix H(s) One of the ways to calculate it H -1 (s) = adj H(s) /det H(s)
7
Definitions A rational matrix can be expressed as a ration of a numerator polynomial matrix and a denominator scalar polynomial.
8
Who Needs It??? Multivariable control systems Analysis of power systems Robust stability analysis Design of linear decoupling controllers … and many more areas.
9
Existing Algorithms Leverrier’s algorithm ( 1840) [sI-H] - resolvent matrix Exact algorithms Approximation methods
10
The Selection of the Algorithm Before Buslowicz’s algorithm (1980) After Large degree of polynomial operations Lengthy calculations Not very general Some improvements at the cost of increased computational complexity
11
Buslowicz’s Algorithm Benefits: More general than methods proposed earlier Only requires operations on constant matrices Suitable for computer programming Drawback: the irreducible form cannot be ensured in general
12
Details of the Algorithm Available upon request
13
Challenges Encountered (sequential) Several inconsistencies in the original paper:
14
Challenges Encountered (parallel) for(k=0; k<n*i+1; k++) { } Dependent loops for (i=2; i<r+1; i++) { calculations requiring R[i-1][k] } O(n 2 r 4 )
15
Challenges Encountered (parallel) Loops of variable length for(k=0; k<n*i+1; k++) { for(ll=0; ll<min+1; ll++) { main calculations } Varies with k
16
Shared and Distributed Memory Main differences Synchronization of the processes Shared Memory (barrier) Distributed memory (data exchange) for (i=2; i<r+1; i++) { calculations requiring R[i-1] *Synchronization point }
17
Platforms Distributed memory platforms: SGI 02 NOW MIPS R5000 180MHz P IV NOW 1.8 GHz P III Cluster 1GHz P IV Cluster Zeon 2.2GHz
18
Platforms Shared memory platforms: SGI Power Challenge 10000 8 MPIS R10000 SGI Origin 2000 16 MPIS R12000 300MHz
19
Understanding the Results n – degree of polynomial (<= 25) r – size of a matrix (<=25) Sequential algorithm – O(n 2 r 5 ) Average of multiple runs Unloaded platforms
20
Sequential Run Times (n=25, r=25) PlatformTimes (sec) SGI O2 NOW2645.30 P IV NOW22.94 P III Cluster26.10 P IV Cluster18.75 SGI Power Challenge913.99 SGI Origin 2000552.95
21
Results – Distributed Memory Speedup SGI O2 NOW - slowdown P IV NOW - minimal speedup
22
Speedup (P III & P IV Clusters)
23
Results – Shared Memory Excellent results!!!
24
Speedup (SGI Power Challenge)
25
Speedup (SGI Origin 2000) Superlinear speedup!
26
Run times (SGI Power Challenge) 8 processors
27
Run times (SGI Origin 2000) n =25
28
Run times (SGI Power Challenge) r =20
29
Efficiency 24681624 P III Cluster 89.7%76.5%61.3%58.5%40.1%25.0% P IV Cluster 88.3%68.2%49.9%46.9%26.1%15.5% SGI Power Challenge 99.7%98.2%97.9%95.8%n/a SGI Origin 2000 99.9%98.7%99.0%98.2%93.8%n/a
30
Conclusions We have performed an exhaustive search of all available algorithms; We have implemented the sequential version of Busłowicz’s algorithm; We have implemented two versions of the parallel algorithm; We have tested parallel algorithm on 6 different platforms; We have obtained excellent speedup and efficiency in a shared memory environment.
31
Future Work Study the behavior of the algorithm for larger problem sizes (distributed memory). Re-evaluate message passing in distributed memory implementation. Extend Buslowicz’s algorithm to inverting multivariable polynomial matrices H(s 1, s 2 … s k ).
32
Questions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.