A Caltech Library Service

Using all of your CPU's in HIPE

Jacobson, Jeffery Douglas and Fadda, Dario (2012) Using all of your CPU's in HIPE. In: Astronomical Data Analysis Software and Systems XXI: proceedings of a conference held at Marriott Rive Gauche Conference Center, Paris, France, 6-10 November 2011. Astronomical Society of the Pacific Conference Series . No.461. Astronomical Society of the Pacific , San Francisco, CA, pp. 829-832. ISBN 9781583818053.

PDF - Published Version
See Usage Policy.


Use this Persistent URL to link to this item:


Modern computer architectures increasingly feature multi-core CPU's. For example, the MacbookPro features the Intel quad-core i7 processors. Through the use of hyper-threading, where each core can execute two threads simultaneously, the quad-core i7 can support eight simultaneous processing threads. All this on your laptop! This CPU power can now be put into service by scientists to perform data reduction tasks, but only if the software has been designed to take advantage of the multiple processor architectures. Up to now, software written for Herschel data reduction (HIPE), written in Jython and JAVA, is single-threaded and can only utilize a single processor. Users of HIPE do not get any advantage from the additional processors. Why not put all of the CPU resources to work reducing your data? We present a multi-threaded software application that corrects long-term transients in the signal from the PACS unchopped spectroscopy line scan mode. In this poster, we present a multi-threaded software framework to achieve performance improvements from parallel execution. We will show how a task to correct transients in the PACS Spectroscopy Pipeline for the un-chopped line scan mode, has been threaded. This computation-intensive task uses either a one-parameter or a three parameter exponential function, to characterize the transient. The task uses a JAVA implementation of Minpack, translated from the C (Moshier) and IDL (Markwardt) by the authors, to optimize the correction parameters. We also explain how to determine if a task can benefit from threading (Amdahl's Law), and if it is safe to thread. The design and implementation, using the JAVA concurrency package completions service is described. Pitfalls, timing bugs, thread safety, resource control, testing and performance improvements are described and plotted.

Item Type:Book Section
Related URLs:
URLURL TypeDescription
Fadda, Dario0000-0002-3698-7076
Additional Information:© 2012 Astronomical Society of the Pacific. We would like to thank P. Appleton for his help, advice and testing, C. Borys and B. Ali (NHSC) for their support and advocacy of multi-threading.
Series Name:Astronomical Society of the Pacific Conference Series
Issue or Number:461
Record Number:CaltechAUTHORS:20130314-151646091
Persistent URL:
Usage Policy:No commercial reproduction, distribution, display or performance rights in this work are provided.
ID Code:37524
Deposited By: Tony Diaz
Deposited On:22 Jul 2013 22:24
Last Modified:09 Mar 2020 13:18

Repository Staff Only: item control page