Victor Pankratius

Learn More
Finding synchronization defects is difficult due to non-deterministic orderings of parallel threads. Current tools for detecting synchronization defects tend to miss many data races or produce an overwhelming number of false alarms. In this paper, we describe Helgrind+, a dynamic race detection tool that incorporates correct handling of condition variables(More)
E-learning has been a topic of increasing interest in recent years, due mainly to the fact that increased scheduling flexibility as well as tool support can now be offered at a widely affordable level. As a result, many e-learning platforms and systems have been developed and commercialized; these are based on client-server, peer-to-peer, or, more recently,(More)
The emergence of inexpensive parallel computers powered by multicore chips combined with stagnating clock rates raises new challenges for software engineering. As future performance improvements will not come "for free" from increased clock rates, performance critical applications will need to be parallelized. However, little is known about the engineering(More)
Transactional Memory (TM) promises to simplify parallel programming by replacing locks with atomic transactions. Despite much recent progress in TM research, there is very little experience using TM to develop realistic parallel programs from scratch. In this paper, we present the results of a detailed case study comparing teams of programmers developing a(More)
We conducted a case study of parallelizing a real program for multicore computers using currently available libraries and tools. We selected the sequential Bzip2 compression program for the study because it's a computing-intensive, widely used, and relevant application in everyday life. Its source code is available, and its algorithm is well documented. In(More)
In retail information systems it is common practice to subsume the data of products into product groups, which offers organizational advantages for example when new branches are opened, because they are assigned product groups instead of single products. Inspired by this approach, this paper focuses on business processes and proposes the usage of workflow(More)
In recent years, e-learning started to attract a lot of attention from researchers as well as practitioners. Many of the existing architectures of e-learning systems are mainly based on plain client-server or peer-topeer architectures and are therefore suffering from drawbacks like poor scalability or complicated interchange of content. In this paper, we(More)
This paper presents the XJava compiler for parallel programs. It exploits parallelism based on an object-oriented stream programming paradigm. XJava extends Java with new parallel constructs that do not expose programmers to low-level details of parallel programming on shared memory machines. Tasks define composable parallel activities, and new operators(More)
We are in the era of parallelism: Multicore processors with several cores on the same chip are standard. Fundamental changes in mainstream software development are required, because parallelism is now the key to better performance on every PC, laptop, or embedded device. Every performance-critical application – not just supercomputing applications – has to(More)
In the multicore era, database systems are facing new challenges to exploit parallelism and scale query performance on new processors. Taking advantage of multicore, however, is not trivial and goes far beyond inserting parallel constructs into available database system code. Varying hardware characteristics require different query parallelization(More)