add threae sections as summary of CHANGES.
[charm.git] / CHANGES
1 What's New Since Charm/Converse 5.0
2 ===================================
4 --------------------------------------------------------------------------------
5 New Supported Platforms:
6 --------------------------------------------------------------------------------
8 1. Win9x/2000/NT:  with Visual C++ or Cygwin gcc/g++, you can compile and run 
9    Charm++ programs on all Win32 platforms.
11 2. Scyld Beowulf:  Charm++ has been ported to the Linux-based Scyld Beowulf 
12    operating system. For more information on Scyld, see <>
14 3. MPI with VMI:   Charm++ has been ported to NCSA's Virtual Machine Interface,
15    which is an efficient messaging library for heterogeneous cluster 
16    communication.
19 --------------------------------------------------------------------------------
20 Summary of New Features:
21 --------------------------------------------------------------------------------
22 1. Dynamic Load balancing:
23    Chare migration is supported in the new release. Migration-based dynamic 
24    load balancing framework with various load balancing strategies library has 
25    been added.
27 2. Chare Array
28    Charm++ array is supported. You can now create an array of Chare objects
29    and use array index to refer the Charm++ array elements. A reduction
30    library on top of Chare array has been implemented and included.
32 3. Projections
33    Projections, a Java application for Charm++ program performance analysis and 
34    visualization, has been included and distributed in the new release. Two
35    trace modes are available: trace-projections and trace-summary. Trace-summary
36    is a light-weight trace library compared to trace-projections.
38 4. AMPI
39    AMPI is a load-balancing based library for porting legacy MPI applications 
40    to Charm++. With few changes in the original MPI code to AMPI, the new
41    legacy MPI application on Charm++ will gain from Charm++'s adptive 
42    load balancing ability.
44 5. Easy running
45    Charm++ is making running Charm++ program easier in this new release. 
46    "Charmrun" now available on all platforms with uniform command line syntax.
47    You can forget the difference between net-* versions and MPI versions,
48    and run charm++ application with this same charmrun command syntax. 
49    ++local option is added in charmrun for net-* version, it provides
50    simple local use of Charm and no longer require the ability to 
51    "rsh localhost" or a nodelist file in order to run charm only on the local
52    machine. This is especially attractive when you run Charm++ on Windows.
54 6. New libraries:
55    Many new libraries have been added in this release. They include:
56    1) master-slave library: for writing manager-worker paradigm programs.
57    2) receiver library: provide asynchronous communication mode for chare array.
58    3) f90charm:  provides Fortran90 bindings for Charm++ Array.
59    4) BlueGene:  a Charm++/Converse emulator for IBM BlueGene.
61 --------------------------------------------------------------------------------
62 Summary of Changes:
63 --------------------------------------------------------------------------------
64 1. message declaration syntax in .ci file:
65    The message declaration syntax for packed/varsize messages has been changed.
66    The packed/varsize keywords are eliminated, and you can specify the actual
67    actual varsize arrays in the interface file and have the translator generate
68    alloc, pack and unpack.
71 Here is the detailed list of Changes:
73 --------------------------------------------------------------------------------
74 Major Features:
75 --------------------------------------------------------------------------------
77 10/06/1999      rbrunner        Added migration-based dynamic load balancing
78                                 framework.
79 11/15/1999      olawlor         Added reduction support foe Charm++ arrays
80 02/06/2000      milind          Added AMPI, an implementation of MPI with
81                                 dynamic load balancing
82 02/18/2000      paranjpy        New platforms supported: net-win32, and                                         net-win32-smp
83 04/04/2000      olawlor         Added arbitrarily indexed Charm++ arrays.
84                                 Also, added translator support for new arrays.
85 04/15/2000      olawlor         Added "puppers" for packing and unpacking 
86                                 objects.
87 06/14/2000      milind          Added the threaded FEM framework.
89 --------------------------------------------------------------------------------
90 Minor Features:
91 --------------------------------------------------------------------------------
93 10/09/1999      rbrunner        Added packlib, a library for C and C++ to 
94                                 pack-unpack data to/from Charm++ messages.
95 10/13/1999      gzheng          New LB strategy: RefineLB
96 10/13/1999      paranjpy        New LB Strategy: Heap
97 10/14/1999      milind          New LB Strategy: Metis
98 10/19/1999      olawlor         New test program for testing LB strategies.
99 10/21/1999      gzheng          New trace mode: trace-summary
100 10/28/1999      milind          New supported platform: net-sol-x86
101 10/29/1999      milind          Added runtime checks for ChareID assignment.
102 11/10/1999      rbrunner        Added Neighborhood base strategy for LB 
103                                 framework.
104 11/15/1999      olawlor         conv-host now reads in a startup file 
105                                 ~/.conv-hostrc
106 11/15/1999      olawlor         New test program for testing array reductions.
107 11/16/1999      rbrunner        Added processor-speed checking functions to
108                                 LB framework
109 11/19/1999      milind          Mapped SIGUSR to a Ccd condtion handler
110 11/22/1999      rbrunner        New LB strategy: WSLB
111 11/29/1999      ruiliu          Modified Metis LB strategy to deal with 
112                                 different processor speeds
113 12/16/1999      rbrunner        New LB strategy: GreedyRef
114 12/16/1999      rbrunner        New LB strategy: RandRef
115 12/21/1999      skumar2         New LB strategy: CommLB
116 01/03/2000      rbrunner        New LB strategy: RecBisectBfLB
117 01/08/2000      skumar2         New LB strategy: Comm1LB, with varying processor
118                                 speeds
119 01/18/2000      milind          Modified SM library syntax, and added a test
120                                 program for SM.
121 01/19/2000      gzheng          Added irecv, a library to simplify conversion
122                                 of message-passing programs to Charm++
123 02/20/2000      olawlor         Added preliminary broadcast support to Charm++
124                                 arrays.
125 02/23/2000      paranjpy        Added converse-level quiescence detection
126 03/02/2000      milind          Added ++server-port option to pre-specify
127                                 CCS port.
128 03/10/2000      wilmarth        Random seed-based load balancer now uses
129                                 bit-vector for active PEs.
130 03/21/2000      gzheng          Added support for marking user-defined events 
131                                 in trace-summary.
132 03/28/2000      wilmarth        Added CMK_TRUECRASH. Very helpful for
133                                 post-mortem debugging of Charm++ programs on
134                                 net-* versions.
135 03/31/2000      jdesouza        Added Fortran90 support to the Charm++ 
136                                 interface translator.
137 03/09/2000      milind          Added support for -LANG and -rpath options 
138                                 in charmc for Origin2000.
139 04/28/2000      milind          Added prioritized converse threads.
140 05/01/2000      milind          Added test programs for TeMPO, AMPI and irecv.
141 05/04/2000      milind          New supported platform: mpi-sp.
142 05/04/2000      gzheng          Added irecv pingpong program.
143 05/17/2000      olawlor         Each chare, group and array element now has to
144                                 have migration constructor.
145 05/24/2000      milind          Added Jacobi3D programs for irecv and AMPI both.
146 05/24/2000      milind          Made migratable an optional attribute of 
147                                 chares, groups, and nodegroups.  
148                                 Arrays are by default migratable.
149 05/29/2000      paranjpy        Added pup methods to arrays, reductions etc 
150                                 internal objects.
151 06/13/2000      milind          Made CtvInitialize idempotent.  That is, it 
152                                 can be called by any number of threads now, 
153                                 only the first one will actually do 
154                                 CtvInitialize.
155 06/20/2000      milind          Added a simple test program for the FEM 
156                                 framework.
157 07/06/2000      milind          Imported Metis 4.0 sources in the CVS tree. 
158                                 Also added code to make metis libraries and 
159                                 executables to Makefile.
160 07/07/2000      milind          Added more meaningfull error messages using 
161                                 perror in addition to a cryptic error codes in
162                                 net-* versions.
163 07/10/2000      milind          fem and femf are now recognized as "languages" 
164                                 by charmc.
165 07/10/2000      saboo           Added the derived datatypes library.
166 07/13/2000      milind          Added +idle_timeout functionality. It takes a 
167                                 commandline parameter denoting milliseconds of 
168                                 maximum consecutive idle time allowed per 
169                                 processor.
170 07/14/2000      milind          Added group multicast. Added 
171                                 CkSendMsgBranchMulti, CldEnqueueMulti, and 
172                                 translator changes to support it.
173 07/14/2000      milind          SUPER_INSTALL now takes "-*" arguments prior 
174                                 to the target, that will be passed to make as 
175                                 "makeflags". This makes it easy to suppress 
176                                 make's output of commands etc (with the -s 
177                                 flag). As a result of this, several Makefiles 
178                                 have been massaged.
179 07/18/2000      milind          Added support for using "dbx" on suns as 
180                                 debugger.
181 07/19/2000      milind          Added ability to tracemode projections which 
182                                 produces binary trace files. Use flag 
183                                 +binary-trace on the command line.
184 07/26/2000      milind          Separated AMPI from TeMPO.
185 07/28/2000      milind          Added test programs to test reduce, alltoall 
186                                 and allreduce functionality of AMPI.
187 08/02/2000      milind          Added an option to let the user specify which 
188                                 "xterm" to use.  For example, on some systems 
189                                 (CDE), only dtterm is installed.  So, by 
190                                 putting ++xterm dtterm on the conv-host 
191                                 commandline, one can use dtterm when ++in-xterm
192                                 option is specified on conv-host commandline.
193 08/14/2000      milind          FEM Framework: Added capabilities to handle 
194                                 esoteric meshes to standalone offline programs.
195                                 Makefile now produces gmap and fgmap programs, 
196                                 which are used for this purpose.  They convert 
197                                 the mesh to a graph before partitioning it 
198                                 using Metis.
199 08/24/2000      milind          Added the 2D crack propagation program as a 
200                                 test program for FEM framework.
201 08/25/2000      milind          Initial implementation of isomalloc-based 
202                                 threads.  This implementation uses a fixed 
203                                 stack size for all threads (can be set at 
204                                 runtime.)
205 08/26/2000      milind          Added a macro CtvAccessOther that lets you 
206                                 get/set a Ctv variable of any thread.  It 
207                                 should be invoked as CtvAccessOther(thread,
208                                 varname); Added CthGetData function to each of 
209                                 the threads implementation.  This function is 
210                                 used in the CtvAccessOther macro.
211 08/27/2000      milind          FEM Framework: Separated mesh to graph 
212                                 conversion capability into a separate program.
213                                 This way, the generated graph can be partitioned
214                                 repeatedly.
215 09/04/2000      milind          Added the class static readonly variables to 
216                                 ci file syntax.
217 09/05/2000      milind          FEM Framework: A very fast O(n) algorithm for 
218                                 mesh2graph , uses more memory, but the tradeoff
219                                 was worth it. Coded by Karthik Mahesh, minor 
220                                 optimizations by Milind.
221 09/05/2000      milind          Added a barebones charm kernel scheduling 
222                                 overhead measurement program.
223 09/15/2000      milind          Added pup support for AMPI and FEM framework.
224 09/20/2000      olawlor         Added capability to have an array of base type 
225                                 where individual element could be of derived 
226                                 types.
227 10/03/2000      gzheng          New supported platform: net-linux-axp
228 10/05/2000      skumar2         Added program littleMD to the test suite.
229 10/07/2000      skumar2         New job scheduler (Faucets projects).
230 10/15/2000      milind          Improved support for Fortran90 in charmc.
231 11/04/2000      jdesouza        Made the Faucets scheduler multi-threaded.
232 11/05/2000      olawlor         FEM Framework: supports multiple element types,
233                                 mesh re-assembly, etc.
234 11/15/2000      gzheng          New platform support: net-cygwin
235 11/18/2000      gzheng          conv-host no longer needs /bin/csh to start 
236                                 remote program.  set 
237                                 CMK_CONV_HOST_CSH_UNAVAILABLE to 1 to use 
238                                 /bin/sh instead.
239 11/25/2000      milind          Finished experimental implementation of 
240                                 converse-threads based on co-operative pthreads.
241 11/25/2000      milind          Added a benchmark suite of all pingpongs in
242                                 Charm++.
243 11/28/2000      milind          Removed deletion of _idx at the end of every 
244                                 send or doneInserting call.  Instead now it is 
245                                 in the destructor of the proxy. This allows us 
246                                 to cache proxies, when proxy creation becomes 
247                                 a bottleneck.
248 11/28/2000      olawlor         Added "seek blocks" to puppers.  This should 
249                                 allow out-of-order pup'ing without the ugliness
250                                 of getBuf; and in a way that works with all 
251                                 PUP::ers.
252 11/29/2000      olawlor         Simplified and regularized command-line-argument
253                                 handling.
254 11/29/2000      milind          AMPI: Added multiple-communicators capability.
255 12/05/2000      gzheng          Now /bin/sh is default shell to fork node 
256                                 program on remote machines.
257 12/13/2000      olawlor         Added charmrun wrapper for poe on mpi-sp.
258 12/14/2000      milind          Added bluegene emulator sources and test 
259                                 programs.  Added "bluegene" as a language known
260                                 to charmc.  Makefile now has a target called 
261                                 bluegene.  Added preliminary bluegene 
262                                 documentation.  (copied from Arun's webpage.)
263 12/15/2000      gzheng          f90charm addition to Makefile and charmc. Also,
264                                 added fixed size arrays support to f90charm. A 
265                                 test program f90charm/hello is checked in.
266 12/17/2000      milind          Added rtest test program. Contributed by jim to
267                                 test Converse message transmission.
268 12/20/2000      olawlor         Added charmconfig script. Enables automatic 
269                                 determination of C++ compiler properties, 
270                                 replacing the verbose and error-prone 
271                                 conv-mach.h entries for CMK_BOOL, 
272                                 CMK_STL_USE_DOT_H, CMK_CPP_CAST_OK, ...
273 12/20/2000      olawlor         Charm++ Arrays optimizations: Key and object 
274                                 now variable-length fields, instead of pointers.
275                                 This extra flexibility lets us save many 
276                                 dynamic allocations in the array framework.
277 12/20/2000      olawlor         Added PUP::able support-- dynamic type 
278                                 identification, allocation, and deletion.  
279                                 Allows you to write:   p(objPtr); and 
280                                 objPointer will be properly identified, 
281                                 allocated, packed, and deallocated (depending 
282                                 on the PUP::er).  Requires you to register any 
283                                 such classes with DECLARE_PUPable and 
284                                 DEFINE_PUPable.
285 12/20/2000      olawlor         Arrays optimizations: Made CkArrayIndex 
286                                 fixed-size.  This significantly improves 
287                                 messaging speed (7 us instead of 10 us 
288                                 roundtrip).  Move spring cleaning check into a 
289                                 CcdCallFnAfter, which gains more speed (down to
290                                 4 us roundtrip).
291 12/20/2000      olawlor         More optimizations: Minor speed tweaks-- 
292                                 conv-ccs.c uses hashtable for handler lookup; 
293                                 conv-conds skips timer test until needed; 
294                                 convcore.c scheduler loop optmizations (no 
295                                 superfluous EndIdle calls); threads.c 
296                                 CMK_OPTIMIZE-> no mprotect.
297 12/20/2000      olawlor         More Optimizations: Minor speed tweaks-- ck.C 
298                                 groups cldEnqueue skip; init.h defines 
299                                 CkLocalBranch inline; and supporting changes.
300 12/22/2000      gzheng          IA-64 support for QuickThreads.
301 01/02/2001      olawlor         CCS: Minor update-- enabled CcsProbe, cleaned 
302                                 up superflous debug messages in server, added 
303                                 Java interface (originally written for 
304                                 AppSpecter).
305 01/09/2001      gzheng          charmconfig converted to autoconf style, need 
306                                 to change and,
307                                 and run autoconf to get configure and copy to 
308                                 charmconfig.  added fortran subroutine name 
309                                 test and get libpthread.a
310 01/10/2001      milind          Added telnet method of getting libpthread.a 
311                                 from charm webserver.
312 01/11/2001      olawlor         Moved projections files here from 
313                                 CVSROOT/projections-java.  Added fast Java 
314                                 versions of the .log file input routines in 
315                                 LogReader, LogLoader, LogAnalyzer, and 
316                                 UsageCalc.  Added "" user interface 
317                                 utility file, allowing times to be input in 
318                                 seconds, milliseconds, or microseconds, 
319                                 instead of just microseconds.
320 01/15/2001      gzheng          add +trace-root to specify the directory to 
321                                 put log files in. this is need in Scyld cluster
322                                 where there is no NFS mounting and no i/o 
323                                 access to home directory sharing on nodes.
324 01/15/2001      milind          Made AMPI into a f90 module instead of 
325                                 'ampif.h' inclusion.  AMPI f90 bindings are 
326                                 now more inclusive.  Fixed argc,argv handling 
327                                 bugs in ArgsInfo message.  Fixed a bug in pup 
328                                 that caused thread not to be sized, but was 
329                                 packed nevertheless. Moved irecv to waitall 
330                                 instead of at in ampi_start.  Made 
331                                 AMPI_COMM_WORLD to be 0, because it clashed 
332                                 with wildcard(-1).  AMPI_COMM_UNIVERSE is now 
333                                 handled properly in the AMPI module.  
334                                 C/C++ data members are NOT visible to 
335                                 Fortran 90.
336 01/18/2001      gzheng          New supported platform: net-linux-scyld
337 01/20/2001      olawlor         Moved array index field from CMessage_* to the 
338                                 Ck envelope itself.  This is the right thing 
339                                 to do, because any message may be sent to/from 
340                                 an array element.  To reduce the wasted space 
341                                 in a message, a union is used to overlay the 
342                                 fields for the various possible message types.
343 01/29/2001      olawlor         Freed charmrun on net-* version from using
344                                 remote shell to fork off processes. One can now
345                                 use a daemon provided in the distribution.
346 02/07/2001      olawlor         Added debugging support to puppers.
347 02/13/2000      gzheng          Added ++local option to charmrun to start node 
348                                 program locally without any daemon; fix the 
349                                 hang program if you type wrong pgm name in 
350                                 scyld version, and redirect all output to 
351                                 /dev/null, otherwise all node program can send 
352                                 its output to console in scyld. Also implemented                                ++local in net-win32 version.
353 02/26/2000      milind          Changed the varsize syntax. Now one can specify
354                                 actual varsize arrays in the interface file
355                                 and have the translator generate alloc, pack 
356                                 and unpack.
358 --------------------------------------------------------------------------------
359 Bug Fixes:
360 --------------------------------------------------------------------------------
362 10/29/1999      milind          Replaced jmemcpy by memcpy in net versions, as
363                                 it was causing a bit to flip (bug reported
364                                 by jim.)
365 10/29/1999      milind          Fixed multiline macros in all header files.
366 02/05/2000      milind          Fixed linking errors by getting the order of
367                                 libraries right from the charmc command-line.
368 02/18/2000      paranjpy        Fixed Charm++ initialization bug on SMPs.
369 02/21/2000      milind          Fixed a context-switching bug in mipspro version
370                                 of QuickThreads.
371 02/25/2000      milind          Charm++ interface translator was segfaulting
372                                 on interface file errors. Fixed that. Also,
373                                 added linenumbers to error messages.
374 03/02/2000      milind          Made CCS work on SMPs.
375 03/07/2000      milind          Made ConverseInit consistent with the manual on
376                                 Origin2000 version.
377 04/18/2000      milind          Fixed a bug in CkWaitFuture, which was caching 
378                                 a variable locally, while it was changed by 
379                                 another thread.
380 05/04/2000      paranjpy        Fixed argv deletion bug on net-win32-smp.
381 06/08/2000      milind          sp3 version: changed optimization flags, which 
382                                 where power2 processor-specific.
383 06/20/2000      milind          mpi-* versions: Fixed ConverseExit since it was
384                                 not obeying the following statement in the MPI 
385                                 standard: The user must ensure that all pending
386                                 communications involving a process completes 
387                                 before the process calls MPI_FINALIZE.
388 07/05/2000      milind          Fixed a nasty bug in charmc in the -cp option. 
389                                 It used to append the name provided to -o flag 
390                                 to the directory provided to the -cp flag.  
391                                 Thus, -o ../pgm -cp ../bin options meant that 
392                                 the pgm would be copied to ../bin/.., which is 
393                                 not the expected behavior. This fix correctly 
394                                 copies pgm to ../bin.
395 07/07/2000      milind          Removed variable arg_myhome, as it was not 
396                                 being used anywhere, and also, setting it was 
397                                 causing problems of env var HOME was not set.
398 07/27/2000      milind          thishandle for the arrayelement was not being 
399                                 correctly set.  Bug was reported by Neelam.
400 08/26/2000      milind          Origin2000: Changed the page alignment to 
401                                 reflect the mmap alignment.  The mmap man page 
402                                 specifically states that it is not the same as 
403                                 page size.
404 09/02/2000      milind          Fixed a bug in code generated for threaded 
405                                 (void) entry methods of array elements. The 
406                                 dummy message that is passed to that method in 
407                                 a thread has to be deleted before calling the 
408                                 object method, because upon object method's 
409                                 return, the thread might have migrated.
410 09/03/2000      olawlor         Minor fix-fixes: 1.) Change to LBObjid hash 
411                                 function would fail for >4-int object indices.
412                                 Replaced with proper function, which also 
413                                 preserves the 1-int case.  2.) Array element 
414                                 sends must go via the message queue to prevent 
415                                 stack build-up for deep single-processor call 
416                                 chains. These might happen, e.g., in a driver 
417                                 element calling itself for the main time loop.
418                                 Messages are now properly noted as sent, then 
419                                 wait through the queue for delivery.  This 
420                                 entailed minor reorganization of the message 
421                                 delivery subsystem.
422 09/21/2000      olawlor         Tiny SMP thread fix-- registrations of a 
423                                 thread-private variable now reserve space on 
424                                 calls after the first.  This wastes space for 
425                                 multiple CthInitialize's-- it's a quick hack to
426                                 get threads working again on SMP versions.
427 10/16/2000      olawlor         A few CCS fixes:   -Added split-phase reply 
428                                 (delay reply indefinitely)  -Cleaned up error
429                                 handling -Pass user data as "void *" instead of
430                                 "char *"
431 11/03/2000      wilmarth        Removed 0 size array allocation in Charm++ 
432                                 quiescence detection.
433 11/20/2000      gzheng          Rewrote part of Fiber thread, including a bug 
434                                 fix for a the non thread-safe function, and a 
435                                 different fiber free strategy.
436 11/29/2000      gzheng          The LB init procedure tried to allocate 
437                                 65536*160 as initial size, which is 10M memory 
438                                 for communication table, which is too big. 
439                                 Cut it down to roughly 1M, and it can expand 
440                                 in later code.
441 12/05/2000      gzheng          In many cases, conv-host exits without print 
442                                 out the error message from remote shell. try 
443                                 to fix it by calling sync to flush the pipe 
444                                 before exit 1.
445 12/10/2000      milind          net-linux: Made static linking the default 
446                                 option because dynamic linking runtime causes 
447                                 isomalloc threads to crash.
448 12/18/2000      milind          Increased portability of isomalloc threads by 
449                                 removing dependence on alloca.
450 12/28/2000      milind          Fixed ctrl-getone abort bug on SMP.
451 12/28/2000      milind          Made _groupTable a pointer on which a 
452                                 constructor is explicitly called.  Since it 
453                                 was a Cpv variable, its constructor was not 
454                                 called by default in case of an SMP version.
455 12/29/2000      olawlor         Prevent infinite copy constructor recursion on 
456                                 Origin2000.
457 01/10/2001      olawlor         Added "explicit" keyword to remove ambiguity 
458                                 for KCC, which was confused by the private 
459                                 PUP::er(int) "cast" constructor and the operator
460                                 |(PUP::er &p,T &t) into rejecting all operator|
461                                 (int,int) as ambiguous.
462 2001/01/17      gzheng          fix the charmconfig bug on paragon-red: the 
463                                 failure testing of fortran won't stop the 
464                                 compilation.
465 01/20/2001      olawlor         Arrays reduction:  Fixed bug-- reduction may end
466                                 because all contributors migrate away. 
467 01/29/2001      olawlor         Fix heap-corrupting bug-- call ->init() on 
468                                 nodeGroupTable, which sets the "pending" 
469                                 message queue to NULL.  This prevents a nasty 
470                                 delete-unitialized-data bug later on.  Also 
471                                 delayed queue creation until messages actually 
472                                 arrive.
474 --------------------------------------------------------------------------------
475 Documentation Changes:
476 --------------------------------------------------------------------------------
478 01/31/2000      milind          Installation manual: Fixed bugs pointed out by
479                                 quantum TA
480 02/28/2000      wilmarth        Added a new look Charm++ manual.
481 06/20/2000      milind          Added pdflatex support to generate PDF versions
482                                 of manuals from LaTeX sources.
483 12/05/2000      milind          Added Orion's FEM manual. Converted from HTML.
484 12/10/2000      milind          Added pplmanual.sty for all manuals.
485 12/17/2000      milind          Added master-slave library documentation to
486                                 convext manual.
487 12/21/2000      saboo           Added DDT documentation.
488 01/02/2001      olawlor         Updated for new CCS version.
490 --------------------------------------------------------------------------------
491 Other Changes:
492 --------------------------------------------------------------------------------
494 10/24/1999      olawlor         charmc is changed to Bourne shell script 
495                                 instead of csh. All conv-mach.csh are
496                                 replaced by
497 10/25/1999      olawlor         SUPER_INSTALL is converted to use bourne shell.
498 10/28/1999      milind          All Makefiles now take OPTS commandline
499                                 arguments.
500 01/16/2000      olawlor         Simplified Charm++ interface translator.
501 02/23/2000      ruiliu          Changed rand() calls from all over the codes
502                                 to the new Converse random number generator.
503 02/26/2000      milind          Simplified the converse scheduler loop by 
504                                 combining the maxmsgs and poll modes.
505 08/31/2000      milind          Imported system documentation into the CVS tree.
506                                 Also added super_install target for docs with 
507                                 necessary Makefile modifications.
508 09/08/2000      olawlor         Made soft links use relative pathnames instead 
509                                 of absolute.  This lets you move a charm++ 
510                                 installation without having to recompile 
511                                 anything.
512 09/11/2000      olawlor         Grouped commonly needed code in the new util
513                                 directory. Also, added pup_c a C wrapper for
514                                 puppers.
515 09/11/2000      olawlor         Slightly reorganized header structure.  Now no 
516                                 headers should need to be listed twice (once in
517                                 ALLHEADERS, again in CKHEADERS).  Now headers 
518                                 are soft-linked instead of copied.  This makes 
519                                 development much easier.  Added support for the
520                                 new Common/util directory.
521 09/21/2000      olawlor         Major reorganization of net-* codes. Now all 
522                                 the TCP socket routines are in separate files.
523                                 Also combined windoes NT code with unix codes.
524 09/21/2000      olawlor         Major rewrite of CCS-- underlying protocol is 
525                                 now binary (send/recv binary data everywhere); 
526                                 conv-host forwards requests to nodes; and 
527                                 source has been significantly re-arranged.  
528                                 (especially if NODE_0_IS_CONVHOST).
529 11/22/2000      milind          Removed IDL translator from distribution.
530 12/01/2000      olawlor         Renamed conv-host charmrun; added test for 
531                                 script conv-host. Also added charmrun for most 
532                                 other machines.
533 12/17/2000      milind          Moved List related data structures into 
534                                 cklists.h in util. Removed most of the redundant
535                                 list implementations.
536 12/20/2000      gzheng          SUPER_INSTALL: format the output of list of 
537                                 versions and make the help page fit into one 
538                                 page of xterm.
539 12/24/2000      milind          Added test-{charm,converse,ampi,fem} targets to 
540                                 super_install.
541 12/28/2000      milind          net-sol-smp now uses pthreads.
542 01/29/2001      olawlor         Merged windowsNT and unix build procedures by
543                                 basing the Windows build on cygwin. Added 
544                                 scripts to deal with unix and windows 
545                                 differences.