Available online at www.sciencedirect.com
Procedia Computer Science 4 (2011) 2047–2048
International Conference on Computational Science, ICCS 2011
Workshop on tools for program development and analysis in computational science Jie Taoa,1,∗, Arndt Bodeb,e , Christof Klauseckerc , Andreas Kn¨upferd , Dieter Kranzlm¨ullerc,e , Jens Volkertf , Roland Wism¨ullerg a Karlsruhe
Institute of Technology, 76131 Karlsruhe, Germany Universit¨at M¨unchen, 85748 Garching near Munich, Germany c Ludwig-Maximilians-Universit¨ at M¨unchen, 80538 Munich, Germany d Technische Universit¨ at Dresden, 01062 Dresden, Germany e Leibniz Supercomputing Centre, 85748 Garching near Munich, Germany f Johannes Kepler University Linz, 4040 Linz, Austria g University of Siegen, 57068 Siegen, Germany
b Technische
Abstract This short paper introduces the workshop on Tools for program development and analysis in computational science, a special section of the conference ICCS 2011. It describes the goal of the workshop, followed by a brief introduction of the accepted papers. The use of supercomputing technology, parallel and distributed processing, and sophisticated algorithms is of major importance for computational scientists. Yet, the scientists’ goal is to solve their challenging scientific problems, not the software engineering tasks associated with it. For that reason, computational science and engineering must be able to rely on dedicated support from program development and analysis tools. The primary intention of this workshop is to bring together developers of tools for scientific computing and their potential users. Tool developers present how their tools support scientists and engineers during program development and analysis. The users report their experiences employing such tools, especially highlighting the benefits and possible improvements. The workshop covers the following areas and related topic: • Parallel and distributed computing • • • •
Program development Performance analysis Debugging tools Program optimization
• Resource management ∗ Email
address:
[email protected] (Jie Tao) author
1 Corresponding
1877–0509 © 2011 Published by Elsevier Ltd. Open access under CC BY-NC-ND license. Selection and/or peer-review under responsibility of Prof. Mitsuhisa Sato and Prof. Satoshi Matsuoka doi:10.1016/j.procs.2011.04.223
2048
Jie Tao et al. / Procedia Computer Science 4 (2011) 2047–2048
In addition, the workshop also invites software tool developers to describe use cases and practical experiences of software tools for real world applications in the areas such as: • Tools for parallel, distributed, and network-based computing • Testing and debugging tools • Performance analysis and tuning tools • Instrumentation and monitoring tools • Data (re-)partitioning and load-balancing tools • Checkpointing and restart tools • Tools for resource management, job queuing, and accounting Furthermore, it covers reports about use cases and success stories using the tools for science and engineering by either the users or by the computer scientists or by collaboration of both. Since its beginning at the first ICCS in 2001, the workshop has encouraged tool developers and users from the scientific and engineering community to exchange their experiences. This year, we gained a large number of submissions, which describe tool frameworks, individual performance tools, application optimization based on tools, runtime systems, and so on. The proceeding contains eight selected papers. Several papers introduce individual tools. This includes a memory access analyzer by the name Gleipnir, ALPS – a tool for analyzing the communication feature of multi-threading executions, and an extension of PAPI for event tracing based on hardware counters. Gleipnir instruments a program code for collecting memory access information. The results of the profiling tool can be delivered to cache simulators, Dinero in this work, that create information about the cache access behavior. ALPS was implemented on top of PIN with the goal of analyzing the sharing patterns between threads. The approach was tested on the Parsec benchmark suite. Sharing is tracked based on a configurable chuck size and thread interactions are recorded in the form of transitions diagrams. The third work implemented an additional feature for the PAPI library. With this feature, users can define their own events that can be a combination of several native counter events. The paper demonstrates sample use of the new feature. One paper introduces the research work in tool integration: combining a library for automatic sparsity detection in matrices of derivates of a function into a source-to-source transformation tool for automatic generation of code for the derivates. The remaining papers describe tool frameworks implemented for different purposes, like efficient use of computing resources, automatically tuning the runtime behavior of applications, simple interface for Cloud users, and running/testing applications.