60,900 research outputs found
Teaching Parallel Programming Using Java
This paper presents an overview of the "Applied Parallel Computing" course
taught to final year Software Engineering undergraduate students in Spring 2014
at NUST, Pakistan. The main objective of the course was to introduce practical
parallel programming tools and techniques for shared and distributed memory
concurrent systems. A unique aspect of the course was that Java was used as the
principle programming language. The course was divided into three sections. The
first section covered parallel programming techniques for shared memory systems
that include multicore and Symmetric Multi-Processor (SMP) systems. In this
section, Java threads was taught as a viable programming API for such systems.
The second section was dedicated to parallel programming tools meant for
distributed memory systems including clusters and network of computers. We used
MPJ Express-a Java MPI library-for conducting programming assignments and lab
work for this section. The third and the final section covered advanced topics
including the MapReduce programming model using Hadoop and the General Purpose
Computing on Graphics Processing Units (GPGPU).Comment: 8 Pages, 6 figures, MPJ Express, MPI Java, Teaching Parallel
Programmin
MPIAB: A Novel Agent Architecture for Parallel Processing
This paper presents MPIAB, an agent based architecture for parallel processing. The architecture is developed to model the functions of standard MPI using Java agents. It remedies the deficiencies that exist in MPI, including the incapability to operate in heterogeneous environments. The architecture also addresses other issues such as effective utilization of system resources by dynamically selecting the least busy computing nodes through the computation of a threshold barrier value. Our proposed agent architecture would integrate the power of Java technology and agents to support efficient communication and synchronization of the nodes over the network for parallel processing
Client-Server Application Based on CORBA
Bakalárska práca sa zaoberá problematikou klient-server aplikácií a technológiami používanými na softvérovú implementáciu klient-server aplikácií v programovacom jazyku Java. Cieľom bakalárskej práce je paralelizácia genetického algoritmu pre problém batohu a vytvorenie dvoch distribuovaných modelov pre technológie CORBA a Hessian. V teoretickej časti práce sú popísané základné pojmy týkajúce sa sieťovej komunikácie, vysvetlenie klient-server modelu sieťovej komunikácie, sú rozobraté technológie Java RMI, CORBA a Hessian. V práci je popísaný paralelný a distribuovaný model spracovania dát, genetický algoritmus a jeho využitie na vyriešenie problému naplnenia batohu. V praktickej časti je vytvorený paralelný a distribuovaný model genetického algoritmu pre problém naplnenia batohu s použitím technológií CORBA a Hessian. V práci je spravené porovnanie týchto modelov z hľadiska času výpočtu. Výsledky merania času genetického algoritmu sú v tabuľkách.Bachelor thesis deals with client-server applications and software technologies used to implement client-server applications in the Java programming language. The goal of bachelor thesis is the parallelization of genetic algorithm for knapsack problem and create two distributed models for technology CORBA and Hessian. In the teoretical part of the thesis are describes the basic concept of network communication, explanation client-server model of network communication, there are discussed technologies Java RMI, CORBA and Hessian. In the thesis is described the parallel and the distributed model of data processing, genetic algorithm and its use to solve the knapsack problem. In the practical part is created parallel and distributed model of a genetic algorithm for knapsack problem using technology CORBA and Hessian. In the thesis is done comparison of parallel model and distributed models in terms of calculation time. Results of measurement time are displayed in tables.
Probabilistic Graphical Models on Multi-Core CPUs using Java 8
In this paper, we discuss software design issues related to the development
of parallel computational intelligence algorithms on multi-core CPUs, using the
new Java 8 functional programming features. In particular, we focus on
probabilistic graphical models (PGMs) and present the parallelisation of a
collection of algorithms that deal with inference and learning of PGMs from
data. Namely, maximum likelihood estimation, importance sampling, and greedy
search for solving combinatorial optimisation problems. Through these concrete
examples, we tackle the problem of defining efficient data structures for PGMs
and parallel processing of same-size batches of data sets using Java 8
features. We also provide straightforward techniques to code parallel
algorithms that seamlessly exploit multi-core processors. The experimental
analysis, carried out using our open source AMIDST (Analysis of MassIve Data
STreams) Java toolbox, shows the merits of the proposed solutions.Comment: Pre-print version of the paper presented in the special issue on
Computational Intelligence Software at IEEE Computational Intelligence
Magazine journa
Parallel computing for artificial neural network training
The big-data is an oil of this century. A high amount of computational power is required
to get knowledge from data. Parallel and distributed computing is essential to
processing a large amount of data. Artificial Neural Networks (ANNs) need as much
as possible data to have high accuracy, whereas parallel processing can help us to save
time in ANNs training. In this paper, we have implemented exemplary parallelization
of neural network training by dint of Java and its native socket libraries. During the
experiments, we have noticed that Java implementation tends to have memory issues
when a large amount of training data sets are involved in training. We have remarked
that exemplary parallelization of a neural network training will not outperform drastically
when additional nodes are introduced into the system after a certain point. This
is widely due to network communication complexity in the system
URL Recommender using Parallel Processing
The main purpose of this project is to section similar news and articles from a vast variety of news articles. Let’s say, you want to read about latest news related to particular topic like sports. Usually, user goes to a particular website and goes through some news but he won’t be able to cover all the news coverage in a single website. So, he would be going through some other news website to checking it out and this continues. Also, some news websites might be containing some old news and the user might be going through that. To solve this, I have developed a web application where in user can see all the latest news from different websites in a single place. Users are given choice to select the news websites from which they want to view the latest news. The articles which we get from news websites are very random and we will be applying the DBSCAN algorithm and place the news articles in the cluster form for each specific topic for user to view. If the user wants to see sports, he will be provided with sports news section. And this process of extracting random news articles and forming news clusters are done at run time and at all times we will get the latest news as we will be extracting the data from web at run time. This is an effective way to watch all news at single place. And in turn this can be used as articles (URL) recommender as the user has to just go through the specific cluster which interests him and not visit all news websites to find articles. This way the user does not have to visit different sites to view all latest news. This idea can be expanded to not just news articles but also in other areas like collecting statistics of financial information etc. As the processing is done at runtime, the performance has to be improved. To improve the performance, the distributed data mining is used and multiple servers are being used which communicate with each other
- …