Subject: referee report 428 Resent-Date: Thu, 30 Sep 1999 23:17:05 -0400 Resent-From: Geoffrey Fox Resent-To: p_gcf@npac.syr.edu Date: Mon, 13 Sep 1999 16:35:51 -0400 From: Maurice Herlihy To: Geoffrey Fox referee report Wide-area parallel programming using the remote invocation model This paper describes a Java-based distributed system intended to support highly-parallel computation on a network or cluster. The paper surveys the system, and describes its behavior on a few parallel benchmarks. It is well written, and I have only a few comments. I think the paper would be improved by a more thorough discussion design trade-offs underlying the system's customized RMI system, which is arguably the most novel aspect of the system.. For example, how type-safe is it? The JDK serialization/deserialization does run-time checks to ensure that objects really belong to the correct class. I could not tell from the description what kind of guarantees the Manta/Panda RMI provides. More generally, many people think that that the JDK serialization mechanism suffers from feature bloat, encorporating too much machinery (versioning, externalizable, class information, etc.) and I think the readers of this paper would be very interested in understanding exactly what they would have to give up to achieve the same kind of performance. Can Manta's RMI serialization be used for persistent storage, or is that something sacrified for performance? I think these issues would be of substantial interest to the community, and I would urge the authors to share their experience in greater detail. I was also a little unclear about the thread structure of RMI. When I make an RMI to a remote object, does that create a new thread? Are there deadlock issues here?