Subject: Re: Request to review a paper C577: A comparison of concurrent programming and cooperative multithreading From: Alan Stewart Date: Fri, 30 Nov 2001 12:38:20 +0000 To: gcf@indiana.edu > I thought you might be able to provide me a referee report by December 15 > 2001 on the paper > C577: A comparison of concurrent programming and cooperative multithreading > http://aspen.ucs.indiana.edu/CCPEwebresource/c577olsson/c577submit.pdf > > Authors: Aaron W. Keen, Takashi Ishihara, Justin T. Maris, Tiejun Li, > Eugene F. Fodor, and Ronald A. Olsson > Department of Computer Science, University of California, Davis, CA 95616 > USA > REFEREE'S REPORT Concurrency and Computation:Practice and Experience ********** A: General Information Please return to: Geoffrey C. Fox Electronically Preferred gcf@indiana.edu Concurrency and Computation: Practice and Experience Computer Science Department 228 Lindley Hall Bloomington Indiana 47405 Office Phone 8128567977(Lab), 8128553788(CS) but best is cell phone 3152546387 FAX 8128567972 Please fill in Summary Conclusions (Sec. C) and details as appropriate in Secs. D, E and F. B: Refereeing Philosophy We encourage a broad range of readers and contributors. Please judge papers on their technical merit and separate comments on this from those on style and approach. Keep in mind the strong practical orientation that we are trying to give the journal. Note that the forms attached provide separate paper for comments that you wish only the editor to see and those that both the editor and author receive. Your identity will of course not be revealed to the author. C: Paper and Referee Metadata Paper Number Cnnn: C577 Date: December 15 2001 Paper Title: A comparison of concurrent programming and cooperative multithreading Author(s): Aaron W. Keen, Takashi Ishihara, Justin T. Maris, Tiejun Li, Eugene F. Fodor, and Ronald A. Olsson Referee: Alan Stewart Address: The Queen's University of Belfast, Belfast Northern Ireland BT7 1NN Referee Recommendations. marginal accept provided changes suggested are made D: Referee Comments (For Editor Only) E: Referee Comments (For Author and Editor) A comparison of two models of quasi parallel computation, concurrent programming and concurrent multi-tasking is made on the basis of various timing experients. The experiments compare the performances of several implementations of both models for four example problems: producer-consumer, reader-writer, dining philosophers and jacobi iteration. It is assumed that the number of processes greatly exceeds the number of processors (in the paper the maximum number of processors used for experiments is two); thus, the comparison seeks to analyse the efficiency of scheduling processes to processors in both computational models. The models are realised in two implementation languages, namely, SR and Java. The results are not conclusive but indicate that concurrent multi-tasking is generally the more efficient model (albeit only marginally better for large work loads). The results are not surprising; one would expect a model in which process activity can be controlled explicitly (by commands such as yield) to produce more efficient results - given good implementations - than a model in which process control is managed behind the scenes by an operating system. The conclusions are weak - "cooperative multithreading models deserve further exploration". I am not convinced that a reader would be satisfied with this conclusion after working through a 26 page paper. The subject matter of the paper is ideally suited to Concurrency and Computation:Practice and Experience. The work is an extension of an earlier EURO-PAR paper. The current paper contains the same four examples and considerable portions of text have been reproduced (are there copyright implications?). However, the results have been updated (more efficient implementations), the section comparing the implementations of the two models in Java is entirely new and there are some new experiments which analyse, for example, the effect of changing the granularity of the time slice are given. The conclusion of the current paper adds little to the EuroPar conclusion. The strength of the paper is the detail with which: (i) each timing experiment is described; and (ii) each result is analysed. There are often practical details which might be of interest to a general audience - for example, the authors have described the (unwanted) effects that a Java garbage collection thread can have on timing experiments. My reservation about the paper is that the timing results are often what one would expect. Would it be possible to design new experiments which would shed further light on the sequence of process activiation (i.e. give a trace of process activity in an execution). Or perhaps report on experiments which analyse if processes carry out the same amount of work in each time slice? Perhaps it would then be possible to make further remarks on fairness of process activation. I cannot make a strong case for accepting the paper as it stands: 1. The conclusion section is little more than a summary . The authors should try to say in what circumstances one model is to be preferred to the other. 2. I am unconvinced that timing experiments alone allow one to conclude which model is the better. It may be possible to improve the interest level of the paper by conducting a small number of further experiments which analyse both fairness of activation and the amount of work done by a process in a given time slice. 3. The presentation of the paper should be improved (see below). F: Presentation Changes 1. There are too many tables in the paper (26) - the authors should try to compress much of this data into graphs (for example, some of the results for the four problems could be compressed into a single graph - as in Figure 2 of the EuroPar paper). 2. Often, experimental information is repeated - the authors should try to avoid saying the same thing several times. 3. The descriptions of Green and native versions of Java are not clear. --