Document type

Article

Version

Accepted version

Publication date

All rights reserved

Please use this identifier to cite or link to this item: https://hdl.handle.net/2445/161630

Using Java for distributed computing in the Gaia satellite data processing

Journal Title

Director/Tutor

Journal ISSN

Volume Title

Abstract

In recent years Java has matured to a stable easy-to-use language with theflexibility of an interpreter (for reflection etc.) but the performance and type checking ofa compiled language. When we started using Java for astronomical applications around1999 they were the first of their kind in astronomy. Now a greatdeal of astronomysoftware is written in Java as are many business applications.We discuss the current environment and trends concerning the language and presentan actual example of scientific use of Java for high-performance distributed computing:ESA's mission Gaia. The Gaia scanning satellite will perform a galactic census ofabout 1000 million objects in our galaxy. The Gaia communityhas chosen to write itsprocessing software in Java. We explore the manifold reasons for choosing Java for thislarge science collaboration.Gaia processing is numerically complex but highly distributable, some parts beingembarrassingly parallel. We describe the Gaia processing architecture and its realisationin Java. We delve into the astrometric solution which is the most advanced and mostcomplex part of the processing. The Gaia simulator is also written in Java and is themost mature code in the system. This has been successfully running since about 2005on the supercomputer 'Marenostrum' in Barcelona. We relateexperiences of usingJava on a large shared machine.Finally we discuss Java, including some of its problems, forscientific computing

Citation

Citation

O'MULLANE, William, et al. Using Java for distributed computing in the Gaia satellite data processing. Experimental Astronomy. 2011. Vol. 31, num. 243-258. ISSN 0922-6435. [consulted: 15 of June of 2026]. Available at: https://hdl.handle.net/2445/161630

Export metadata

JSON - METS

Share record