Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Rename the changelog to follow the 'standards' wtr
[simgrid.git] / ChangeLog
index e69de29..1a3a27e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -0,0 +1,175 @@
+2004-07-11 Martin Quinson
+  version 0.0.4
+  - Get it working with any kind of structure (we can compute the padding
+    bytes remotely for all the architectures I have access to)
+  - Implement the structure parsing macro (still not quite robust/complete)
+  - Improvement to the remote testing toysuite
+  
+2004-07-10 Martin Quinson
+ [autoconf mecanism]
+  - get ride of a bunch of deprecated macros
+  - actually run the test for two-compliment, not only compile it :-/
+  - test whether the structures get packed (and bail out if yes. Damn.
+    Alignment is a serious matter)
+  - test whether the structures get compacted (but respecting the alignment
+    constraints of each types)
+  - test whether the array fields of structures can straddle alignment boundaries
+ [base]
+  - Damnit, double are bigger than float (typo in creation of 'double' datadesc)
+    (took me 2 hours to find that bug, looking at the wrong place)
+  - Add gras_datadesc_declare_{union,struct}_close(). They must be used
+    before sending/receiving and are used to compute the offsets of fields
+  - Given that padding size depend even on compiler options, keep track of
+    alignment and aligned_size only for the current architecture. Not a big
+    deal since we send structure fields one after the other (seems
+    reasonable).    
+  - Add the datastructure used for IEEE paper by the PBIO guys to the test
+    program, let it work on linux/gcc/little32. portability todo.
+
+2004-07-08 Martin Quinson
+  - import and improve remote compilation support from FAST
+  - make sure make check works on half a dozen of machines out there
+
+2004-07-07 Martin Quinson
+ Let's say it's version 0.0.3 ;)
+  - Implement conversions (yuhu!)
+  - Let it work on solaris (beside conversion, of course)
+  - Stupid me, using rand() to generate the conversion datatests in not wise.
+
+2004-07-06 Martin Quinson
+  - Let make dist work, since I'm gonna need it to compile on remote hosts
+  - Let Tests/datadesc_usage write the architecture on which the file was
+    generated as first byte.
+  - Add PowerPC (being also IRIX64), SPARC (also power4) and ALPHA
+    architecture descriptions. 
+  - Add datadesc_usage.{i386,ppc,sparc} files being the result of execution
+    on those architectures.
+  - Optimization: send/recv array of scalar in one shoot
+
+2004-07-05 Martin Quinson
+  - YEAH! GRAS/SG and GRAS/RL are both able to run the ping example !
+  
+  - Plug a whole bunch of memleaks
+  - each process now have to call gras_{init,exit}. One day, their log
+    settings will be separated
+  - Continue the code factorisation between SG, RL and common in Transport.
+
+2004-07-04 Martin Quinson
+ [Transport]
+  - Redistribution between SG and RL. 
+    We wanna have to accept in SG, so move accepted related parts of RL in
+    the common part. (more precisely, the dynar of all known sockets is no
+    more a static in transport.c, but part of the process_data)
+ [Core/module.c] 
+ [gras_stub_generator]
+  - Bug fix: Do call gras_process_init from gras_init (wasnt called in RL).
+
+2004-07-03 Martin Quinson
+  - Create a new log channel tbx containing dict, set, log, dynar (to shut
+    them all up in one shot)
+ [DataDesc]
+  - Fix the ugly case of reference to dynamic array.
+  - New (semi-public) function gras_datadesc_size to allow the messaging
+    layer to malloc the needed space for the buffer.
+ [Transport]
+  - gras_socket_close now expect the socket to close (and not its address to
+    put NULL in it after it). This is because the socket passed to handlers
+    is one of their argument (=> not writable).
+ [Messaging]
+  - propagate the interface cleanup from last week in datadesc, ie remove a
+    superfluous level of indirection. User pass adress of variable
+    containing data (both when sending and receiving), and not of a variable
+    being a pointer to the data. Let's say that I like it better ;)
+      The price for that is constructs like "int msg=*(int*)payload" in
+    handlers, but it's a fine price, IMHO.
+ [examples/ping]
+  - Let it work in RL (yuhu)
+
+2004-06-21 Martin Quinson
+ [Transport]
+   - porting SG plugin and SG select to new standards (works almost).
+   - plug memleaks and fix bugs around.
+   
+ [DataDesc] 
+   - cleanup the prototype of data recv and force users to specify when they 
+     want to handle references to objects. Test case working even for cycles.
+   - plug memleaks. Valgrind is perfectly ok with this.
+
+2004-06-12 Martin Quinson
+ [Transport] 
+   - cleanup the separation between plugin and main code in plugin creation 
+
+2004-06-11 Martin Quinson
+ [Transport]
+   - Reput hook for raw sockets, needed for BW experiments
+   - kill a few lines of dead code
+ [Data description] Interface cleanup
+   - gras_datadesc_by_name returns the searched type or NULL.
+     That way, no variable is needed to use a type desc once, which makes
+      the code clearer.
+   - gras_datadesc_declare_[struct|union]_append_name is removed. The last
+      two parameters were strings (field name, type name), leading to
+      common errors.
+ [Dicos] Interface cleanup
+   - gras_dico_retrieve -> gras_dico_get ; gras_dico_insert -> gras_dico_set 
+     This is consistant with the dynar API.
+
+2004-04-21 Martin Quinson
+ [Messaging]
+   - Porting to new standards.
+ [Data description]
+   - interface cleanup. 
+     There is no bag anymore, no need to take extra provision to mask the
+       pointers behind "ID". 
+     Better splitup of functions between files create/exchange/convert.
+       This is still a bit artificial since convert and receive are so
+       interleaved, but anyway.
+ [Virtu(process)]
+   - add a queued message list to procdata (the ones not matching criteria
+     in msg_wait)
+   - factorize some more code between SG and RL wrt procdata
+ [Tests]
+   - use gras_exit in example to track memleaks
+   - get rid of gs_example now that GS is properly integrated into gras
+   - update run_test to integrate the lastest tests (datadesc)
+ [Logging]
+   - rename WARNINGn macros to WARNn since it prooved error-prone
+     
+2004-04-19 Martin Quinson
+ [Data description]
+   - register init/exit functions within gras module mecanism   
+   - send/receive function. 
+   Convertion is not implemented, but short-cutted if not needed.
+   struct/array elements are sent one by one (instead of block-wise), but
+     nobody really cares (yet). Get a prototype before optimizing.
+   - tests (using a file socket) for DD send/receive on:
+     - base types: int, float
+     - array: fixed size, string (ie ref to dynamic string)
+     - structure: homogeneous, heterogeneous
+     - chained list, graph with cycle
+   Believe it or not, valgrind is not too unhappy with the results. The
+    cycle happily segfaults, but the others are ok. And I'm sick of pointers
+    for now.
+ [Transport]
+   [File plugin] 
+     - Bugfix when using a filename explicitely (instead of '-')
+
+2004-04-09 Martin Quinson
+ [Transport plugins]
+   - factorize more code between RL and SG in socket creation
+   - Complete the implementation and tests of:
+     o TCP
+     o file (only in RL, and mainly for debugging)
+     
+     I lost 3 days to design a portable address resolver, and then decided
+       that the prototype mainly have to run on my box.
+     Addressing portability too early may be like optimizing too early :-/
+ [Tests]
+   - use gras_init in the Tests instead of the crappy parse_log_opt 
+     (the latter function is removed)
+ [Conditional execution]
+   - New functions: gras_if_RL/gras_if_SG (basic support for this)
+ [Code reorganisation]
+  - Get rid of libgrasutils.a since it makes more trouble than it solves.
+    Build examples against the RL library, since there is no way to disable
+    its creation for now.