Parallel Implementation of the NIST Statistical Test Suite

Size: px
Start display at page:

Download "Parallel Implementation of the NIST Statistical Test Suite"

Transcription

1 Parallel Implementation of the NIST Statistical Test Suite Alin Suciu, Iszabela Nagy, Kinga Marton, Ioana Pinca Computer Science Department Technical University of Cluj-Napoca Cluj-Napoca, Romania Abstract Randomness test suites constitute an essential component within the process of assessing random number generators in view of determining their suitability for a specific application. Evaluating the randomness quality of random numbers sequences produced by a given generator is not an easy task considering that no finite set of statistical tests can assure perfect randomness, instead each test attempts to rule out sequences that show deviation from perfect randomness by means of certain statistical properties. This is the reason why several batteries of statistical tests are applied to increase the confidence in the selected generator. Therefore, in the present context of constantly increasing volumes of random data that need to be tested, special importance has to be given to the performance of the statistical test suites. Our work enrolls in this direction and this paper presents the results on improving the well known NIST Statistical Test Suite (STS) by introducing parallelism and a paradigm shift towards byte processing delivering a design that is more suitable for today s multicore architectures. Experimental results show a very significant speedup of up to 103 times compared to the original version. Keywords-statistical testing, random and pseudorandom number generators, NIST STS, parallel implementation I. INTRODUCTION The existence of random and pseudorandom number sequences is of paramount importance in various domains such as cryptography, computational mathematics, simulation and modeling, constituting an essential input for applications requiring unpredictability, irreproducibility, uniform distribution or other specific properties of random number sequences. However, selecting an appropriate randomness generator is not an easy task as the desired quality of randomness may and do differ from one application domain to another. Hence, the selection of a suitable generator has to rely on a thorough analysis of the randomness source and the randomness properties of the outcome sequences. Statistical test suites play a very important role in this analysis, assessing the randomness quality of sequences produced by random number generators. In computing the degree of suitability, statistical tests rely on measuring certain properties of random number sequences in terms of probability, and based on the likely outcome of the tests applied on perfect random sequences can highlight possible deviations from randomness. Yet no finite set of statistical tests can be considered complete and consequently cannot ensure perfect randomness. In order to increase the confidence in the selected generator different statistical tests have to be applied on the generated random sequences. This highlights the need of constructing efficient statistical tests that can detect certain kinds of weaknesses in the randomness generators. There are several well known batteries of statistical tests for random number generators such as the Diehard test suite [4] developed by Marsaglia, John Walker s ENT [5] and Test01 [6] designed by L Ecuyer and Simard. The most popular is the NIST statistical test suite [1] developed by the National Institute of Standards and Technology (NIST) as a result of a comprehensive theoretical and experimental analysis and may be considered as the stateof-the-art in randomness testing [8] for cryptographic applications. The test suite has become a standard stage in assessing the outcome of random number generators shortly after its publication. The NIST battery of tests is based on statistical hypothesis testing and contains a total of 16 statistical tests specially designed to assess the randomness required for cryptographic applications (out of which two tests are currently disregarded because of some problems found by NIST and other researchers [2]). A hypothesis test is a procedure for determining if a given assertion is true, in this case the provided P-values determine whether or not the tested sequence is random from the perspective of the selected randomness statistic. Applying several batteries of statistical tests on large sequences of random numbers is a very time consuming operation; therefore, in order to satisfy the increasing demand for large volumes of random data, the development of high throughput randomness generators must be combined with high performance statistical test suites that take advantage of the new generation multi-core architectures. This work was supported by the CNMP funded CryptoRand project, nr /2007 and PRODOC POSDRU/6/1.5/S/5 ID /10/$ IEEE 363

2 Unfortunately the implementations of the most popular batteries of test suites are not focused on efficiency and high performance and do not benefit of the processing power offered by today s multi-core processors and tend to become bottlenecks in the processing of large volumes of data generated by various random number generators. Hence there is a stringent need for providing highly efficient statistical tests and our efforts on improving and parallelizing the NIST test suite intends to fill this need. The paper is structured in 5 sections. Section 2 presents the original NIST test suite briefly describing the included statistical tests. Section 3 points out the main drawbacks in the implementation of the original version and introduces the optimization steps followed by experimental results in section 4, demonstrating the effectiveness of our approach. Section 5 presents final conclusions and further work. II. THE NIST TEST SUITE After carrying out a comprehensive investigation of known statistical tests for random and pseudorandom generators, the US National Institute of Standards and Technology (NIST) published its results and recommendations for practical usage in [1]. The 16 proposed statistical tests form the NIST Statistical Test Suite shortly became the most popular battery of statistical tests for assessing the quality of sequences produced by a given random number generator. The test suite initially consisted of 16 statistical tests but recently, the Discrete Fourier Transform (Spectral) test and the Lempel-Zip Compression test were disregarded due to problems identified by NIST and other researchers [2]. Out of the remaining 14 tests we found 9 tests that are suitable for parallel implementation. The tests are implemented sequentially in C programming language and can be applied on input data - usually files containing binary random sequences - the results indicating the degree to which properties of the input data deviate from properties expected from perfect random sequences expressed by means of P-values. In the following we give a short description of the statistical tests that we parallelized, preceded by a short presentation of the way statistical tests work. Each statistical test has a relevant randomness statistic and is formulated to test a null hypothesis (H 0 ). The null hypothesis under test in case of the NIST tests is that the sequence being testes is random, and the alternative hypothesis (H a ) is that the tested sequence is not random. Mathematical methods determine a reference distribution of the selected statistic under the null hypothesis and a critical value is selected. Each test derives a decision based on the comparison between the critical value and the test statistic value computed on the sequence being tested and according to this decision it accepts (test statistic value < critical value) or rejects (test statistic value > critical value) the null hypothesis and concludes on whether the tested generator is or is not producing random numbers [1]. A. The Frequency (Monobit) Test The frequency test determines whether zero and one bits appear in the tested sequence with approximately the same probability. This simple test can reveal the most obvious deviations from randomness hence further tests depend on this result. B. Frequency Test within a Block The frequency test within a block is a generalization of the Frequency (Monobit) test, having the purpose of determining the frequency of zeros and ones within M-bit blocks and thus revealing whether zeros and ones are uniformly distributed throughout the tested sequence. C. Runs Test In order to determine whether transitions between zeroes and ones in the sequence appear as often as expected from a random sequence, the runs test counts the total number of runs of various lengths. A run consists of an uninterrupted sequence of identical bits. D. Longest Run of Ones in a Block Test In case of the longest run of ones in a block test, the sequence is processed in M bit blocks with the aim of determining whether the length of the longest run of ones in a block is consistent with the length expected from a random sequence. E. Non-overlapping Template Matching Test The purpose of this test is to detect generators that produce too many occurrences of a given non-periodic pattern by searching for occurrences of a given m-bit non-periodic pattern. F. Overlapping Template Matching Test The overlapping template matching test is similar to the non-overlapping template matching test, but it extends the search criteria to overlapping patterns. G. Linear Complexity Test The purpose of this test is to determine the linear complexity of the LFSR (Linear Feedback Shift Register) that could generate the tested sequence. If the complexity is not sufficiently high, the sequence is non-random. H. Serial Test In order to verify the uniformity of templates the test counts the occurrences of every possible m-bit overlapping patterns in the sequence. A high level of uniformity patterns occur with the same probability - indicates that the sequence is close to random. I. Approximate Entropy Test The purpose of the approximate entropy test is to compare the frequency of overlapping patterns of two consecutive lengths, m and m+1, against the expected frequency in a true random sequence. 364

3 III. THE OPTIMIZATION STEPS There are several limitations we encountered using the original NIST test suite, especially when applied to large volumes of random number sequences, which caused a significant setback in performance and motivated our efforts to eliminate the drawbacks and provide an important performance boost. In the following we point out the main limitations and give an insight on the optimization steps performed in order to reach a high performance implementation of the test suite. A. Paradigm shift towards byte processing mode The original NIST implementation stores and processes the input sequence, after read from the input file, as an array of bits, a very time consuming transformation process. On the other hand, our design introduces byte processing mode, where bit level operations are performed with the help of special precomputed lookup tables. B. Allowing the processing of very large files The original version of the test suite shows a severe limit on the maximum file size that can be processed in one execution. This drawback is due to the storage method of the tested sequence (array of bits) and the limitation in the variable definition. The maximum limit is theoretically set to 256 MB (the maximum value of an int type variable represented on 32 bits), but as practice has shown us, this value generally reduces to 198 MB in the original NIST implementation. In contrast, our implementation allows the processing of files of sizes up to 1GB and eliminates the need of introducing the input file size in number of bits (necessary in the original version). C. Parallelization of the algorithms using the OpenMP API While the first two optimization steps alone generated an average speedup of times, as we have shown in [9], the third optimization step aims at further increasing the speedup by introducing parallelism (using the OpenMP API), which is in fact the focus of this paper. As the spread of multicore processor systems increases, sequential implementations are no longer suitable solutions and become a bottleneck in the utilization of the available processing power. Shared memory multiprocessing (SMP) systems like the above mentioned multicore systems support program annotation standards, namely the insertion of compiler directives in serial programs for code parallelization. This method is the most common and cost effective for SMP systems. Our parallel implementation of the NIST statistical test suite ParNIST is designed to use OpenMP [7], a well known directive based API for parallel programming on SMPs that can extend programming languages like C, C++ and FORTRAN using a fork-join model of parallel execution. After analyzing each test we reached the conclusion that data parallelism is more appropriate for some of the algorithms used by the statistical tests while other tests are more suitable for internal algorithm parallelization. Therefore our design implies both data parallelization, where the tested sequence is split in equal sized chunks on which the algorithm is applied in parallel, and internal parallelization of the statistical tests which is performed by dividing the workload in equal chunks assigned to each thread. As the chunks are executed in parallel shared resources are concurrently updated and in order to avoid write conflicts and a wrong final result, synchronization methods are needed such as private and shared variables, OpenMP s reduction constructs and critical regions. IV. EXPERIMENTAL RESULTS In order to benchmark the enhanced and parallel version of the NIST test suite we turned to comparatively test the original NIST STS version 1.8, and the improved version with input files of different sizes, measuring the processing time without taking into account the time needed for reading the input files from disk. The benchmark was performed on a system with Intel Xeon E5405 processor at 2 GHz and 4 GB of RAM, running Windows 2008 Server, the 64 bit edition. Each test was run 5 times for each of the 10 various size input files in order to obtain an average execution time, and thus a more accurate result. Our implementation was parallelized on a number of 8 threads, in order to use the entire processing power of the system. The comparative results for each of the improved tests are presented in the following, where the improved version is called ParNIST. A. Frequency (Monobit) Test In the original version of the Monobit test the proportion of zeroes and ones for the entire sequence is determined by computing the sum of all adjusted (-1, +1) digits in the sequence. Based on the fact that the total count of ones is complementary to the total count of zeros in the sequence, our design computes just the number of ones by using lookup tables for byte processing mode. The introduced data parallelization is based on splitting the sequence into chunks according to the number of available threads and each thread computes the number of ones in the assigned chunk. Fig. 1 presents the comparative results of the Frequency (Monobit) test where the parallel version shows a speedup of approximately 50 times over the original NIST implementation. The input files were selected with sizes up to 198 MB as the original NIST version ceased to work on larger files. 365

4 resulting in a performance level approximately 35 times higher compared to the original version, as shown in Fig 3. Tests were run on input files of up to 43 MB in size as the original NIST test ceases to work on larger files. Figure 1. Comparison of execution time for the Frequency (Monobit) Test. B. Frequency Test within a Block In case of this statistical test, alongside the introduction of byte processing mode for determining the proportion of zeros and ones inside M-bit blocks (M multiple of 8 for byte processing mode), similar to the global frequency test (above), the improved version also allows the use of larger block sizes, instead of the restricted block size of the original version caused by a limitation in the variable definition. The parallelization works by assigning to each thread the processing of an equal number of blocks for which the proportion of ones has to be determined. The obtained results are then used in computing a sum on which reduction is applied. The execution time for the frequency test within a block parallel version has known a significant decrease in execution time of approximately 54 times compared to the original NIST version. Fig. 2 shows the results obtained for input files up to 198 MB. Figure 3. Comparison of execution time for the Runs Test. D. Longest Run of Ones in a BlockTest The test for the longest run of ones tabulates the frequencies of the longest run of ones in each block into categories and then selects the longest run. Our parallel implementation divided the data into chunks and the obtained frequency values for each chunk were then synchronized through a reduction mechanism in order to obtain the longest run of ones. The experimental results presented in Fig 4. demonstrate an average speedup of approximately 50 times compared to the original version. Figure 4. Comparison of execution time for the Longest Run of Ones in a Block Test. Figure 2. Comparison of execution time for the Frequency Test within a Block. C. Runs Test The method applied in order to determine the number of runs in the input sequence is to count the passes from zero to one and vice versa. The original version performs this task by comparing every two adjacent bits, whereas the enhanced version uses byte processing mode and data parallelization E. Non-overlapping Template Matching Test For determining the number of pre-defined m-bit target substrings in the sequence the original version uses an m-bit window, and in case of non-overlapping matching when the pattern is found the window slides m bits otherwise only one bit, on the other hand, when overlapping templates are considered, the window slides only one bit regardless of the result of matching. Our version uses an 8-bit window where the template is compared with the bytes of the input sequence that successively form a value of short int type which in non- 366

5 overlapping template matching gets shifted left by 1 byte if the pattern is found and by 1 bit otherwise. On the other hand, overlapping template matching test shifts this value always by just one bit. Each time enough space is available a new byte is added to the variable. splitting the sequence into blocks and computing the LFSR s length for each block. For this statistical test, shifting the paradigm to a byte sequence cannot be applied since the Berlekamp-Massey algorithm works only at bit level. However, in the parallel version each thread is assigned an equal number of blocks for which the length of the LSFR has to be computed. Figure 5. Comparison of execution time for the Non-overlapping Template Matching Test. Fig 5. presents the comparative results for non-overlapping template matching test with an average speedup of about 18. The original NIST version ceases to work on files larger than 198 MB. F. Overlapping Template Matching Test While the parallelization of the non-overlapping template matching test implies splitting the number of templates among the available threads, in case of the overlapping template matching test the parallelization is performed by assigning each thread an equal number of blocks for which the frequency of the pattern has to be computed. Fig 6. shows the comparative results for overlapping template matching test with an average speedup of about 103. The original NIST version ceases to work on files larger than 198 MB. Figure 7. Comparison of execution time for the Linear Complexity Test. The decrease in execution time of about 30 times compared to the original NIST version, due only to the parallelization of this test, is visible in Fig. 7. The input files were selected with sizes up to 198 MB as the original NIST version ceased to work on larger files. H. Serial Test Determining the frequency of each and every overlapping m-bit pattern across the entire sequence implies the transformation of every m-bit block into its corresponding decimal value. Since this test implied processing the sequence for different sizes of the m-bit pattern, different algorithms were used for each size of the pattern. Therefore, the parallelization consists actually in assigning to each thread the processing of a different code section. Together with the paradigm shift towards byte processing, the results for the parallel version of this statistical test shows a significant performance boost of about 64 times, depicted in fig. 8. The maximal input file size allowed by the original NIST version is 198 MB. Figure 6. Comparison of execution time for the Overlapping Template Matching Test. G. Linear Complexity Test The test computes the length of a linear feedback shift register (LFSR) using the Berlekamp-Massey algorithm by Figure 8. Comparison of execution time for the Serial Test. 367

6 I. Approximate Entropy Test This test is rather similar with the Serial Test in that the frequency of each and every overlapping m-bit pattern across the entire sequence has to be determined in order to compare the frequency of overlapping patterns of two consecutive lengths, m and m+1, against the expected frequency. The parallelization introduced is based on assigning to each thread the processing of a different code section. Figure 9. Comparison of execution time for the Approximate Entropy Test. The improvements achieved by our implementation shows a significant performance boost of about 86 times, depicted in fig. 9. The maximal input file size allowed by the original NIST version is 198 MB. V. CONCLUSIONS AND FURTHER WORK We have shown how the need for efficiently implemented batteries of statistical tests that show high performance can be satisfied by improving the existing and well known statistical test suites to overcome their performance limitations. The purpose of this paper is to present the improvements applied to the well known NIST statistical test suite for assessing the quality of random and pseudorandom number generators and to emphasize the efficiency of the improved and parallel version displaying the benchmark results that demonstrate significant performance improvement. After introducing the important role randomness tests play in assessing the quality of random number generators, we stressed out the need for high efficiency test suites and presented the optimization steps applied to the NIST battery of statistical tests in order to overcome the performance limitations and make it more suitable for execution on today s multicore architectures. The applied optimization steps include the paradigm shift towards byte processing mode, the possibility to process large volumes of input data up to 1 GB and the most significant improvement stage the parallelization. The result is a high performance parallel version, we called ParNIST, which was subject to a thorough benchmarking process and the results show a significant performance improvement, the execution time being reduced up to 103 times, and on average by approximately 54 times by the ParNIST system. Table 1 presents the average speedup compared to the original version for each test improved by ParNIST. TABLE I. BENCHMARK RESULTS Test No. Test Name Speed-up 1 Frequency (Monobit) Test 50 2 Frequency Test within a Block 54 3 Runs Test 35 4 Longest Run of Ones in a Block Test 50 7 Non-overlapping Template Matching Test 18 8 Overlapping Template Matching Test Linear Complexity Test Serial Test Approximate Entropy Test 86 Average Speedup 54 We are currently working on a parallel implementation that will target a Grid architecture; taking advantage of the benefits of the Grid we believe that even greater speedups can be achieved. REFERENCES [1] A.Rukhin et al., A statistical test suite for random and pseudorandom number generators for cryptographic applications, NIST Special Publication (with revisions dated April, 2010). [2] S. Kim, K. Umeno, A. Hasegawa, Corrections of the NIST Statistical Test Suite for Randomness, Cryptology eprint Archive, Report 2004/018, [3] D. E. Knuth: The Art of Computer Programming, 3rd ed., vol 2: Seminumerical Algorithms, Addison-Wesley, [4] G. Marsaglia, DIEHARD: A battery of tests of randomness [5] J. Walker, ENT - A pseudorandom number sequence test program, Fourmilab, [6] P. L Ecuyer, R. Simard, TestU01: A C library for empirical testing of random number generators, ACM Trans. Math. Softw., vol. 33, no. 4, article 22, [7] B. Chapman, G. Jost, R. Van Der Pas, Using OpenMP: Portable Shared Memory Parallel Programming, MIT Press, [8] B. Ryabko, A. Fionov, Basics of Contemporary Cryptography for IT Practitioners, World Scientific Publishing Company, [9] A. Suciu, K. Marton, I. Nagy, I. Pinca, Byte-oriented Efficient Implementation of the NIST Statistical Test Suite, Proc. of 2010 IEEE International Conference on Automation, Quality and Testing, Robotics, Cluj-Napoca, Romania, May

A TALENTED CPU-TO-GPU MEMORY MAPPING TECHNIQUE

A TALENTED CPU-TO-GPU MEMORY MAPPING TECHNIQUE A TALENTED CPU-TO-GPU MEMORY MAPPING TECHNIQUE Abu Asaduzzaman, Deepthi Gummadi, and Chok M. Yip Department of Electrical Engineering and Computer Science Wichita State University Wichita, Kansas, USA

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK MORE RANDOMNESS OF IMPROVED RC4 (IRC4) THAN ORIGINAL RC4 HEMANTA DEY 1, DR. UTTAM

More information

Randomness Assessment of an Unpredictable Random Number Generator based on Hardware Performance Counters

Randomness Assessment of an Unpredictable Random Number Generator based on Hardware Performance Counters ROMANIAN JOURNAL OF INFORMATION SCIENCE AND TECHNOLOGY Volume 20, Number 2, 2017, 136 160 Randomness Assessment of an Unpredictable Random Number Generator based on Hardware Performance Counters Kinga

More information

The Art of Parallel Processing

The Art of Parallel Processing The Art of Parallel Processing Ahmad Siavashi April 2017 The Software Crisis As long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a

More information

Analysis of Parallelization Effects on Textual Data Compression

Analysis of Parallelization Effects on Textual Data Compression Analysis of Parallelization Effects on Textual Data GORAN MARTINOVIC, CASLAV LIVADA, DRAGO ZAGAR Faculty of Electrical Engineering Josip Juraj Strossmayer University of Osijek Kneza Trpimira 2b, 31000

More information

OPTIMIZATION OF THE CODE OF THE NUMERICAL MAGNETOSHEATH-MAGNETOSPHERE MODEL

OPTIMIZATION OF THE CODE OF THE NUMERICAL MAGNETOSHEATH-MAGNETOSPHERE MODEL Journal of Theoretical and Applied Mechanics, Sofia, 2013, vol. 43, No. 2, pp. 77 82 OPTIMIZATION OF THE CODE OF THE NUMERICAL MAGNETOSHEATH-MAGNETOSPHERE MODEL P. Dobreva Institute of Mechanics, Bulgarian

More information

Performance Evaluations for Parallel Image Filter on Multi - Core Computer using Java Threads

Performance Evaluations for Parallel Image Filter on Multi - Core Computer using Java Threads Performance Evaluations for Parallel Image Filter on Multi - Core Computer using Java s Devrim Akgün Computer Engineering of Technology Faculty, Duzce University, Duzce,Turkey ABSTRACT Developing multi

More information

Pseudo-random Bit Generation Algorithm Based on Chebyshev Polynomial and Tinkerbell Map

Pseudo-random Bit Generation Algorithm Based on Chebyshev Polynomial and Tinkerbell Map Applied Mathematical Sciences, Vol. 8, 2014, no. 125, 6205-6210 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/10.12988/ams.2014.48676 Pseudo-random Bit Generation Algorithm Based on Chebyshev Polynomial

More information

Analysis of Statistical Properties of Inherent Randomness

Analysis of Statistical Properties of Inherent Randomness Analysis of Statistical Properties of Inherent Randomness Peter O. Okech Faculty of Information Technology Strathmore University, Nairobi Kenya pokech@strathmore.edu Nicholas Mc Guire Distributed & Embedded

More information

Alfio Lazzaro: Introduction to OpenMP

Alfio Lazzaro: Introduction to OpenMP First INFN International School on Architectures, tools and methodologies for developing efficient large scale scientific computing applications Ce.U.B. Bertinoro Italy, 12 17 October 2009 Alfio Lazzaro:

More information

Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems

Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems V Brazilian Symposium on Computing Systems Engineering Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems Alessandro Trindade, Hussama Ismail, and Lucas Cordeiro Foz

More information

David R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms.

David R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms. Whitepaper Introduction A Library Based Approach to Threading for Performance David R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms.

More information

Forrest B. Brown, Yasunobu Nagaya. American Nuclear Society 2002 Winter Meeting November 17-21, 2002 Washington, DC

Forrest B. Brown, Yasunobu Nagaya. American Nuclear Society 2002 Winter Meeting November 17-21, 2002 Washington, DC LA-UR-02-3782 Approved for public release; distribution is unlimited. Title: THE MCNP5 RANDOM NUMBER GENERATOR Author(s): Forrest B. Brown, Yasunobu Nagaya Submitted to: American Nuclear Society 2002 Winter

More information

I. INTRODUCTION FACTORS RELATED TO PERFORMANCE ANALYSIS

I. INTRODUCTION FACTORS RELATED TO PERFORMANCE ANALYSIS Performance Analysis of Java NativeThread and NativePthread on Win32 Platform Bala Dhandayuthapani Veerasamy Research Scholar Manonmaniam Sundaranar University Tirunelveli, Tamilnadu, India dhanssoft@gmail.com

More information

- 0 - CryptoLib: Cryptography in Software John B. Lacy 1 Donald P. Mitchell 2 William M. Schell 3 AT&T Bell Laboratories ABSTRACT

- 0 - CryptoLib: Cryptography in Software John B. Lacy 1 Donald P. Mitchell 2 William M. Schell 3 AT&T Bell Laboratories ABSTRACT - 0 - CryptoLib: Cryptography in Software John B. Lacy 1 Donald P. Mitchell 2 William M. Schell 3 AT&T Bell Laboratories ABSTRACT With the capacity of communications channels increasing at the current

More information

arxiv: v1 [cs.ds] 12 Oct 2018

arxiv: v1 [cs.ds] 12 Oct 2018 Xorshift1024*, Xorshift1024+, Xorshift128+ and Xoroshiro128+ Fail Statistical Tests for Linearity Daniel Lemire a,, Melissa E. O Neill b arxiv:1810.05313v1 [cs.ds] 12 Oct 2018 a Université du Québec (TELUQ),

More information

Principles of Parallel Algorithm Design: Concurrency and Mapping

Principles of Parallel Algorithm Design: Concurrency and Mapping Principles of Parallel Algorithm Design: Concurrency and Mapping John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 422/534 Lecture 3 17 January 2017 Last Thursday

More information

JULIA ENABLED COMPUTATION OF MOLECULAR LIBRARY COMPLEXITY IN DNA SEQUENCING

JULIA ENABLED COMPUTATION OF MOLECULAR LIBRARY COMPLEXITY IN DNA SEQUENCING JULIA ENABLED COMPUTATION OF MOLECULAR LIBRARY COMPLEXITY IN DNA SEQUENCING Larson Hogstrom, Mukarram Tahir, Andres Hasfura Massachusetts Institute of Technology, Cambridge, Massachusetts, USA 18.337/6.338

More information

Extended Dataflow Model For Automated Parallel Execution Of Algorithms

Extended Dataflow Model For Automated Parallel Execution Of Algorithms Extended Dataflow Model For Automated Parallel Execution Of Algorithms Maik Schumann, Jörg Bargenda, Edgar Reetz and Gerhard Linß Department of Quality Assurance and Industrial Image Processing Ilmenau

More information

High Performance Multithreaded Model for Stream Cipher

High Performance Multithreaded Model for Stream Cipher 228 IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.3, March 2008 High Performance Multithreaded Model for Stream Cipher Khaled M. Suwais and Azman Bin Samsudin School of

More information

Proposed Pseudorandom Number Generator

Proposed Pseudorandom Number Generator IJSRD National Conference on Technological Advancement and Automatization in Engineering January 2016 ISSN:2321-0613 Mahesh S Naik Research Scholar Shri Jagdishprasad Jhabarmal Tibrewala University, Rajasthan

More information

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Structure Page Nos. 2.0 Introduction 4 2. Objectives 5 2.2 Metrics for Performance Evaluation 5 2.2. Running Time 2.2.2 Speed Up 2.2.3 Efficiency 2.3 Factors

More information

Parallelizing Inline Data Reduction Operations for Primary Storage Systems

Parallelizing Inline Data Reduction Operations for Primary Storage Systems Parallelizing Inline Data Reduction Operations for Primary Storage Systems Jeonghyeon Ma ( ) and Chanik Park Department of Computer Science and Engineering, POSTECH, Pohang, South Korea {doitnow0415,cipark}@postech.ac.kr

More information

A j-lanes tree hashing mode and j-lanes SHA-256

A j-lanes tree hashing mode and j-lanes SHA-256 A j-lanes tree hashing mode and j-lanes SHA-5 Shay Gueron 1, 1 Department of Mathematics, University of Haifa, Israel Intel Corporation, Israel Development Center, Haifa, Israel August 1, Abstract. j-lanes

More information

Jukka Julku Multicore programming: Low-level libraries. Outline. Processes and threads TBB MPI UPC. Examples

Jukka Julku Multicore programming: Low-level libraries. Outline. Processes and threads TBB MPI UPC. Examples Multicore Jukka Julku 19.2.2009 1 2 3 4 5 6 Disclaimer There are several low-level, languages and directive based approaches But no silver bullets This presentation only covers some examples of them is

More information

COZMO - A New Lightweight Stream Cipher

COZMO - A New Lightweight Stream Cipher COZMO - A New Lightweight Stream Cipher Rhea Bonnerji 0000-0002-5825-8800, Simanta Sarkar 0000-0002-4210-2764, Krishnendu Rarhi 0000-0002-5794-215X, Abhishek Bhattacharya School of Information Technology,

More information

LabVIEW Based Embedded Design [First Report]

LabVIEW Based Embedded Design [First Report] LabVIEW Based Embedded Design [First Report] Sadia Malik Ram Rajagopal Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 malik@ece.utexas.edu ram.rajagopal@ni.com

More information

OpenMP I. Diego Fabregat-Traver and Prof. Paolo Bientinesi WS16/17. HPAC, RWTH Aachen

OpenMP I. Diego Fabregat-Traver and Prof. Paolo Bientinesi WS16/17. HPAC, RWTH Aachen OpenMP I Diego Fabregat-Traver and Prof. Paolo Bientinesi HPAC, RWTH Aachen fabregat@aices.rwth-aachen.de WS16/17 OpenMP References Using OpenMP: Portable Shared Memory Parallel Programming. The MIT Press,

More information

Design and Simulation of New One Time Pad (OTP) Stream Cipher Encryption Algorithm

Design and Simulation of New One Time Pad (OTP) Stream Cipher Encryption Algorithm Journal of Advanced Research in Computing and Applications Journal homepage: www.akademiabaru.com/arca.html ISSN: 2462-1927 Design and Simulation of New One Time Pad (OTP) Stream Cipher Encryption Algorithm

More information

Scheduling FFT Computation on SMP and Multicore Systems Ayaz Ali, Lennart Johnsson & Jaspal Subhlok

Scheduling FFT Computation on SMP and Multicore Systems Ayaz Ali, Lennart Johnsson & Jaspal Subhlok Scheduling FFT Computation on SMP and Multicore Systems Ayaz Ali, Lennart Johnsson & Jaspal Subhlok Texas Learning and Computation Center Department of Computer Science University of Houston Outline Motivation

More information

EPL372 Lab Exercise 5: Introduction to OpenMP

EPL372 Lab Exercise 5: Introduction to OpenMP EPL372 Lab Exercise 5: Introduction to OpenMP References: https://computing.llnl.gov/tutorials/openmp/ http://openmp.org/wp/openmp-specifications/ http://openmp.org/mp-documents/openmp-4.0-c.pdf http://openmp.org/mp-documents/openmp4.0.0.examples.pdf

More information

Using Quasigroups for Generating Pseudorandom Numbers

Using Quasigroups for Generating Pseudorandom Numbers Using Quasigroups for Generating Pseudorandom Numbers Vinod Kumar Godavarty Email: vgodavarty@unomaha.edu Abstract - This paper presents an algorithm for generating pseudorandom numbers using quasigroups.

More information

Principles of Parallel Algorithm Design: Concurrency and Mapping

Principles of Parallel Algorithm Design: Concurrency and Mapping Principles of Parallel Algorithm Design: Concurrency and Mapping John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 422/534 Lecture 3 28 August 2018 Last Thursday Introduction

More information

Architecture, Programming and Performance of MIC Phi Coprocessor

Architecture, Programming and Performance of MIC Phi Coprocessor Architecture, Programming and Performance of MIC Phi Coprocessor JanuszKowalik, Piotr Arłukowicz Professor (ret), The Boeing Company, Washington, USA Assistant professor, Faculty of Mathematics, Physics

More information

Unique File Identification in the National Software Reference Library

Unique File Identification in the National Software Reference Library Unique File Identification in the National Software Reference Library Steve Mead National Institute of Standards & Technology 100 Bureau Drive, Stop 8970 Gaithersburg, MD 20899 smead@nist.gov Abstract:

More information

Searching for Random Data in File System During Forensic Expertise

Searching for Random Data in File System During Forensic Expertise BIOSCIENCES BIOTECHNOLOGY RESEARCH ASIA, April 2015. Vol. 12(1), 745-752 Searching for Random Data in File System During Forensic Expertise Vesta Matveeva* and Anna Epishkina Cybernetics and Information

More information

PSEUDORANDOM numbers are very important in practice

PSEUDORANDOM numbers are very important in practice Proceedings of the 2013 Federated Conference on Computer Science and Information Systems pp. 515 519 Template Library for Multi- Pseudorandom Number Recursion-based Generars Dominik Szałkowski Institute

More information

Accelerating String Matching Algorithms on Multicore Processors Cheng-Hung Lin

Accelerating String Matching Algorithms on Multicore Processors Cheng-Hung Lin Accelerating String Matching Algorithms on Multicore Processors Cheng-Hung Lin Department of Electrical Engineering, National Taiwan Normal University, Taipei, Taiwan Abstract String matching is the most

More information

Single Block Attacks and Statistical Tests on CubeHash

Single Block Attacks and Statistical Tests on CubeHash Single Block Attacks and Statistical Tests on CubeHash Benjamin Bloom Alan Kaminsky August 21, 2009 Abstract This paper describes a second preimage attack on the CubeHash cryptographic one-way hash function.

More information

Randomness Analysis on Speck Family Of Lightweight Block Cipher

Randomness Analysis on Speck Family Of Lightweight Block Cipher International Journal of Cryptology Research 5(1): 44-60 (2015) Randomness Analysis on Speck Family Of Lightweight Block Cipher 1 Liyana Chew Nizam Chew 2 Isma Norshahila Mohammad Shah 3 Nik Azura Nik

More information

Image-Space-Parallel Direct Volume Rendering on a Cluster of PCs

Image-Space-Parallel Direct Volume Rendering on a Cluster of PCs Image-Space-Parallel Direct Volume Rendering on a Cluster of PCs B. Barla Cambazoglu and Cevdet Aykanat Bilkent University, Department of Computer Engineering, 06800, Ankara, Turkey {berkant,aykanat}@cs.bilkent.edu.tr

More information

ADAPTIVE SORTING WITH AVL TREES

ADAPTIVE SORTING WITH AVL TREES ADAPTIVE SORTING WITH AVL TREES Amr Elmasry Computer Science Department Alexandria University Alexandria, Egypt elmasry@alexeng.edu.eg Abstract A new adaptive sorting algorithm is introduced. The new implementation

More information

A Test Suite for High-Performance Parallel Java

A Test Suite for High-Performance Parallel Java page 1 A Test Suite for High-Performance Parallel Java Jochem Häuser, Thorsten Ludewig, Roy D. Williams, Ralf Winkelmann, Torsten Gollnick, Sharon Brunett, Jean Muylaert presented at 5th National Symposium

More information

Analysis of Parallelization Techniques and Tools

Analysis of Parallelization Techniques and Tools International Journal of Information and Computation Technology. ISSN 97-2239 Volume 3, Number 5 (213), pp. 71-7 International Research Publications House http://www. irphouse.com /ijict.htm Analysis of

More information

A THREAD BUILDING BLOCKS BASED PARALLEL GENETIC ALGORITHM

A THREAD BUILDING BLOCKS BASED PARALLEL GENETIC ALGORITHM www.arpapress.com/volumes/vol31issue1/ijrras_31_1_01.pdf A THREAD BUILDING BLOCKS BASED PARALLEL GENETIC ALGORITHM Erkan Bostanci *, Yilmaz Ar & Sevgi Yigit-Sert SAAT Laboratory, Computer Engineering Department,

More information

SHARCNET Workshop on Parallel Computing. Hugh Merz Laurentian University May 2008

SHARCNET Workshop on Parallel Computing. Hugh Merz Laurentian University May 2008 SHARCNET Workshop on Parallel Computing Hugh Merz Laurentian University May 2008 What is Parallel Computing? A computational method that utilizes multiple processing elements to solve a problem in tandem

More information

CPU-GPU hybrid computing for feature extraction from video stream

CPU-GPU hybrid computing for feature extraction from video stream LETTER IEICE Electronics Express, Vol.11, No.22, 1 8 CPU-GPU hybrid computing for feature extraction from video stream Sungju Lee 1, Heegon Kim 1, Daihee Park 1, Yongwha Chung 1a), and Taikyeong Jeong

More information

NEW CLASS OF PSEUDORANDOM D-SEQUENCES TO GENERATE CRYPTOGRAPHIC KEYS B. Prashanth Reddy Oklahoma State University, Stillwater

NEW CLASS OF PSEUDORANDOM D-SEQUENCES TO GENERATE CRYPTOGRAPHIC KEYS B. Prashanth Reddy Oklahoma State University, Stillwater NEW CLASS OF PSEUDORANDOM D-SEQUENCES TO GENERATE CRYPTOGRAPHIC KEYS B. Prashanth Reddy Oklahoma State University, Stillwater Abstract This article proposes the use of pseudorandom decimal sequences that

More information

Optimization of thread affinity and memory affinity for remote core locking synchronization in multithreaded programs for multicore computer systems

Optimization of thread affinity and memory affinity for remote core locking synchronization in multithreaded programs for multicore computer systems Optimization of thread affinity and memory affinity for remote core locking synchronization in multithreaded programs for multicore computer systems Alexey Paznikov Saint Petersburg Electrotechnical University

More information

AN 831: Intel FPGA SDK for OpenCL

AN 831: Intel FPGA SDK for OpenCL AN 831: Intel FPGA SDK for OpenCL Host Pipelined Multithread Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Intel FPGA SDK for OpenCL Host Pipelined Multithread...3 1.1

More information

Online Pattern Recognition in Multivariate Data Streams using Unsupervised Learning

Online Pattern Recognition in Multivariate Data Streams using Unsupervised Learning Online Pattern Recognition in Multivariate Data Streams using Unsupervised Learning Devina Desai ddevina1@csee.umbc.edu Tim Oates oates@csee.umbc.edu Vishal Shanbhag vshan1@csee.umbc.edu Machine Learning

More information

REDUCING BEAMFORMING CALCULATION TIME WITH GPU ACCELERATED ALGORITHMS

REDUCING BEAMFORMING CALCULATION TIME WITH GPU ACCELERATED ALGORITHMS BeBeC-2014-08 REDUCING BEAMFORMING CALCULATION TIME WITH GPU ACCELERATED ALGORITHMS Steffen Schmidt GFaI ev Volmerstraße 3, 12489, Berlin, Germany ABSTRACT Beamforming algorithms make high demands on the

More information

Characterizing Storage Resources Performance in Accessing the SDSS Dataset Ioan Raicu Date:

Characterizing Storage Resources Performance in Accessing the SDSS Dataset Ioan Raicu Date: Characterizing Storage Resources Performance in Accessing the SDSS Dataset Ioan Raicu Date: 8-17-5 Table of Contents Table of Contents...1 Table of Figures...1 1 Overview...4 2 Experiment Description...4

More information

high performance medical reconstruction using stream programming paradigms

high performance medical reconstruction using stream programming paradigms high performance medical reconstruction using stream programming paradigms This Paper describes the implementation and results of CT reconstruction using Filtered Back Projection on various stream programming

More information

Online Course Evaluation. What we will do in the last week?

Online Course Evaluation. What we will do in the last week? Online Course Evaluation Please fill in the online form The link will expire on April 30 (next Monday) So far 10 students have filled in the online form Thank you if you completed it. 1 What we will do

More information

Determining Differences between Two Sets of Polygons

Determining Differences between Two Sets of Polygons Determining Differences between Two Sets of Polygons MATEJ GOMBOŠI, BORUT ŽALIK Institute for Computer Science Faculty of Electrical Engineering and Computer Science, University of Maribor Smetanova 7,

More information

Optimization solutions for the segmented sum algorithmic function

Optimization solutions for the segmented sum algorithmic function Optimization solutions for the segmented sum algorithmic function ALEXANDRU PÎRJAN Department of Informatics, Statistics and Mathematics Romanian-American University 1B, Expozitiei Blvd., district 1, code

More information

Mobile Robot Path Planning Software and Hardware Implementations

Mobile Robot Path Planning Software and Hardware Implementations Mobile Robot Path Planning Software and Hardware Implementations Lucia Vacariu, Flaviu Roman, Mihai Timar, Tudor Stanciu, Radu Banabic, Octavian Cret Computer Science Department, Technical University of

More information

Cray XE6 Performance Workshop

Cray XE6 Performance Workshop Cray XE6 Performance Workshop Multicore Programming Overview Shared memory systems Basic Concepts in OpenMP Brief history of OpenMP Compiling and running OpenMP programs 2 1 Shared memory systems OpenMP

More information

SOME NOTES ON MULTIPLICATIVE CONGRUENTIAL RANDOM NUMBER GENERATORS WITH MERSENNE PRIME MODULUS Dr. James Harris*

SOME NOTES ON MULTIPLICATIVE CONGRUENTIAL RANDOM NUMBER GENERATORS WITH MERSENNE PRIME MODULUS Dr. James Harris* JournaCof the South Carolina JLcademy of Science l(l):28-32 Fall 2003 SOME NOTES ON MULTIPLICATIVE CONGRUENTIAL RANDOM NUMBER GENERATORS WITH MERSENNE PRIME MODULUS 2 61-1 Dr. James Harris* *Department

More information

Code Parallelization for Multi-Core Software Defined Radio Platforms with OpenMP

Code Parallelization for Multi-Core Software Defined Radio Platforms with OpenMP Proceedings of SDR'11-WInnComm-Europe, 22-24 Jun 2011 Code Parallelization for Multi-Core Software Defined Radio Platforms with OpenMP Michael Schwall, Stefan Nagel and Friedrich K. Jondral Karlsruhe Institute

More information

Optimizing the use of the Hard Disk in MapReduce Frameworks for Multi-core Architectures*

Optimizing the use of the Hard Disk in MapReduce Frameworks for Multi-core Architectures* Optimizing the use of the Hard Disk in MapReduce Frameworks for Multi-core Architectures* Tharso Ferreira 1, Antonio Espinosa 1, Juan Carlos Moure 2 and Porfidio Hernández 2 Computer Architecture and Operating

More information

Statistical Testing of Software Based on a Usage Model

Statistical Testing of Software Based on a Usage Model SOFTWARE PRACTICE AND EXPERIENCE, VOL. 25(1), 97 108 (JANUARY 1995) Statistical Testing of Software Based on a Usage Model gwendolyn h. walton, j. h. poore and carmen j. trammell Department of Computer

More information

Recurrent Neural Network Models for improved (Pseudo) Random Number Generation in computer security applications

Recurrent Neural Network Models for improved (Pseudo) Random Number Generation in computer security applications Recurrent Neural Network Models for improved (Pseudo) Random Number Generation in computer security applications D.A. Karras 1 and V. Zorkadis 2 1 University of Piraeus, Dept. of Business Administration,

More information

An Image encryption using pseudo random bit generator based on a non-linear dynamic chaotic system

An Image encryption using pseudo random bit generator based on a non-linear dynamic chaotic system An Image encryption using pseudo random bit generator based on a non-linear dynamic chaotic system ALGIMANTAS ČITAVIČIUS, AUDRIUS JONAVIČIUS Department of Electronics and Measurement Systems Kaunas University

More information

Parallel Algorithms on Clusters of Multicores: Comparing Message Passing vs Hybrid Programming

Parallel Algorithms on Clusters of Multicores: Comparing Message Passing vs Hybrid Programming Parallel Algorithms on Clusters of Multicores: Comparing Message Passing vs Hybrid Programming Fabiana Leibovich, Laura De Giusti, and Marcelo Naiouf Instituto de Investigación en Informática LIDI (III-LIDI),

More information

Analysis of Matrix Multiplication Computational Methods

Analysis of Matrix Multiplication Computational Methods European Journal of Scientific Research ISSN 1450-216X / 1450-202X Vol.121 No.3, 2014, pp.258-266 http://www.europeanjournalofscientificresearch.com Analysis of Matrix Multiplication Computational Methods

More information

An 11-Step Sorting Network for 18 Elements. Sherenaz W. Al-Haj Baddar, Kenneth E. Batcher

An 11-Step Sorting Network for 18 Elements. Sherenaz W. Al-Haj Baddar, Kenneth E. Batcher An -Step Sorting Network for 8 Elements Sherenaz W. Al-Haj Baddar, Kenneth E. Batcher Kent State University Department of Computer Science Kent, Ohio 444 salhajba@cs.kent.edu batcher@cs.kent.edu Abstract

More information

PARALLEL BUCKET SORTING ALGORITHM

PARALLEL BUCKET SORTING ALGORITHM PARALLEL BUCKET SORTING ALGORITHM Hiep Hong Computer Science Department San Jose State University San Jose, CA 95192 408-924-1000 hiepst@yahoo.com ABSTRACT Bucket sorting algorithm achieves O(n) running

More information

DESIGN AND IMPLEMENTATION OF PSEUDO RANDOM NUMBER GENERATOR USED IN AES ALGORITHM

DESIGN AND IMPLEMENTATION OF PSEUDO RANDOM NUMBER GENERATOR USED IN AES ALGORITHM DESIGN AND IMPLEMENTATION OF PSEUDO RANDOM NUMBER GENERATOR USED IN AES ALGORITHM M.SUNITHA (1), P.S.SUREKHA (2) M.TECH Scholor, VLSI Design, Jyothismathi College of Engineering and Technology (1) ASST.Professor,

More information

HOWTO: A Simple Random Number Generator for the ATmega1280 Microcontroller under C and TinyOS

HOWTO: A Simple Random Number Generator for the ATmega1280 Microcontroller under C and TinyOS HOWTO: A Simple Random Number Generator for the ATmega1280 Microcontroller under C and TinyOS Patrik Fimml Martin Perner Bernhard Petschina May 21, 2015 (v2.0) Contents 1 Introduction 1 1.1 True randomness

More information

ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length

ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length SOFTWARE PRACTICE AND EXPERIENCE, VOL. 23(11), 1267 1283 (NOVEMBER 1993) ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length faris n. abuali and roger l. wainwright

More information

A Simple Model for Estimating Power Consumption of a Multicore Server System

A Simple Model for Estimating Power Consumption of a Multicore Server System , pp.153-160 http://dx.doi.org/10.14257/ijmue.2014.9.2.15 A Simple Model for Estimating Power Consumption of a Multicore Server System Minjoong Kim, Yoondeok Ju, Jinseok Chae and Moonju Park School of

More information

Go Multicore Series:

Go Multicore Series: Go Multicore Series: Understanding Memory in a Multicore World, Part 2: Software Tools for Improving Cache Perf Joe Hummel, PhD http://www.joehummel.net/freescale.html FTF 2014: FTF-SDS-F0099 TM External

More information

Parallel Programming Concepts. Parallel Algorithms. Peter Tröger

Parallel Programming Concepts. Parallel Algorithms. Peter Tröger Parallel Programming Concepts Parallel Algorithms Peter Tröger Sources: Ian Foster. Designing and Building Parallel Programs. Addison-Wesley. 1995. Mattson, Timothy G.; S, Beverly A.; ers,; Massingill,

More information

A 12-STEP SORTING NETWORK FOR 22 ELEMENTS

A 12-STEP SORTING NETWORK FOR 22 ELEMENTS A 12-STEP SORTING NETWORK FOR 22 ELEMENTS SHERENAZ W. AL-HAJ BADDAR Department of Computer Science, Kent State University Kent, Ohio 44240, USA KENNETH E. BATCHER Department of Computer Science, Kent State

More information

OPTIMAL SERVICE PRICING FOR A CLOUD CACHE

OPTIMAL SERVICE PRICING FOR A CLOUD CACHE OPTIMAL SERVICE PRICING FOR A CLOUD CACHE ABSTRACT: Cloud applications that offer data management services are emerging. Such clouds support caching of data in order to provide quality query services.

More information

RESEARCH ARTICLE Software/Hardware Parallel Long Period Random Number Generation Framework Based on the Well Method

RESEARCH ARTICLE Software/Hardware Parallel Long Period Random Number Generation Framework Based on the Well Method International Journal of Advances in Engineering, 2015, 1(3), 84-89 ISSN: 2394-9260 (printed version); ISSN: 2394-9279 (online version); url:http://www.ijae.in RESEARCH ARTICLE Software/Hardware Parallel

More information

Lecture 10 Midterm review

Lecture 10 Midterm review Lecture 10 Midterm review Announcements The midterm is on Tue Feb 9 th in class 4Bring photo ID 4You may bring a single sheet of notebook sized paper 8x10 inches with notes on both sides (A4 OK) 4You may

More information

An Introduction to OpenMP

An Introduction to OpenMP An Introduction to OpenMP U N C L A S S I F I E D Slide 1 What Is OpenMP? OpenMP Is: An Application Program Interface (API) that may be used to explicitly direct multi-threaded, shared memory parallelism

More information

I. INTRODUCTION II. EXISTING SYSTEM

I. INTRODUCTION II. EXISTING SYSTEM Design and Implementation of Pseudo Random Number Generator Used in AES Algorithm N.Madhavi 1, R.Viswanadham 2 M. Tech Student, Department of ECE, Shri Vishnu Engg College for women Asst. Professor, Department

More information

Parallelization of Graph Isomorphism using OpenMP

Parallelization of Graph Isomorphism using OpenMP Parallelization of Graph Isomorphism using OpenMP Vijaya Balpande Research Scholar GHRCE, Nagpur Priyadarshini J L College of Engineering, Nagpur ABSTRACT Advancement in computer architecture leads to

More information

A Study of High Performance Computing and the Cray SV1 Supercomputer. Michael Sullivan TJHSST Class of 2004

A Study of High Performance Computing and the Cray SV1 Supercomputer. Michael Sullivan TJHSST Class of 2004 A Study of High Performance Computing and the Cray SV1 Supercomputer Michael Sullivan TJHSST Class of 2004 June 2004 0.1 Introduction A supercomputer is a device for turning compute-bound problems into

More information

Introduction to. Slides prepared by : Farzana Rahman 1

Introduction to. Slides prepared by : Farzana Rahman 1 Introduction to OpenMP Slides prepared by : Farzana Rahman 1 Definition of OpenMP Application Program Interface (API) for Shared Memory Parallel Programming Directive based approach with library support

More information

Intel C++ Compiler Professional Edition 11.0 for Windows* In-Depth

Intel C++ Compiler Professional Edition 11.0 for Windows* In-Depth Intel C++ Compiler Professional Edition 11.0 for Windows* In-Depth Contents Intel C++ Compiler Professional Edition for Windows*..... 3 Intel C++ Compiler Professional Edition At A Glance...3 Intel C++

More information

Barbara Chapman, Gabriele Jost, Ruud van der Pas

Barbara Chapman, Gabriele Jost, Ruud van der Pas Using OpenMP Portable Shared Memory Parallel Programming Barbara Chapman, Gabriele Jost, Ruud van der Pas The MIT Press Cambridge, Massachusetts London, England c 2008 Massachusetts Institute of Technology

More information

Cryptompress: A Symmetric Cryptography algorithm to deny Bruteforce Attack

Cryptompress: A Symmetric Cryptography algorithm to deny Bruteforce Attack Cryptompress: A Symmetric Cryptography algorithm to deny Bruteforce Attack Vivek Kumar 1 and Sandeep Sharma 2 1,2 Department of Electronics and Communication Engineering, Dehradun Institute of Technology,

More information

PERFORMANCE ANALYSIS AND OPTIMIZATION OF SKIP LISTS FOR MODERN MULTI-CORE ARCHITECTURES

PERFORMANCE ANALYSIS AND OPTIMIZATION OF SKIP LISTS FOR MODERN MULTI-CORE ARCHITECTURES PERFORMANCE ANALYSIS AND OPTIMIZATION OF SKIP LISTS FOR MODERN MULTI-CORE ARCHITECTURES Anish Athalye and Patrick Long Mentors: Austin Clements and Stephen Tu 3 rd annual MIT PRIMES Conference Sequential

More information

Universal Fuzzy Statistical Test for Pseudo Random Number Generators (UFST-PRNG)

Universal Fuzzy Statistical Test for Pseudo Random Number Generators (UFST-PRNG) Universal Fuzzy Statistical Test for Pseudo Random Number Generators (UFST-PRNG) Raad A. Muhajjar, Ph.D. ICCR Scholar, Dept. of Computer Science, Dr. S. Kazim Naqvi, Sr. System Analyst, Centre for IT,

More information

OVERHEADS ENHANCEMENT IN MUTIPLE PROCESSING SYSTEMS BY ANURAG REDDY GANKAT KARTHIK REDDY AKKATI

OVERHEADS ENHANCEMENT IN MUTIPLE PROCESSING SYSTEMS BY ANURAG REDDY GANKAT KARTHIK REDDY AKKATI CMPE 655- MULTIPLE PROCESSOR SYSTEMS OVERHEADS ENHANCEMENT IN MUTIPLE PROCESSING SYSTEMS BY ANURAG REDDY GANKAT KARTHIK REDDY AKKATI What is MULTI PROCESSING?? Multiprocessing is the coordinated processing

More information

Shared Memory Parallel Programming. Shared Memory Systems Introduction to OpenMP

Shared Memory Parallel Programming. Shared Memory Systems Introduction to OpenMP Shared Memory Parallel Programming Shared Memory Systems Introduction to OpenMP Parallel Architectures Distributed Memory Machine (DMP) Shared Memory Machine (SMP) DMP Multicomputer Architecture SMP Multiprocessor

More information

IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY FPGA

IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY FPGA IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY FPGA Implementations of Tiny Mersenne Twister Guoping Wang Department of Engineering, Indiana University Purdue University Fort

More information

DESIGNING OF STREAM CIPHER ARCHITECTURE USING THE CELLULAR AUTOMATA

DESIGNING OF STREAM CIPHER ARCHITECTURE USING THE CELLULAR AUTOMATA DESIGNING OF STREAM CIPHER ARCHITECTURE USING THE CELLULAR AUTOMATA 1 Brundha K A MTech Email: 1 brundha1905@gmail.com Abstract Pseudo-random number generators (PRNGs) are a key component of stream ciphers

More information

Modification and Evaluation of Linux I/O Schedulers

Modification and Evaluation of Linux I/O Schedulers Modification and Evaluation of Linux I/O Schedulers 1 Asad Naweed, Joe Di Natale, and Sarah J Andrabi University of North Carolina at Chapel Hill Abstract In this paper we present three different Linux

More information

Contents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11

Contents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11 Preface xvii Acknowledgments xix CHAPTER 1 Introduction to Parallel Computing 1 1.1 Motivating Parallelism 2 1.1.1 The Computational Power Argument from Transistors to FLOPS 2 1.1.2 The Memory/Disk Speed

More information

ACCELERATING THE PRODUCTION OF SYNTHETIC SEISMOGRAMS BY A MULTICORE PROCESSOR CLUSTER WITH MULTIPLE GPUS

ACCELERATING THE PRODUCTION OF SYNTHETIC SEISMOGRAMS BY A MULTICORE PROCESSOR CLUSTER WITH MULTIPLE GPUS ACCELERATING THE PRODUCTION OF SYNTHETIC SEISMOGRAMS BY A MULTICORE PROCESSOR CLUSTER WITH MULTIPLE GPUS Ferdinando Alessi Annalisa Massini Roberto Basili INGV Introduction The simulation of wave propagation

More information

Efficient Use of Random Delays

Efficient Use of Random Delays Efficient Use of Random Delays Olivier Benoit 1 and Michael Tunstall 2 1 Gemalto olivier.banoit@gemalto.com 2 Royal Holloway, University of London m.j.tunstall@rhul.ac.uk Abstract Random delays are commonly

More information

Enhancement of Lempel-Ziv Algorithm to Estimate Randomness in a Dataset

Enhancement of Lempel-Ziv Algorithm to Estimate Randomness in a Dataset , October 19-21, 216, San Francisco, USA Enhancement of Lempel-Ziv Algorithm to Estimate Randomness in a Dataset K. Koneru, C. Varol Abstract Experts and researchers always refer to the rate of error or

More information

Building Efficient Concurrent Graph Object through Composition of List-based Set

Building Efficient Concurrent Graph Object through Composition of List-based Set Building Efficient Concurrent Graph Object through Composition of List-based Set Sathya Peri Muktikanta Sa Nandini Singhal Department of Computer Science & Engineering Indian Institute of Technology Hyderabad

More information

Course overview. The course lessons. Education Think Parallel: Teaching Parallel Programming Today

Course overview. The course lessons. Education Think Parallel: Teaching Parallel Programming Today August 2008 (vol. 9, no. 8), art. no. 0808-mds2008080001 1541-4922 2008 IEEE Published by the IEEE Computer Society Education Think Parallel: Teaching Parallel Programming Today Ami Marowka Shenkar College

More information