@inproceedings{StadlerHofmeisterDuennweber, author = {Stadler, Timo and Hofmeister, Simon and D{\"u}nnweber, Jan}, title = {A Method for the Optimized Placement of Bus Stops Based on Voronoi Diagrams}, series = {Proceedings of the 55th Hawaii International Conference on System Sciences (HICSS55): January 3-7, 2022, Maui, Hawaii, USA}, booktitle = {Proceedings of the 55th Hawaii International Conference on System Sciences (HICSS55): January 3-7, 2022, Maui, Hawaii, USA}, doi = {10.24251/HICSS.2022.694}, url = {http://nbn-resolving.de/urn:nbn:de:bvb:898-opus4-21214}, pages = {5686 -- 5694}, abstract = {In this paper a new method for placing bus stops is presented. The method is suitable for permanently installed new bus stops and temporarily chosen collection points for call busses as well. Moreover, our implementation of the Voronoi algorithm chooses new locations for bus stops in such a way that more bus stops are set in densely populated areas and less in less populated areas. To achieve this goal, a corresponding weighting is applied to each possible placement point, based on the number of inhabitants around this point and the points of interest, such as medical centers and department stores around this point. Using the area of Roding, a small town in Bavaria, for a case study, we show that our method is especially suitable for for rural areas, where there are few multi-family houses or apartment blocks and the area is not densely populated.}, language = {en} } @inproceedings{StadtlerNitaDuennweber, author = {Stadtler, Timo and Nita, Spyro and D{\"u}nnweber, Jan}, title = {A Parallel Hybrid Genetic Search for the Capacitated VRP with Pickup and Delivery}, series = {34th International Workshop, LCPC 2021, Newark, DE, USA, October 13-14, 2021}, booktitle = {34th International Workshop, LCPC 2021, Newark, DE, USA, October 13-14, 2021}, doi = {10.35096/othr/pub-6985}, url = {http://nbn-resolving.de/urn:nbn:de:bvb:898-opus4-69854}, abstract = {In the realm of parallel computing, optimization plays a pivotal role in achieving efficient and scalable solutions. In this work, we present the parallelization of a hybrid genetic search for solving the Capacitated Vehicle Routing Problem with Pickup and Delivery (CVRPPD).It leverages the synergy between genetic algorithms and parallel computing to address the complex optimization problem. This hybrid algorithm combines a customized version of local search with a genetic algorithm to compute an effective solution. Our implementation makes use of the Message Passing Interface (MPI) for data distribution and parallel execution. In addition, we run multi-threaded processes on NVIDIA graphical processors using the CUDA technology, which further increases the computation speed and consequently minimizes the runtime. Parallelization also allows the best-improvement strategy to be used instead of the rst-improvement strategy while maintaining the same runtime. We store the resulting routes in a bus route database which we created as the basis of an extensive library of optimal routes for our specifc use case of optimizing bus routes in a rural area. The experimental results on real road data show that the parallel implementation of the Hybrid Genetic Search (HGS) achieves significant improvements in runtime over the sequential implementation above a certain problem size. We believe that our implementation of the parallel hybrid genetic search method can have a great in influence on optimization strategies in parallel computing and can also be applied to other subproblems of the VRP.}, language = {en} } @incollection{GorlatchDuennweber, author = {Gorlatch, Sergei and D{\"u}nnweber, Jan}, title = {From Grid Middleware to Grid Applications}, series = {Future Generation Grids}, booktitle = {Future Generation Grids}, editor = {Getov, Vladimir and Laforenza, Domenico and Reinefeld, Alexander}, publisher = {Springer Verlag}, address = {Berlin}, isbn = {978-0-387-27935-0}, doi = {10.1007/978-0-387-29445-2_13}, pages = {241 -- 261}, abstract = {This paper deals with the problem of application programming for grid systems that combine heterogeneous data and computational resources via the Internet. We argue that grid programming is still too complex because of the big gap between the currently used and anticipated grid middleware, (e.g., Globus or WSRF) and the application level. We suggest that this gap needs to be closed in future-generation grids and propose a novel approach to bridging the gap by using Higher-Order Components (HOCs) — recurring patterns of parallel behaviour that are provided to the user as program building blocks with pre-packaged implementation and middleware setup. The presentation is illustrated with a simple case study of computing fractal images. Our experiments demonstrate that HOCs can simplify grid application programming significantly, without serious performance loss.}, language = {en} } @inproceedings{WinterDuennweber, author = {Winter, Christoph and D{\"u}nnweber, Jan}, title = {Model-Driven Development of GPU Applications}, series = {Parallel Computing: On the Road to Exascale}, booktitle = {Parallel Computing: On the Road to Exascale}, publisher = {IOS Press}, address = {Amsterdam, Netherlands}, isbn = {978-1-61499-621-7}, doi = {10.3233/978-1-61499-621-7-227}, pages = {227 -- 236}, abstract = {Programming GPUs with low-level libraries like CUDA and OpenCL is a tedious and error-prone task. Fortunately, algorithmic skeletons can shield developers from the complexity of parallel programming by encapsulating common parallel computing patterns. However, this simplification typically constrains programmers to write their applications using the GPU library employed by the skeleton implementation. In this work, we combine skeletal programming with modeldriven software development (MDSD) to increase the freedom of choice regarding the employed GPU library instead of leaving all technical decisions to the skeleton implementation. We present a code-generator that transforms models comprising skeletons, their input data and input functions to parallel C++ code while taking care of data-offset calculations. The generator has been tested using different GPU and multi-GPU communication libraries such as Thrust and CUDA-MPI. We demonstrate our novel approach to GPU programming with two example applications: affinity propagation and n-body simulation.}, language = {en} } @book{DuennweberGorlatch, author = {D{\"u}nnweber, Jan and Gorlatch, Sergei}, title = {Higher-Order Components for Grid Programming}, publisher = {Springer}, address = {Berlin, Heidelberg}, isbn = {978-3-642-00841-2}, doi = {10.1007/978-3-642-00841-2}, abstract = {A major challenge in grid computing remains the application software development for this new kind of infrastructure. Grid application programmers have to take into account several complicated aspects: distribution of data and computations, parallel computations on different sites and processors, heterogeneity of the involved computers, load balancing, etc. Grid programmers thus demand novel programming methodologies that abstract over such technical details while preserving the beneficial features of modern grid middleware. For this purpose, the authors introduce Higher-Order Components (HOCs). HOCs implement generic parallel/distributed processing patterns, together with the required middleware support, and they are offered to users via a high-level service interface. Users only have to provide the application-specific pieces of their programs as parameters, while low-level implementation details, such as the transfer of data across the grid, are handled by the HOCs. HOCs were developed within the CoreGRID European Network of Excellence and have become an optional extension of the popular Globus middleware. The book provides the reader with hands-on experience, describing a broad collection of example applications from various fields of science and engineering, including biology, physics, etc. The Java code for these examples is provided online, complementing the book. The expected application performance is studied and reported for extensive performance experiments on different testbeds, including grids with worldwide distribution. The book is targeted at graduate students, advanced professionals, and researchers in both academia and industry. Readers can raise their level of knowledge about methodologies for programming contemporary parallel and distributed systems, and, furthermore, they can gain practical experience in using distributed software. Practical examples show how the complementary online material can easily be adopted in various new projects.}, language = {en} } @inproceedings{DuennweberMihaylovGlettleretal., author = {D{\"u}nnweber, Jan and Mihaylov, Valentin and Glettler, Ren{\´e} and Maiborn, Volker and Wolff, Holger}, title = {Use of HPC-Techniques for Large-Scale Data Migration}, series = {Workshop on High-Performance Computing Applied to Finance, 2011, Ischia, Italy}, booktitle = {Workshop on High-Performance Computing Applied to Finance, 2011, Ischia, Italy}, publisher = {Springer}, address = {Berlin, Heidelberg}, isbn = {978-3-642-21877-4}, doi = {10.1007/978-3-642-29737-3_45}, abstract = {Any re-design of a distributed legacy system requires a migration which involves numerous complex data replication and transformation steps. Migration procedures can become quite difficult and time-consuming, especially when the setup (i.e., the employed databases, encodings, formats etc.) of the legacy and the target system fundamentally differ, which is often the case with finance data, grown over decades. We report on experiences from a real-world project: the recent migration of a customer loyalty system from a COBOL-operated mainframe to a modern service-oriented architecture. In this context, we present our easy-to-adopt solution for running most replication steps in a high-performance manner: the QuickApply HPC-software which helps minimizing the replication time, and, thereby, the overall downtime of the migration. Business processes can be kept up and running most of the time, while pre-extracted data already pass a variety of platforms and representations toward the target system. We combine the advantages of traditional migration approaches: transformations, which require the interruption of business processes are performed with static data only, they can be made undone in case of a failure and terminate quickly, due to the use of parallel processing.}, language = {en} } @article{BaumgartenDuennweberKirsch, author = {Baumgarten, Bodo and D{\"u}nnweber, Jan and Kirsch, C.}, title = {Report Big Data - Strukturierung von Tourismusdaten mit Hadoop}, series = {iX - Magazin f{\"u}r professionelle Informationstechnik}, journal = {iX - Magazin f{\"u}r professionelle Informationstechnik}, number = {06}, publisher = {heise}, address = {Hannover}, issn = {0935-9680}, pages = {97 -- 101}, abstract = {Ein weitverbreitetes, unstrukturiertes Datenformat stellt Reiseveranstalter inzwischen vor technische und logistische Probleme. Abhilfe k{\"o}nnte ein neues Format in Zusammenarbeit mit Cloud-Techniken schaffen.}, language = {de} } @incollection{DuennweberLuedekingGorlatch, author = {D{\"u}nnweber, Jan and L{\"u}deking, Philipp and Gorlatch, Sergei}, title = {A Higher-Order Component for Efficient Genome Processing on the Grid}, series = {Making Grids Work}, booktitle = {Making Grids Work}, editor = {Danelutto, Marco and Fragopoulou, Paraskevi and Getov, Vladimir}, publisher = {Springer}, address = {Boston, MA}, isbn = {978-0-387-78447-2}, doi = {10.1007/978-0-387-78448-9_28}, pages = {351 -- 362}, abstract = {Computational grids combine computers in the Internet for distributed data processing and are an attractive platform for the data-intensive applications of bioinformatics. We present an extensible genome processing software for the grid and evaluate its performance. Our software was able to discover previously unknown circular permutations (CP) in the ProDom database containing more than 70MB of protein data. A specific feature of our software is its design as a component: the Alignment HOC, a Higher-Order Component that makes use of the latest Globus toolkit as grid middleware. Besides genome data, the Alignment HOC accepts plugin code for processing this data as its input, and contains all the required configuration to run the component on top of Globus, thus, freeing the non-grid-expert user from dealing with grid middleware. Instead of writing data distribution procedures and configuring the middleware appropriately for every new algorithm, Alignment HOC users reuse the existing component and only write application-specific plugins. To maintain plugins persistently in a reusable manner, we built a web-accessible plugin database with a comfortable administration GUI. The flexible component-based implementation makes it easy to study CPs in other databases (e.g. UniProt/Swiss-Prot) or to use an alignment algorithm different than the standard Needleman-Wunsch. For the efficient distribution of workload, we developed a library of group communication operations for HOCs.}, language = {en} } @incollection{DuennweberTomasoniGorlatchetal., author = {D{\"u}nnweber, Jan and Tomasoni, Johannes and Gorlatch, Sergei and Claßen, Michael and Claßen, Philipp and Lengauer, Christian}, title = {A Grid Component with Embedded Loop Parallelization}, series = {Grid Computing}, booktitle = {Grid Computing}, editor = {Gorlatch, Sergei and Fragopoulou, Paraskevi and Priol, Thierry}, publisher = {Springer}, address = {Berlin}, isbn = {978-0-387-09456-4}, doi = {10.1007/978-0-387-09457-1_22}, pages = {261 -- 273}, abstract = {This work integrates two distinct research areas of parallel and distributed computing, (1) automatic loop parallelization, and (2) component-based Grid programming. The latter includes technologies developed within CoreGRID for simplifying Grid programming: the Grid ComponentModel (GCM) and Higher- Order Components (HOCs). Components support developing applications on the Grid without taking all the technical details of the particular platform type into account (network communication, heterogeneity, etc.). The GCMenables a hierarchical composition of programpieces and HOCs enable the reuse of component code in the development of new applications by specifying application-specific operations in a program via code parameters. When a programmer is provided, e. g., with a compute farm HOC, only the independent worker tasks must be described. But, once an application exhibits data or control dependences, the trivial farm is no longer sufficient. Here, the power of loop parallelization tools, like LooPo, comes into play: by embedding LooPo into a HOC, we show that these two technologies in combination facilitate the automatic transformation of a sequential loop nest with complex dependences (supplied by the user as a HOC parameter) into an ordered task graph, which can be processed on the Grid in parallel. This technique can significantly simplify GCM-based systems which combine multiple HOCs and other components. We use an equation system solver based on the successive overrelaxation method (SOR) as our motivating application example and for performance experiments.}, language = {en} } @inproceedings{DumitrescuEpemaDuennweber, author = {Dumitrescu, C{\^a}t{\^a}lin L. and Epema, Dick H. J. and D{\"u}nnweber, Jan}, title = {User-Transparent Scheduling for Software Components on the Grid}, series = {Achievements in European Research on Grid Systems}, booktitle = {Achievements in European Research on Grid Systems}, editor = {Gorlatch, Sergei and Bubak, Marian and Priol, Thierry}, publisher = {Springer}, address = {Boston, MA}, isbn = {978-0-387-72811-7}, doi = {10.1007/978-0-387-72812-4_4}, pages = {41 -- 53}, abstract = {Grid applications are increasingly being developed as workflows using well-structured, reusable components. We argue that components with well-defined semantics facilitate an efficient scheduling on the Grid. We have previously developed a user-transparent scheduling approach for Higher-Order Components (HOCs) - parallel implementations of typical programming patterns, accessible and customizable via Web services. Our approach combines three scheduling techniques: using cost functions for reducing communication overhead, reusability of schedules for similar workflows, and the aggregated submission of jobs. We analyze the user-transparent scheduling from four perspectives, namely: the easiness of integration within already existing Grid scheduling systems, the gains for individual users, the resource provider advantages, and the robustness with respect to execution failures. We perform our evaluation using the KOALA Grid scheduler extended to support our user-transparent scheduling, which we run on the DAS-2 system combining over 200 nodes at five sites in the Netherlands. The experimental results show an increase in throughput by more than 100\%, a descreasing of the response time by 50\%, and a failure reduction by 45\% for the considered scenarios}, language = {en} }