Concurrent approach to Data Parallel Model using Java (original) (raw)

Performance comparison of java based parallel programming models

Indonesian Journal of Electrical Engineering and Computer Science

Parallel programming has been implemented in many areas to solve various computational problem with the aim, to improve the performance and scalability of the software application. There are a few parallel programming models commonly used, namely, threads, and message passing (distributed) models. Furthermore, various APIs have been proposed to implement these models based on two popular languages, notably, C/C++ and Java. A few studies have been done to compare the performance of parallel programming models, specifically, pure versus hybrid model. However, most of existing comparisons targeted on MPI/OpenMP based on C/C++ language. In this paper, our aim is to explore the performance comparison between threads, message passing and hybrid model in Java, specifically using Java multithreading and MPJ Express. For this reason, we have chosen a problem called word count occurrence which is significant in Natural Language Processing and use it to design and implement the parallel progra...

Approaching developments on parallel programming models through Java

Multicore platforms allow developers to optimize applications by intelligent partitioning different workloads on different processor cores. Currently, application programs are optimized to use multiple processor resources, resulting in faster application performance. Our earlier research work focused native thread for Java on windows thread, Pthread, Intel TBB, respectively, we developed NativeThreads, NativePthread, Java Native Intel TBB beneath windows 32-bit platform. This article aims to identify the future directions of native thread for Java on windows thread, Pthread, Intel TBB through JNI beneath windows 64-bit platforms and other platform besides. Furthermore, it articulates additional opening to pursue approaching developments on parallel programming models through Java

Survey on Parallel Programming Model

2008

The development of microprocessors design has been shifting to multi-core architectures. Therefore, it is expected that parallelism will play a significant role in future generations of applications. Throughout the years, there has been a myriad number of parallel programming models proposed. In choosing a parallel programming model, not only the performance aspect is important, but also qualitative the aspect of how well parallelism is abstracted to developers. A model with a well abstraction of parallelism leads to a higher application-development productivity. In this paper, we propose seven criteria to qualitatively evaluate parallel programming models. Our focus is on how parallelism is abstracted and presented to application developers. As a case study, we use these criteria to investigate six well-known parallel programming models in the HPC community.

Parallel programming models: a survey

Parallel programming and the design of efficient parallel programs is a development area of growing importance. Parallel programming models are almost used to integrate parallel software concepts into a sequential code. These models represent an abstraction of the hardware capabilities to the programmer. In fact, a model is a bridge between the application to be parallelized and the machine organization. Up to now, a variety of programming models have been developed, each having its own approach. This paper enumerates various existing parallel programming models in the literature. The purpose is to perform a comparative evaluation of the mostly used ones, namely MapReduce, Cilk, Cilk++, OpenMP and MPI, within some extracted features.

Models and languages for parallel computation

1998

Abstract We survey parallel programming models and languages using six criteria to assess their suitability for realistic portable parallel programming. We argue that an ideal model should by easy to program, should have a software development methodology, should be architecture-independent, should be easy to understand, should guarantee performance, and should provide accurate information about the cost of programs.

An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey

2017

The growing nature of the demand on the increasing use of parallel computing and parallel programming by the application development industry is forcing the researcher community to bring the modern and novel frameworks and models in order to increase the performance. A numerous number of research attempts are been carried out by renounced researchers in the past. Nevertheless, this domain is been the point of focus for over a decade due to the endless possibilities of the scope. The existing research outcomes are always been criticized due to the lack of practically and understand ability. Specifically, the ease of use to improve the programming paradigms based on the proposed methods. Also, the scope for improvement is always been ignored by the researchers. Thus, this work significantly contributes towards the practical importance and implications of the parallel programming models from a newer perspective. The major outcome of this work is to compare the benefits and drawbacks of...

Modeling of Concurrent Execution

IUG Journal of Natural Studies, 2015

A parallel-execution model (PEM) new approach that simulates concurrent parallelism in parallel programs is presented. The approach uses VHDL (VHSIC Hardware Description Language) as the modeling tool. The PEM approach consists of two components: The first component is an IF1 parser. The parser takes a dataflow graph represented by the IF1 (Intermediate Form 1) dataflow language as an input and produces Java objects as an output. The second component is an IF1-to-VHDL compiler. This compiler takes the Java objects produced by the IF1 parser as an input and produces the corresponing VHDL code that reprersents the graph as an output. To validate our approach we apply the VHDL simulator to simulate the resultant code and get the PEM performance metrics. Simulation results show that our model is accurate and powerful and the results coinside with the expectations.

Parallel and Distributed Computing Using the Java Language Paradigm

1996

Abstract Parallel processing has emerged as a key enabling technology in modern computers, driven by the ever-increasing demand for higher performance, lower costs and sustained productivity in real-life applications. At the same time, the Internet, whose exponential growth in the last 4 years can be greatly attributed to the ever-increasing popularity of the World-Wide Web, has become a virtual in nite source of information and processing resources.

Approaches to Data Parallel Programming

In this paper efforts have been put efforts to illustrate in the best way how to start with the programming of data parallel model. The various things that need to be taken care before starting up with this approach of programming. Data Parallel Approach means split the data on which the instruction is to be applied and assign the same task to different processing elements for the processing over the individual data that has been assigned to them. Hence after all the processing elements are done with the assigned task then the whole result is then accommodated back at one place.