Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 15

Liczba wyników na stronie
first rewind previous Strona / 1 next fast forward last
Wyniki wyszukiwania
Wyszukiwano:
w słowach kluczowych:  multithreading
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 1 next fast forward last
EN
With the recent expansion of specialized databases and departure from the "one size fits all" paradigm, engineers might decide to use multiple databases. Each database holds a representation of a data object but offers transactions and consistency guarantees only locally. Existing solutions either require additional coding or do not provide global ACID transactions. In this paper, we present fed-agent, a transactional layer that provides global consistency and ACID transactions for single data objects within multidatabase systems. It requires no additional coding besides configuration files. We show that fed-agent scales linearly and introduces an overhead small enough for most microservice solutions.
EN
In recent years multithreaded processing has become a important programming aspect. Computers with a multi-core processor are now widely available, enabling the creation of more efficient applications. Many libraries support multi-threaded solutions, but performance information is often lacking. The use of appropriate data structures and algorithms significantly speeds up the process of creation and development of applications. Article describes selected elements of the Qt and STL library and compares their performance in concurrent programming. The test was performed with custom applications created with C++. The time needed to perform individual operations was analysed.
PL
Przetwarzanie wielowątkowe na przestrzeni ostatnich lat stało się ważnym aspektem programistycznym. Komputery dysponujące procesorem wielordzeniowym są obecnie powszechnie dostępne co umożliwia tworzenie wydajniejszych aplikacji. Wiele bibliotek wspiera rozwiązania wielowątkowe lecz często brakuje informacji o wydajności. W artykule opisano wybrane elementy biblioteki Qt i STL oraz porównano ich wydajność w programowaniu współbieżnym. Testy zostały przeprowadzone za pomocą autorskich aplikacji napisanych w języku C++. Wyniki przedstawiono w postaci analizy czasów potrzebnych na wykonanie poszczególnych operacji.
PL
W artykule przedstawiono sposoby programowania wielowątkowego w wybranych językach programowania takich jak: C podejście strukturalne oraz obiektowe C++ przy użyciu bibliotek Posix Threads dla języka C oraz bibliotekę Boost dla języka C++. Opisano również charakterystykę wybranych bibliotek. Przedstawiono przykładowe rozwiązania typowych problemów programistycznych wykorzystujących wątki. Starano odpowiedzieć na pytanie czym kierować się przy wyborze języka do nauki programowania wielowątkowego oraz programowania w ogólnym tego słowa znaczeniu.
EN
The article presents multithreaded programming in selected programming languages such as: C structural and C ++ object oriented approach using Posix Threads libraries for C language and Boost library for C ++ language. The characteristics of selected libraries are also described. Examples of typical programming problems using threads are presented. An effort was made to answer the question of what to do when choosing a language for learning multithread programming and programming in the general meaning of this word.
EN
In the article implementation of a high-speed data transmission technological demonstrator using software defined radio technology is presented. A system architecture design including asymmetric framing transmission organization, which differs from the ones used in cellular systems is described. The construction of technological demonstrator consisting of a management unit, radio unit and programmable multi-threaded software performing all the protocol and system functions are shown.
PL
W niniejszym artykule omówiono realizację demonstratora technologicznego szybkiej transmisji danych zrealizowanego w technologii radia programowalnego. Przedstawiono architekturę zaprojektowanego systemu w tym asymetryczną organizację transmisji ramkowej, która odbiega od dotychczas stosowanych w systemach komórkowych. Dodatkowo omówiono konstrukcję urządzeń prototypowych składających się z jednostki zarządzającej i urządzenia radia programowalnego oraz wielowątkowe oprogramowanie realizujące wszystkie funkcje protokolarne oraz systemowe.
PL
W artykule przedstawiono realizację demonstratora technologicznego szybkiej transmisji danych w technologii radia programowalnego. Opisano architekturę zaprojektowanego systemu w tym asymetryczną organizację transmisji ramkowej, która odbiega od dotychczas stosowanych w systemach komórkowych. Przedstawiono także konstrukcję urządzeń prototypowych składających się z jednostki zarządzającej i urządzenia radia programowalnego oraz wielowątkowe oprogramowanie realizujące wszystkie funkcje protokolarne oraz systemowe.
EN
In the article the implementation of a high-speed data transmission technological demonstrator using software defined radio technology is presented. A system architecture design including assymetric framing transmission organization, which differ from the ones used in cellular systems is described. The construction of a technological demonstrator consisting of a management unit, radio unid and a programmable multitrheaded software performing all the protocol and system functions is shown.
EN
The data acquisition systems must be capable of process all the data produced by the source to ensure the highest level of accuracy, especially when it deals with hard real-time system monitoring task. However, the production of data is faster than the process to acquire and to process such a data. Using concurrency approach is an alternative to obtain the required level of performance and data processing. This paper presents the comparison between various C++ frameworks that by using multithreading technology and ringbuffer data structure allow data transfer in concurrent way. The comparison is based on the time interval between the instant when data is published and the instant when the data is gathered. These latency measurements have been taken using the configuration of one producer and two consumers for all evaluated frameworks. The results show that using standard C++ libraries to develop a simple framework it is possible to achieve suitable performance in order to fulfill the requirements of the high performance data acquisition systems described.
7
Content available Inter-thread communication efficiency
EN
In this paper I compare inter-thread communication methods: blocking queue and LMAX Disruptor without synchronization according to a number of threads (CPU cores) and consumer rate. The research is carried out using a multiprocessor machine with Non Uniformed Memory and Oracle Java Runtime Environment. I determine if processing on many multi-core CPUs with NUMA is faster than on single multi- core CPU or vice versa.
PL
Architektura CUDA firmy NVIDIA jest architekturą wielordzeniowych procesorów graficznych, w której jest stosowany model przetwarzania wielowątkowego. Procesor graficzny w architekturze CUDA może być traktowany jako procesor SIMD z pamięcią wspólną. W niniejszym artykule przedstawiono zastosowanie CUDA do rozwiązania problemu 3–SAT. Przedstawione zostały 3 wersje algorytmu oraz wyniki przeprowadzonych badań eksperymentalnych.
EN
The NVIDIA's CUDA architecture is multi–core GPU architecture with the multithreaded processing model. The GPU of CUDA architecture can be treated as a SIMD processor with shared memory. This work presents solving the 3–SAT problem using CUDA architecture. Three versions of algorithm are proposed. Apart from that the results of experimental tests are presented.
PL
W artykule zaprezentowano możliwość zastosowania układów graficznych celem przyspieszenia obliczeń komputerowych. Przedstawiono technologię oraz architekturę CUDA firmy nVidia, a także podstawowe rozszerzenia względem standardów języka C. W referacie omówiono autorskie algorytmy testowe oraz metodykę badań, które przeprowadzono w celu określenia skuteczności akceleracji obliczeń komputerowych z wykorzystaniem procesorów graficznych GPU w porównaniu do rozwiązań tradycyjnych, opartych o CPU.
EN
The paper deals with application of the graphic processor units (GPUs) to acceleration of computer operations and computations. The traditional computation methods are based on the Central Processor Unit (CPU), which ought to handle all computer operations and tasks. Such a solution is especially not effective in case of distributed systems where some sub-tasks can be performed in parallel. Many parallel threads can accelerate computing, which results in a shorter execution time. In the paper a new CUDA technology and architecture is shown. The presented idea of CUDA technology bases on application of the GPU processors to compu-tation to achieve better performance in comparison with the traditional methods, where CPUs are used. The GPU processors may perform multi-thread calculation. Therefore, especially in case of tasks where concurrency can be applied, CUDA may highly speed-up the computation process. The effectiveness of CUDA technology was verified experimentally. To perform investigations and experiments, the own test modules were used. The library of benchmarks consists of various algorithms, from simple iteration scripts to video processing methods. The results obtained from calculations performed via CPU and via GPU are compared and discussed.
10
Content available remote Decidability Problems in Petri Nets with Names and Replication
EN
In this paper we study decidability of several extensions of P/T nets with name creation and/or replication. In particular, we study how to restrict the models of RN systems (P/T nets extended with replication, for which reachability is undecidable) and í-RN systems (RN extendedwith name creation, which are Turing-complete, so that coverability is undecidable), in order to obtain decidability of reachability and coverability, respectively. We prove that if we forbid synchronizations between the different components in a RN system, then reachability is still decidable. Similarly, if we forbid name communication between the different components in a &nuRN system, or restrict communication so that it is allowed only for a given finite set of names, we obtain decidability of coverability. Finally, we consider a polyadic version of ν-PN (P/T nets extended with name creation), that we call pν-PN, in which tokens are tuples of names. We prove that pν-PN are Turing complete, and discuss how the results obtained for ν-RN systems can be translated to them.
EN
The development of optoelectronics and increasing the processing speed of processors encourage the use of different measurement methods with the use of data obtained from the digital cameras. The article presents the test results of the time consumption of the normalised 2D-correlation function. The correlation is one of most commonly used functions in image processing. It searches for a correlation between the two images and requires quite a lot of calculation operations. The speed of this function was examined in a variety of tools, such as MatLab, MatLab with tools Parallel Computing, library OpenCV and OpenCV wer.2.2 with the CUDA platform extension. During tests, the speeds of image processing were determined, especially for images acquired with high-resolution cameras. Conclusions presented concern with application possibilities of correlation methods, including multithreaded processing.
PL
Rozwój optoelektroniki i rosnąca szybkość przetwarzania procesorów zachęca do stosowania różnorodnych metod pomiarowych wykorzystujących dane pozyskane z kamer cyfrowych. W artykule zaprezentowano wyniki badań szybkości działania funkcji korelacji wykorzystywanych przy obróbce obrazów. Jedną z najczęściej wykorzystywanych funkcji w przetwarzaniu obrazów jest funkcja korelacji. Polega ona na poszukiwaniu współzależności pomiędzy dwoma obrazami i wymaga stosunkowo dużego nakładu obliczeniowego. Szybkość działania funkcji sprawdzono podczas wykorzystania różnych narzędziach takich, jak MatLab, MatLab z biblioteką Parallel Computing, biblioteka OpenCV oraz OpenCV wer.2.2 z możliwością wykorzystania technologii CUDA. W trakcie testów wyznaczono uzyskiwane prędkości przetwarzania obrazów, zwłaszcza w przypadku obrazów rejestrowanych za pomocą kamer wysokiej rozdzielczości. Przedstawiono wnioski dotyczące możliwości zastosowania funkcji korelacji, w tym z wykorzystaniem mechanizmu wielowątkowości.
PL
W niniejszym artykule przedstawiono metodę bezpośrednią rozwiązywania dużych układów równań liniowych algebraicznych z macierzami rzadkimi symetrycznymi, które powstają z zastosowaniem metody elementów skończonych do zadań mechaniki konstrukcji. W przeciwieństwie do znanych implementacji metody wielofrontalnej, podana metoda bazuje na agregacji podstruktur, na które została podzielona konstrukcja - na podstawie algorytmu uporządkowania, z jednoczesną eliminacją całkowicie zagregowanych równań. Tym sposobem faktoryzacja źródłowej macierzy rzadkiej o dużym rozmiarze doprowadzona zostaje do faktoryzacji sekwencji gęstych macierzy o stosunkowo niewielkim wymiarze. W artykule skoncentrowano się przede wszystkim na osiągnięciu wysokiej wydajności na wielordzeniowych komputerach PC.
EN
The direct method for solution of the large linear algebraic equation sets with sparse symmetrical matrices, which arise during application of the finite element method to the problems of structural mechanics, is presented. Proposed approach differs from well-known realizations of the multifrontal method because it is based on the assembling of substructures on which the whole structure is divided by means of application of reordering algorithm, with simultaneous elimination of the fully assembled equations. Thus the factorization of the source large sparse matrix is reduced to factorization of the series of dense matrices with respectively small dimension. The main attention in this article is paid to achievement of high performance on multi-core desktop computers.
EN
The presented method is used in finite-element analysis software developed for multicore and multiprocessor shared-memory computers, or it can be used on single-processor personal computers under the operating systems Windows 2000, Windows XP, or Windows Vista, widely popular in small or medium-sized design offices. The method has the following peculiar features: it works with any ordering; it uses an object-oriented approach on which a dynamic, highly memory-efficient algorithm is based; it performs a block factoring in the frontal matrix that entails a high-performance arithmetic on each processor and ensures a good scalability in shared-memory systems. Many years of experience with this solver in the SCAD software system have shown the method's high efficiency and reliability with various large-scale problems of structural mechanics (hundreds of thousands to millions of equations).
14
Content available remote Name Creation vs. Replication in Petri Net Systems
EN
We study the relationship between name creation and replication in a setting of infinitestate communicating automata. By name creation we mean the capacity of dynamically producing pure names, with no relation between them other than equality or inequality. By replication we understand the ability of systems of creating new parallel identical threads, that can synchronize with each other. We have developed our study in the framework of Petri nets, by considering several extensions of P/T nets. In particular, we prove that in this setting name creation and replication are equivalent, but only when a garbage collection mechanism is added for idle threads. However, when simultaneously considering both extensions the obtained model is, a bit surprisingly, Turing complete and therefore, more expressive than when considered separately.
15
Content available A compile-time deadlock detection pattern
EN
The paper presents the application of the trait technique in generic programming for compiletime deadlock detection and prevention in multihreaded applications.
PL
W artykule zaprezentowano przykład zastosowana techniki trejtów z C++ do wykrywania potencjalnych zakleszczeń w programie wielowątkowym.
first rewind previous Strona / 1 next fast forward last
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.