.

Monday, June 3, 2019

OpenMP Based Fast Data Searching with Multithreading

OpenMP Based Fast Data counting with MultithreadingV.Karthikeyan, Dr. S.Raviand S.Flora MagdaleneAbstractThe multiprocessor cores with multithreaded cap ability are inveterate to gain a significant share and offer high effect. The use of OpenMP applications on two pair architectures can identify architectural bottlenecks and introduces high train of resource communion in multithreading performance complications. An adaptive run-time mechanism provides entreeal but limited performance improvements on multithreading and is maximized the efficiency of OpenMP multithreading as required by the runtime environment and the programme interface. This paper handles the task of info searching efficiently and a comparative analysis of performance with and without OpenMP is made. Experimental result shows accelerated performance over the alive methods in terms of various performance criteria.Keywords OpenMP (Open Multi serve uping), Multithreading, Fast Data Searching, MulticoreIntrodu ctionOpenMP is an adopted shared memory gibe programming interface providing high level programming constructs that enable the user to easily expose an application task and loop level agreement. The range of OpenMP applicability is significantly extended by the addition of explicit tasking features.OpenMP is used for enhanced portability computation, where a energizing workload distribution method is employed for good load balancing. However, the search network involved in the Viterbi beam search is reported by 5 statically partitioned into independent subtrees to reduce memory synchronicity overhead. It improves the performance of a workload predictive thread assignment dodging and a false cache line sharing prevention method is required. OpenMP is a collection of compiling program directives and library functions that are used to create parallel programs for shared-memory computers. It combines with C, C++ or Fortranto create a multithreaded program where the locomote share the address space and make easier for programmers to convert single-threaded code to multithreaded. It has two key concepts videlicet sequent equivalence Executes development one thread or many duds.Incremental parallelism A programming that evolves incrementally from a sequential program to a parallel program.OpenMP has an advantage in synchronization over hand-threading where it uses more expensive system calls than present in OpenMP or the code efficient versions of synchronization primitives. As a shared-memory programming paradigm, OpenMP is suitable for parallelizing applications on simultaneous multithreaded and multicore processors as reported in 11. It is an API (application program interface) used for explicitly direct multi-threaded, shared memory parallelism to standardize programming extensions for shared memory machines is shown in Figure 1.Figure1Model for OpenMP Program using threadingAt high-end, the microprocessors encompass aggressive multithreading and multico re technologies to form powerful computational building blocks for the super computers. The evaluation uses detailed performance measurements and information from hardware performance counters to architectural bottlenecks of multithreading and multicore processors that hinder the scalability of OpenMPin which OpenMP implementations can be improved to better condense functioning on multithreading processors. The thread scheduling establish model with kernel and user space is shown in Figure 2.OpenMP applications can efficiently exploit the execution contexts of multithreading processors. The multi-threading models areMaster-Slave model,Worker-Crew model andPipeline modelFigure 2Multithreading processors using Kernel and User spaceOpenMP Issues with Multithreading ApproachOpenMP specification includes critical, atomic, flush and barrier directives for synchronization purposes as shown in Table 1.Table 1OpenMP synchronization specificationEffects of OpenMP for Multithreading ProcessT he effects of OpenMP for multithreading process arelisted in Table 2.Table 2Effects of OpenMPThe multithreading is required a solution which is scalable in a number of dimensions and achieve speedups. An efficient parallel program usually limits the number of threads to the number of physical cores that create a large number of concurrent threads. It describes the low-level Linux kernel interface for threads and the programs are invoked by a severalize system call which creates a process and followed by an exec system call and loads a program to starts execution. Threads typically end by execute an exit system call, which can kill one or all threads.Related WorksDaniel, et al., 2010 presented the compilation of synchronous programs to multi-threaded OpenMP- found C programs and guarded actions which are a comfortable intermediate language for synchronous languages. J. Brandt and K. Schneider 2009 presented separate compilation of synchronous programs. The target deterministic sing le-threaded code directly executes synchronous programs on simple micro-controllers. K. Schneider 2009 proposed the conundrum to generate multi-threaded C-code from synchronous guarded actions, which is a comfortable intermediate format for the compilation of synchronous programs. PranavandSumit 2014 proposed the performances (speedup) of parallel algorithms on multi-core system using OpenMP. C.D. Antonopoulos, et al., 2005 proposed multigrain parallel delaunay troth generation and opportunities for multithreaded architectures. H. Jin, et al., 1999 proposed the OpenMP implementation of NAS parallel benchmarks and its performance.M. Lee, et al., 2004 presented peak performance of SPEC OMPL benchmarks using maximum threads demonstration and compared with a traditional SMP. Zaid, et al., 2014 presented to implemented the bubble clear up algorithm using multithreading (OpenMP) and tested on two standard entropy sets (text file) with different sizeF. Liu and V. Chaudhary 2003 present ed a system-on-chip (SOC) design integrates processors into one chip and OpenMP is selected to deal with the heterogeneity of CMP.M. Sato, et al., 1999 proposed the compiler is installed to support OpenMP applications and GCC acts as a backend compiler.T. Wang, et al., 2004 presented the current flat view of OpenMP threads is not able to reflect the new features and need to be revisited to ensure continuing applicability.Cristiano et al., 2008 proposed reproducible simulation of multi-threaded workloads for architecture design exploration.Vijay Sundaresan, et al., 2006 proposed experiences with multi-threading and dynamic class loading in a java just-in-time compiler. Priya, et al., 2014 proposed to compare and analyze the parallel computing ability offered by OpenMP for Intel Cilk Plus and MPI(Message passing Interface). Sanjay and Kusum 2012 presented to analyze the parallel algorithms for computing the solution of dense system of linear equations and to approximately compute the value of OpenMP interface. S.N. TirumalaRao 2010 focuses on performance of memory mapped files on Multi-Core processors and explored the potential of Multi-Core hardware under OpenMP API and POSIX threads.Explicit Multithreading Using MultithreadsThe Explicit multithreading is more complex compared to OpenMP and dynamic applications need to be implemented efficaciously so as to allow user control on performance. The explicit multithreading based multithreads with C coding are shown in Figure 3.Figure3 Explicit multithreading based coding in CScheduling for OpenMPOpenMP supports loop level scheduling that defines how loop iterations are assigned to each participating thread. The scheduling types are listed in Table 3.Table 3Scheduling TypesPseudo codepragma omp parallel sectionspragma omp sectiondo_clustering(0)pragma omp sectiondo_clustering(1)pragma omp sectiondo_clustering(2)pragma omp sectiondo_clustering(3)pragma omp sectiondo_clustering(4)Optimizing Execution Contexts on Multi threading ProcessThe selection of the optimal number of execution contexts for the execution of each OpenMP application is not trivial on multithread based multiprocessors. Thus, a performance-driven, adaptive mechanism which dynamically activates and deactivates the additional execution contexts on multithreading processors to automatically approximate the execution time of the best static selection of execution contexts per processor. It used a mechanism than the gross(a) search, which avoids modifications to the OpenMP compiler and runtime and identifies whether the use of the second execution context of each processor is beneficial for performance and adapts the number of threads used for the execution of each parallel region. The algorithm targets identification of the best loop scheduling policy which is based on the annotation of the beginning and end of parallel regions with calls to runtime. The calls can be inserted automatically, by a simple preprocessor. The run-time li nking techniques such as dynamic interposition can be used to intercept the calls issued to the native OpenMP runtime at the boundaries of parallel regions and apply dynamic adaptation even to un modified application binaries. It modifies the semantics of the OpenMP threads environment variable,using it as a suggestion for the number of processors to be used instead of the number of threads.Results and interchangeThe auditional results of info searching with OpenMP tools (multithreading) and without OpenMP (no multithreading) tools are shown in Figure 4and Figure 5 respectively. In both the cases search time for data is evaluated and established OpenMP based implementation which is fast compared to data searching done without OpenMP tools.Figure 4Search time with OpenMP (Multithreading)Figure5Search time without OpenMP (No Multithreading)The percentage of improvement in data searching with OpenMP (multithreading) tools is given in Table 4 and its graphical representation shown in Figure 6.Table 4Improvement with MultithreadingFigure6Improvement in data Searching with OpenMP (in %)The time elapsed to write data in file which is experimented with OpenMP and without OpenMP (search data) shown in Figure 7 and Figure 8 respectively.Figure 7Search datawith OpenMPFigure 8Search datawithout OpenMPConclusionSearching a data in large data base has been a profound area for researchers. In this research work OpenMP Tools is used to perform multithreading based search. The motive to use OpenMP is that the user can specify a paralliazation strategy for a program. Here an experiment of data searching using multithreading is conducted for a data base. The experiments are conducted with and without OpenMP and their performance is presented. The results obtained shows that the time required for searching a data using OpenMP is less compared to data searching without OpenMP. The method presented shows improved performance over existing methods in terms of performance and para llaziation can be done in future. The main limit point of the research work is that its practical implementation requires same number of multicore units as that of the number of threads. Future research shall focus on use of parallel threads for high performance systems.ReferencesDaniel Baudisch, Jens Brandt and Klaus Schneider, 2010, Multithreaded Code from Synchronous Programs Extracting Independent Threads for OpenMP, EDAA.J. Brandt and K. Schneider, 2009, Separate compilation of synchronous programs, in Software and Compilers for Embedded Systems (SCOPES), ACM International Conference continue Series, Vol. 320, pp. 110, Nice, France.K. Schneider, 2009, The synchronous programming language Quartz, Internal Report 375, Department of Computer Science, University of Kaiserslautern, Kaiserslautern, Germany.PranavKulkarni, SumitPathare, 2014, exploit Analysis of Parallel algorithm over Sequential using OpenMP, IOSR daybook of Computer Engineering, Vol. 16, No. 2, pp. 58-62.C. D. Antonopoulos, X. Ding, A. Chernikov, F. Blagojevic, D. S. Nikolopoulos and N. Chrisochoides, 2005, Multigrain Parallel Delaunay Mesh Generation Challenges and Opportunities for Multithreaded Architectures, in Proceeding of the 19thACM International Conference on Supercomputing (ICS2005), Cambridge, USA.H. Jin, M. Frumkin and J. Yan, 1999, The OpenMP Implementation of NAS Parallel Benchmarks and its Performance, Technical Report NAS-99-011, NASA Ames Research Center.M. Lee, B. Whitney and N. Copty, 2004, Performance and Scalability of OpenMP Programs on the Sun FireTM E25K Throughput Computing Server, WOMPAT 2004, pp. 19-28.ZaidAbdiAlkareemAlyasseri, Kadhim Al-Attar and Mazin Nasser, 2014, Parallelize Bubble Sort Algorithm Using OpenMP, International Journal of Advanced Research in Computer Science and Software Engineering, Vol. 4, No. 1, pp. 103-110.F. Liu and V. Chaudhary, 2003, Extending OpenMP for heterogeneous chip multiprocessors Parallel Processing, Proceedings of Internationa l Conference on Parallel Processing, pp. 161-168.M. Sato, S. Satoh, K. Kusano and Y. Tanaka, 1999, Design of OpenMP compiler for an SMP cluster, Proc. of the 1st European shop on OpenMP, pp.32-39.T. Wang, F. Blagojevic and D. S. Nikolopoulos, 2004, Runtime Support for Integrating Pre-computation and Thread-Level Parallelism on Simultaneous Multithreaded Processors, the Seventh Workshop on Languages, Compilers, and Run-time Support for Scalable Systems, Houston, TX.Cristiano Pereira, Harish Patil and Brad Calder, 2008, Reproducible simulation of multi-threaded workloads for architecture design exploration, in Proceedings of the IEEE International Symposium on Workload Characterization, pp. 173-182.Vijay Sundaresan, Daryl Maier, PramodRamarao and ready Stoodley, 2006, Experiences with multi-threading and dynamic class loading in a java just-in-time compiler, in International Symposium on Code Generation and Optimization, pp. 8797, San Francisco, USA.Priya Mehta, Sarvesh Singh, Deepik a Roy and M. Manju Sharma, 2014, Comparative ruminate of Multi-Threading Libraries to Fully Utilize Multi Processor/Multi Core Systems, International Journal of Current Engineering and Technology, Vol. 4, No. 4.Sanjay Kumar Sharma and Kusum Gupta, 2012, Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP, International Journal of Computer Science, Engineering and Information Technology, Vol. 2, No. 5.S.N. TirumalaRao, E.V. Prasad, N.B. Venkateswarlu, 2010, A Critical Performance Study of Memory Mapping on Multi-Core Processors An Experiment with k-means Algorithm with Large Data Mining Data Sets, International Journal of Computer Applications, Vol. 1, No. 9.

No comments:

Post a Comment