Review of Lobosco, Amorim and Loques "Java for High-Performance Computing" Overall This paper presents a survey and classification of past and current work on adapting Java to the needs of high performance computing users. Fourteen projects are surveyed and a simple to understand classification scheme is proposed based on language changes, implementation method and inter- process communication. Groups of projects are described under the scheme and then a comparison is made. A comprehensive table is presented together with a final summary and conclusions. In these last sections, overriding advantages or disadvantages of various approaches are gleaned. The contribution of the paper is threefold: the detailed descriptions of the projects, all gathered in one place; the classification scheme; and the insight into what works and what doesn't. I enjoyed reading the paper. It was well-written and clear (although I picked up various English mistakes, mentioned below). I assessed its scientific merit and accuracy by looking at the choice of criteria and how they are applied. For example, there is new insight into choices between approaches, as evidenced on page 53 para 2, where the relative advantages of DSM and message passing are summarised. The classification is in line with similar surveys done at the start of other papers, though none is as comprehensive as this one. The publication of such a survey is timely, and I would recommend that if the problems identified below can be addressed in a short time, then the paper should be published. If the changes take too long, then the material may have to be substantially updated to bring on board new projects, and changes to the existing set. Overall problems The problem with the paper is that it is a survey based on the literature, rather than on any first hand knowledge of the systems discussed. The authors have relied on, in most cases, just one paper from each project, and do not seem to have made any effort to contact the designers and get further information. This problem is seen primarily in their criticism of the lack of performance figures for many of the projects. Since the papers referred to are mostly conference proceedings from 1997 and 1998 which would present early results, it could well be that performance figures do now exist. This point should be verified by a further search and by personal contact with the system designers for a paper to be published in 2001. For example, it is not acceptable to say "a performance analysis is not available perhaps because it has not been implemented yet" (page 19 line 13). A survey paper should be more definitive. In the conclusions (56-57) it is stated that projects should make use of a common benchmark suite. It would be embarrassing if in fact some of the projects had already done so. Furthermore, not all of the projects are ongoing. Some were reported in 1997 and have not been heard of again (e.g. Java/DSM). Others are moving on, for example there are new papers for Jackal on their web site. Obviously a survey has to be a snapshot at a particular point in time, but some attempt should be made to indicate which projects are proving successful in terms of continuation and take-up, and which have died, although they are included because they had good ideas. I do not know of any projects that have been missed out. Specific recommendations title: The paper does not present new work as such, and tehre fore the words "a survey" should be added to the beginning or end of it. p4-15 This section on the Java language should mostly be omitted. There have been many Java papers in CPE over the past years and Java is now well understood by its readership. It can be replaced by a much shorter section highlighting the particular problems in Java which are addressed by the systems which follow. Specifically, I would suggest: delete from para 2 on page 4 up to last 2 lines on page 10. Retain this paragraph on the memory model. delete from para 2 on page 11 up to page 13. Retain first para on page 14. delete from para 2 on page 14 up to end of section (top of page 15) p 20: Figure 3 and other such: Are these the authors' own interpretations of the systems being described, or direct or adapted figures from the papers surveyed? If so, the Figures should be attributed as (adapted from [x]). p20 lines -5,-4: This sentence does not make sense p26 Charlotte needs a better introduction. What were its design objectives? What exactly is it? p28 Aleph - same comment as for Charlotte p33 last para. Is [5] the only reference for mpiJava and were the results discussed here covered in that particular reference? p33 line 9 Java arrays have a length property, not method. p35 third para. Was this performance comparison carried out in the extant reference [21] or should there be another paper mentioned here? p35 line -2 Insert a sub heading here "other" p49 line 1 should be Virtual Interface Architecture p58 The table should be reorganised so that the projects appear in the order they were introduced originally so that all the DSM projects are first. Any other alternative arrangement would also be acceptable, but the present list looks distinctly unordered. p60 reference 22: I think there is a more accessible similar paper (check the IBM Systems Journal). Organizational problems The sections are not numbered - I assume that this will be corrected. It will certainly add to readability. references: Were all 53 references referred to in the paper? Some of the references are out of alphabetical order. Grammar and language errors p2 line 8 by the well-known slogan line 9 to reaching line 10 replaced denominated by called the line 11 replace denominated by called (The are many occurrences of denominated. This is not a word in regular English usage, and it should be replaced by called.) page 2 line 9 why should we use line 13 intended for line -1 will also be page 16 line 5 even if only a few lines 8 and 9 reword so there are not two "related to the issues" line 15 replace the first by garbage collection page 17 line 2 replace these issues by them. line -6 The word works is used for the systems discussed. Works is an old-fashioned word used more for works of art or literature. Rather use "projects" throughout. page 18 line 8 The reference to MultiJav is on the line above. Rather repeat it. page 19 line 2 replace attain by conform line -6 cJVM used the term cluster, so replace collection by cluster here. page 20 line 1 What is its? line 4 a standard proxy line 5 a read-only proxy line 7 a proxy page 21 line 9 warehouse page 22 line 10 to becomes on line 10 a thread's line 12 a thread's page 24 line 10 through special run time support line - 5 such a protocol page 25 line -8 remove due to page 26 line 11 usin a Java Library page 35 line -2 Replace a lot of by Several line -2 placed in the [The rest of the paper was not checked for grammar]