The Problem With The Linpack Benchmark 1.0 Matrix Generator Jack J. Dongarra and Julien Langou International Journal of High Performance Computing Applications.

Slides:



Advertisements
Similar presentations
Parallel computer architecture classification
Advertisements

Algebraic, transcendental (i.e., involving trigonometric and exponential functions), ordinary differential equations, or partial differential equations...
MATH 685/ CSI 700/ OR 682 Lecture Notes
Linear Systems of Equations
Systems of Linear Equations
CISE301_Topic3KFUPM1 SE301: Numerical Methods Topic 3: Solution of Systems of Linear Equations Lectures 12-17: KFUPM Read Chapter 9 of the textbook.
Part 3 Chapter 9 Gauss Elimination
1cs542g-term Notes  Assignment 1 will be out later today (look on the web)
1cs542g-term Notes  Assignment 1 is out (questions?)
Linear Algebraic Equations
Cryptography and Network Security Chapter 7 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Stream cipher diagram + + Recall: One-time pad in Chap. 2.
Simulation.
Pseudorandom Number Generators
Analysis and Performance Results of a Molecular Modeling Application on Merrimac Erez, et al. Stanford University 2004 Presented By: Daniel Killebrew.
1 Computer Science, University of Warwick Metrics  FLOPS (FLoating point Operations Per Sec) - a measure of the numerical processing of a CPU which can.
CSCE Monte Carlo Methods When you can’t do the math, simulate the process with random numbers Numerical integration to get areas/volumes Particle.
On the fundamental matrix of the inverse of a polynomial matrix and applications N. P. Karampetakis S. Vologiannidis Department of Mathematics Aristotle.
Section 8.3 – Systems of Linear Equations - Determinants Using Determinants to Solve Systems of Equations A determinant is a value that is obtained from.
Cryptography and Network Security Chapter 7 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Assignment Solving System of Linear Equations Using MPI Phạm Trần Vũ.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Benchmarks for Parallel Systems Sources/Credits:  “Performance of Various Computers Using Standard Linear Equations Software”, Jack Dongarra, University.
Introduction to FORTRAN
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Evaluation of Memory Consistency Models in Titanium.
Introduction to MATLAB Session 1 Prepared By: Dina El Kholy Ahmed Dalal Statistics Course – Biomedical Department -year 3.
Cryptography and Network Security (CS435)
A SCALABLE LIBRARY FOR PSEUDORANDOM NUMBER GENERATION ALGORITHM 806: SPRNG.
Engineering Analysis ENG 3420 Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 11:00-12:00.
CS555Spring 2012/Topic 51 Cryptography CS 555 Topic 5: Pseudorandomness and Stream Ciphers.
CS 450 – Modeling and Simulation Dr. X. Topics What Does Randomness Mean? Randomness in games Generating Random Values Random events in real life: measuring.
Information Security Lab. Dept. of Computer Engineering 182/203 PART I Symmetric Ciphers CHAPTER 7 Confidentiality Using Symmetric Encryption 7.1 Placement.
Chapter 3 Solution of Algebraic Equations 1 ChE 401: Computational Techniques for Chemical Engineers Fall 2009/2010 DRAFT SLIDES.
Random Number Generators 1. Random number generation is a method of producing a sequence of numbers that lack any discernible pattern. Random Number Generators.
Pseudo-random generators Random Number Generating There are three types of generators table look-up generators hardware generators algorithmic (software)
Experimental Method and Data Process: “Monte Carlo Method” Presentation # 1 Nafisa Tasneem CHEP,KNU
PDCS 2007 November 20, 2007 Accelerating the Complex Hessenberg QR Algorithm with the CSX600 Floating-Point Coprocessor Yusaku Yamamoto 1 Takafumi Miyata.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Chapter 7 – Confidentiality Using Symmetric Encryption.
Chapter 7 Confidentiality Using Symmetric Encryption.
Accelerating the Singular Value Decomposition of Rectangular Matrices with the CSX600 and the Integrable SVD September 7, 2007 PaCT-2007, Pereslavl-Zalessky.
Linear algebra: matrix Eigen-value Problems Eng. Hassan S. Migdadi Part 1.
Network Security Lecture 18 Presented by: Dr. Munam Ali Shah.
PRNGs Pseudo-random number generation. Randomness and Cryptography Randomness and pseudo-randomness are useful in cryptography: –To generate random and.
Fall 2006CS 395: Computer Security1 Confidentiality Using Symmetric Encryption.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA
DES Analysis and Attacks CSCI 5857: Encoding and Encryption.
1 Chapter 7 Numerical Methods for the Solution of Systems of Equations.
edit type on title master Fortran ISV Release I to L LINPACK TOP500 Technical Systems Division * Scalable Computing Lab 2 Hsin-Ying Lin
Evaluating scientific software. Choosing appropriate software. Options. 1. Create your own from scratch. 2. Create your own with key bits from well-developed,
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
Chapter 7 – Confidentiality Using Symmetric Encryption.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA Shirley Moore CPS5401 Fall 2013 svmoore.pbworks.com November 12, 2012.
1.  How does the computer generate observations from various distributions specified after input analysis?  There are two main components to the generation.
TEMPLATE DESIGN © H. Che 2, E. D’Azevedo 1, M. Sekachev 3, K. Wong 3 1 Oak Ridge National Laboratory, 2 Chinese University.
หัวข้อบรรยาย Stream cipher RC4 WEP (in)security LFSR CSS (in)security.
1 Numerical Methods Solution of Systems of Linear Equations.
Part 3 Chapter 9 Gauss Elimination
Issues of Random Numbers and Cryptography
Parallel computer architecture classification
Generating Random Numbers
A cryptographically secure pseudorandom number generator for Julia
Chap. 6 Programming the Basic Computer
Random-Number Generation
Cryptography and Network Security Chapter 7
Computer Simulation Techniques Generating Pseudo-Random Numbers
Generating Random and Pseudorandom Numbers
Generating Random and Pseudorandom Numbers
Introduction CSE 541.
Presentation transcript:

The Problem With The Linpack Benchmark 1.0 Matrix Generator Jack J. Dongarra and Julien Langou International Journal of High Performance Computing Applications 2009; 23; 5

Group Members Ahmad HamidiAneelZulkhairi IdrisAdam Malik Sahar

Key Words  Linpack Benchmark The Linpack benchmark measures the floating point rate of execution for solving a linear system of equations. This benchmark is used to determine the number of Floating Point Operations per Second (FLOPS) a super-computer can achieve. Results are published periodically via the Top500 list (  LINPACK A collection of Fortran subroutines that analyze and solve linear equations and linear least-squares problems. The package solves linear systems whose matrices are general, banded, symmetric indefinite, symmetric positive definite, triangular, and tridiagonal square. LINPACK uses column- oriented algorithms to increase efficiency by preserving locality of reference.

Key Words  Pseudo-Random Number Generator (PRNG) An algorithm for generating a sequence of numbers that approximates the properties of random numbers. The sequence is not truly random in that it is completely determined by a relatively small set of initial values, called the PRNG's state. Although sequences that are closer to truly random can be generated using hardware random number generators, pseudorandom numbers are important in practice for simulations (e.g., of physical systems with the Monte Carlo method), and are central in the practice of cryptography. Common classes of these algorithms are linear congruential generators, Lagged Fibonacci generators, linear feedback shift registers and generalised feedback shift registers. Recent instances of pseudorandom algorithms include Blum Blum Shub, Fortuna, and the Mersenne twister.

Key Words  FLOPS (FLOP/S) An acronym meaning FLoating point Operations Per Second. The FLOPS is a measure of a computer's performance, especially in fields of scientific calculations that make heavy use of floating point calculations, similar to instructions per second.  Mflop/s: Million of floating point operations per second  Gflop/s: Billions of floating point operations per second  Tflop/s: Trillions of floating point operations per second  Pflop/s: 1K Trillions of floating point operations per second

Performance Development

Contents How to Fix the Problem Problem Statement Linpack Benchmark Matrix Generator History of Linpack Benchmark Introduction Conclusion

Introduction  Since 1993, twice a year a list of most powerful computer system released by top500 project (  Based on result obtain from HPL Benchmark are used to rank computer system.  HPL Benchmark consist of solving a dense linear system in double precision, 64 bit floating point arithmetic using Gaussion elimination with partial pivoting. Gaussion elimination  Supplied matrix generator, which uses a PRNG must be used in running the HPL.  The result or performance is reported in floating point operations per sec (flops).

History of Linpack Benchmark  1980: LINPACKD 1.0 – The initial LINPACKD benchmark  1989: Numerical failure report- David Hough observed a numerical failure for matrix size n=512  1989: LINPACKD 2.0 released  1992: LINPACKD 3.0 released

History of Linpack Benchmark  2000: HPL 1.0 – First release of HPL. PRNG uses a linear congruential algorithm. X(n+1)=(a * X(n) + c) mod m with m= 2 31, a= , c=1235 The period of PRNG is 2 31  2004: Numerical failure report – Gregory Bauer observed a numerical failure with HPL and n = 2 17 = 131,072. HPL developers recommend to HPL users willing to test matrices of size larger than 2 15 not to use power two.

 2007 Numerical failure report: A large manufacturer observed a numerical failure with HPL and n = 2 13 x 271 = 2,200, 032. Note that n = 2 13 x 271 = 2,200,032 is not a power of two.  2008: HPL 2.0 – Piotr Luszczek incorporated a new PRNG which uses a linear congruential algorithm with a = , c=11, m= The period of this PRNG is 2 64 History of Linpack Benchmark

Linpack Benchmark Matrix Generator  Linpack Benchmark 1.0 matrix generator generated pseudo-random coeffiecient matrix A by the HPL subroutine HPL_pdmatgen.c. The PRNG uses a linear congruential algorithm: X(n+1)=(a * X(n) + c) mod m with m= 231, a= , c=1235 The period of PRNG is 2 31  HPL 1.0 fill its matrices with pseudo random numbers by columns using this sequence s starting with A(1,1)=s(1), A(2,1)=s(2), A(3,1)=s(3) and so on.

Linpack Benchmark Matrix Generator A(i,j) = s((j-1)*n+1), 1 ≤ i, j ≤ n (1) s(i ) = s(i), for any i  N and s(i) ≠ s(j) for any 1 ≤ i, j ≤ 2 31 (2)  Matrix generated by Linpack Benchmark 1.0 matrix generator solely depends on the dimension n. Its requires benchmakers to use the same matrix for any block size, for any number of processors or for any grid size.

Linpack Benchmark Matrix Generator  The computed PRNG in the sequence S depend weakly on the computer systems. Consequently the pivot pattern of the Gaussian elimination is preserved from on computer system to another.  Finally, the linear congruential algorithm for the sequence s enables the matrix generator for scalable implementation of the constraction of the matrix.

 In May 2007, a large HPC manufacturer ran a 20 hours HPL(High performance Linpac) Benchmark which is failed. || Ax-b || _∞ / ( eps * || A || _1+N ) =9.224e+94 ….. FAILED n = 2 13 x 271 = 2,200,032  It was neither a hardware failure nor a software failure but a predictable numerical issue.  Using n = 2,200,032; HPL 1.0 is sometimes able to pass all the test, sometimes two test out of three and sometimes none of the three test. Problem Statement

How to Fix the Problem  The obvious recommendation is to choose any n as long as it is odd.  A check can be added at the beginning of the execution of Linpack Benchmark matrix generator.  If n  S, simply change the variable jump from M to M+1 in HPL code (HPL_pdmatgen.c).  Increase the period of PRNG.  A check for correctness robust ill-conditioned matrix could be used.ill-conditioned matrix

Conclusion  The problem with the Linpack Benchmark 1.0 matrix generator is now corrected in the Linpack Benchmark 2.0 matrix generator, uses a linear congruential algorithm with a = , c=11, m= The period of PRNG is  The correction fix both extend the period of PRNG (Pseudo-Random Number Generator) and have a test for correctness robust to ill condition matrices.ill condition matrices