Victor Pankratius

Learn 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)
Auto-tuners automate the performance tuning of parallel applications. Three major drawbacks of current approaches are 1) they mainly focus on numerical software; 2) they typically do not attempt to reduce the large search space before search algorithms are applied; 3) the means to provide an auto-tuner with additional information to improve tuning are(More)
This paper presents a case study on parallelizing the sequential version of the BZip2 compression program for usage on multicore computers. We describe the encountered software engineering problems, discuss the tradeoffs of different par-allelization strategies, and present empirical performance results. The study was conducted during the last three weeks(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)
Recent multi-paradigm programming languages combine functional and imperative programming styles to make software development easier. Given today's proliferation of multicore processors, parallel programmers are supposed to benefit from this combination, as many difficult problems can be expressed more easily in a functional style while others match an(More)
Current multicore computers differ in many hardware characteristics. Software developers thus hand-tune their parallel programs for a specific platform to achieve the best performance; this is tedious and leads to non-portable code. Although the software architecture also requires adaptation to achieve best performance, it is rarely modified because of the(More)
Multicore chips are becoming mainstream, but programming them is difficult because the prevalent thread-based programming model is error-prone and does not scale well. To address this problem, we designed XJava, an extension of Java that permits the direct expression of pro-ducer/consumer, pipeline, master/slave, and data paral-lelism. The central concept(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)