The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
At the beginning of the new century, we started with an educational project aimed at the joint development and shared use of teaching materials for software engineering education. The aim was to transfer knowledge, as well as to save expenses. Over the years, our cooperation did not only cover the development of the course, but also its delivery, e.g. by guest lecturing. This paper reports on the...
Discovering true needs for computer system performance has always been tricky and time consuming. Data size, number of simultaneous queries and their mutual isolation play key roles in defining need for computer resources. Response time of an average application is crucial from the customer's view. This paper explains the lessons learned from benchmarking of the response time.
With this paper we show through example how to determine acceptable response time of information system (IS) as part of Service level agreement (SLA) in cloud based information systems (CBIS) for randomly selected requirements and hardware infrastructure. IS which we analyzed is implemented on three different database management systems (DBMS): MS SQL Server - as commercial relational database management...
Paper presents speedup achieved through parallelization of code for computing π. Codes are implemented in C# with .NET framework and in C with OpenMP, on machine with i7 processor. Parallelization of code, more precisely embarassingly parallel problem, should show linear speedup, but as as shown in the following paper the same was not proven to be right. The differences in speedup between OpenMP and...
This paper propose parallel implementation of Ant Colony System (ACS) algorithm for automated combinational circuit design. Ant Colony System is one of the most popular and widely used Ant Colony Optimization (ACO) algorithm and heuristic algorithm in general. As digital logic circuits become more complex, efficient circuit design is priority and use of heuristic methods are unavoidable. Unfortunately,...
This paper examines the efficiency of different load granularity in ray tracing. Benchmarking of image rendering using raytracing algorithm with different load balancing scenarios is presented. Open source Monte Carlo raytracer was modified in order to enable measurement of individual thread execution time. It is showed that, with specific load balancing scenarios, specific threads' idle time can...
Optimization using ant colony (ACO) is one of algorithms which is used for distributed control and optimization. Beside static methods these methods and algorithms are more flexible and robust in dynamical environments such as traffic on Internet and standard telephony. These problems belong to class of hard problems because of huge space of possible solutions which need to be found in reasonable...
Vertex coloring is a subset of the graph coloring problem. It is of great importance in many applications. Vertex coloring implies a coloring of the vertices of the graph with minimal number of colors (k), so that adjacent vertices have different color. The paper presents a hybrid implementation of Simulated Annealing algorithm for k-coloring of the vertices of the graph. The programming has been...
MapReduce as a programming model is considered one of the biggest improvements in massive data processing which utilizes parallelization. The increasing amount of data being processed and stored has caused a need to investigate more efficient solutions to common problems, one of which is performing a join operation on two interconnected datasets. In this paper, a classic sequential solution to this...
Finding efficient vehicle routes is an important logistics problem which has been studied for several decades. Metaheuristic algorithms offer some solutions for that problem. This paper deals with GPU implementation of the ant colony optimization algorithm (ACO), which can be used to find the best vehicle route between designated points. The algorithm is applied on finding the shortest path in several...
This paper presents parallel matrix multiplication in C#. Threaded computation was distributed to all available cores in the shared memory system. Number of threads created to parallelize for-loops is equal to the number of cores in the system. The main aim of this work was to accomplish parallelization similar to what Microsoft .NET V4.o provided in their parallel extensions library and make it easy...
Software Engineering is an important part of modern Computer Engineering education. A comprehensive course in Software Engineering should include a topic on software metrics. Also, a number of courses practice handing team projects to students. In this paper a number of software metrics are applied to projects developed by students with the purpose of estimating overall team effort. In this way, conclusions...
Software Engineering is an important part of modern Communications Engineering education. In this paper a number of open-source tools for analysis of Subversion source code repositories are evaluated for purpose of determining individual developer contribution to a project. These tools are compared in the context of university bachelor level course in Software Engineering. Finally, they are used to...
Graphics processing units (GPU) are considered to have superior performance over the central processing units (CPU) in performing common scientific computations. Number of factors that can seriously change this conception are usually overlooked. In this paper, some of these factors are taken into account and their impact is measured, analysed and discussed. Matrix multiplication and Shell sorting...
This paper presents results of research in development of parallel implementations of genetic algorithms with focus on Map-Reduce programming paradigm. It tries to classify and fit this particular implementation in special model of algorithm having in mind all specific features of programming paradigm used. Besides that, we analyze details of existing proposals for implementation and scaling GA with...
Building scalable applications or improving scalability of existing ones is important and not an easy task to perform. Although every application is unique, they can be categorized in several classes. Similar solutions may be applied when scaling applications which belong to the same class. This paper covers five different techniques for scaling read-heavy web services delivering small amount of data...
This paper presents results of performance comparison of simulated annealing algorithm execution on central processing unit (CPU) and Graphics Processing Unit (GPU) that uses Compute Unified Device Architecture (CUDA). Algorithm used for measurement is a meta-heuristic embarrassingly parallel algorithm based on idea of material crystallization process when temperature is being increased to melting...
Multi-core processors offer a growing potential of parallelism but pose a challenge of program development for achieving high performance in applications. This pape r presents a comparison of the five parallel programming models for implementing parallel programs in C++ on multi -core computer systems. The models under consideration are Intel®'s Thread Building Blocks (TBB), OpenMPI, Intel®'s Cilk™...
This paper describes the procedure and the results of measuring the speed of processing arrays on 1, 2, or 3 hosts, connected in LAN. The measurement scenario was based on having the fixed processing time for each array member in all cases. Also, processing each array member is individual from processing others. For gaining control data, the array was processed on only one host. Afterwards, the array...
This article introduces the problem of parallelization of Dijkstra's algorithm, a well known algorithm for computing single-source shortest path in a graph. Dijkstra's algorithm can be applied to graphs with a various number of vertices and edges. Dijkstra's shortest path algorithm is implemented and presented, and the performances of its parallel and serial execution are compared. The algorithm implementation...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.