Subject: Review C467 Resent-Date: Wed, 26 Jul 2000 14:57:02 -0400 Resent-From: Geoffrey Fox Resent-To: Geoffrey Fox Date: Wed, 26 Jul 2000 17:45:09 +0200 (MET DST) From: Siegfried Benkner To: fox@csit.fsu.edu CC: zima@cacr.caltech.edu Dear Prof. Fox, attached is the review of paper C467. Best regards, Siegfried Benkner **************************************************************** * Siegfried Benkner * * Assistant Professor * * Institute for Software Science * * .............................................................* * University of Vienna | Tel: (+43) 1 4277 38817 * * Liechtensteinstr. 22 | Fax: (+43) 1 4277 9388 * * A-1092 Vienna, Austria | E-Mail: sigi@par.univie.ac.at * **************************************************************** --------------------------------------------------------------------- Paper and Referee Metadata -------------------------- Paper Number: C467 Date: July 26, 2000 Paper Title: VGDS: A Distributed Data Structure Framework for Scientific Computation Authors: Pangfeng Liu, Jan-Jan Wu Referee: Siegfried Benkner and Hans Zima Address: Institute for Software Science Liechtensteinstr. 22 A-1090 Vienna, Austria Overall Recommendation ---------------------- Major revision necessary. Revised paper must be completely reviewed again. General Comments ---------------- - The contribution of the paper seems to be a description of an object-oriented framework that integrates well-known technology from a number of areas. - The way in which a user actually works with this framework and specifies an application is not completely clear. At which level will an algorithm be specified? Does the user have to fill in low-level details such as the data-to-processor mapping (Fig. 2) explicitly or is this routine automatically generated from other information such as the data distribution? - The rather limited experiments described in the paper do not adequately address the issue of performance. Nor does the rest of the paper deal with this issue in a proper way. Just one isolated example: does the system provide support for an detection of invariant communication schedules in loops, either through compiler or runtime technology or via appropriate attributes? - Related work in languages, compilers, and runtime systems is NOT adequately treated -- in particular, as far as performance issues are concerned. - The English must be improved (this is not a major problem) Specific Comments ----------------- P1: The comment regarding HPF is not adequate. In particular, HPF has *not* been accepted by the US user community, the major reason being performance problems related to HPF-1 and poor quality of commercial compilers. Fortran 95 has structures and pointers and can represent arbitrary data structures; HPF-2 deals with irregular data structures and distributions, and irregular data accesses via pointers or subscripted subscripts. The goal of portability expressed in the last paragraph is difficult to achieve in view of different architecture types (SMP, distributed memory, clusters of SMPs). In fact the paper deals only with distributed memory architectures explicitly. P3: The "novel" algorithmic strategies mentioned in the second paragraph are relevant but not at all new. P4: The derivation of an unstructured mesh class from the Graph class is not as simple as indicated. A number of sophisticated libraries deal with such grids. P5: It is not clear which data distributions are provided by the framework and what kind of automatic support is associated with them. Similarly for communication, it is unclear how logical send- and receive sets are derived within the Mapper class. P6: Similar to above: must the user specify a remapping explicitly (or is it generated automatically based on a set of known parameters)? The description of how communication is handled in the system is unclear. Is the user responsible for handling communication (this seems to be the case from the description in 3.2.3) or are communication schedules derived automatically. The VGDS systems does not seem to support communication schedule reuse. P7: The "data coherence" scheme describes a simple variant of the well-known overlap/shadow concept and seems to be restricted to neighborhood communication. This is not general enough for the kinds of problems discussed in the paper. P8: Figure 5 does not show boundary duplication for a regular array as mentioned in the text. The algorithmic description presented in Figure 6 is very imprecise. Again the important issue of whether a new communication schedule has to be computed for an iteration (e.g. if a remapping occurred or data access patterns changed) is not discussed at all. P17: The experimental results are limited and unconvincing. The authors mention that their implementation of the Barnes-Hut code with VGDS outperforms all previous approaches described in the literature. There is however no comparison to other implementations supporting this claim. P17/19: Related work is not discussed adequately -- concerning language-related work (HPF and C++ oriented), as well as compiler and runtime technology, and work on graph and tree partitioning (e.g. METIS).