fast (0.8.7.1) unstable; urgency=low * Don't insist on installing the docs in /usr/share when the user asked for another prefix. Thanks to Bruno for stumbling into this. -- Martin Quinson Wed, 9 Mar 2005 20:20:11 +0100 fast (0.8.7) unstable; urgency=low The "I still maintain FAST and I like it :)" release. * Port to NWS 2.11: - forecaster processes don't exist anymore remove relevant code (we warned for deprecation, but it's not enough anymore) - various symbol renamings, as usual s/FORECASTAPI/NWSAPI/ - various functions deprecated and producing tons of logs, as usual NWSAPI_NwsAttributeValue -> NWSAPI_NwsAttributeValue_r and free res NWSAPI_NwsAttributeName -> NWSAPI_NwsAttributeName_r and free res * Moved back to NWS diagnostic mecanism, which is better maintained. Move the ASSERT macro to fast_internals.h for this to work. * Do only run estimator test when gsl was found. -- Martin Quinson Sat, 5 Mar 2005 22:05:47 +0100 fast (0.8.6) unstable; urgency=low * Do not check for db41. The search is broken, and it's not mandatory. -- Martin Quinson Fri, 4 Feb 2005 13:52:10 +0100 fast (0.8.5) unstable; urgency=low * Do not erase Makefile.in on distclean, they are precious. * Update to automake 1.8 (quote enough all definitions, change bootstrap). * Update fast-config to packages known nowadays. Add a manpage. * add acmacro/fast.m4 to the tarball, and install it. -- Martin Quinson Sat, 12 Jun 2004 00:47:48 -0700 fast (0.8.4) unstable; urgency=low * discover NWS measurement even when collected by a clique (Thanks Holly) -- Martin Quinson Fri, 20 Feb 2004 13:01:22 -0800 fast (0.8.3) unstable; urgency=low * Fix the pathfinder. Thanks to Holly for stepping in that trap. Sorry. - react correctly when no path is found (report it, preventing caller from using a broken cache element and segfault) - copy all the edges provided by plugins, not only the half (preventing pathfinder itself to segfault) -- Martin Quinson Thu, 5 Feb 2004 10:31:36 -0800 fast (0.8.2) unstable; urgency=low * Fix a stupid typo causing segfaults when using LDAP. Thanks to Christophe for detecting the issue (and to valgrind for diagnosing it ;) -- Martin Quinson Wed, 14 Oct 2003 18:16:53 +0200 fast (0.8.1) unstable; urgency=low * Do not try to compile BuffXML since it is not included in the tarballs yet (aka cleanup the mess introduced by Pierre ;). -- Martin Quinson Wed, 8 Oct 2003 18:16:53 +0200 fast (0.8) unstable; urgency=low SHORT CHANGELOG (see below for details): - Tons of code cleanup and reordering. - New: The data description is more in the GridRPC spirit. => !! API BREAKAGE !! (see documentation) - New: Booking: Prediction are corrected until NWS updates. - New: Autofetch: Get the NWS values as soon as possible. - New: Decent documentation, thanks to Pierre Machard. - Rename the fast_comm_time to fast_comm_time_list (API BREAKAGE) - Great portability improvement: Works on Solaris, and to a lesser extend on OpenBSD and Mac OS X - New: fast_avail_cpucount: gives you the number of CPU on a remote host. - Bugfix: Get the period from NWS - The nws_forecaster option to fast_init() is as deprecated as the nws_forecaster program itself. - (almost) real plugin mecanism for avail and need, and for the buffer of the bencher. - Bugfix: Create valid ldif files - New buffer for the bencher based on the Berkley DB4.1 LONG CHANGELOG * Code cleanup. - source tree reorganisation in two subtrees: bencher and libfast - several smaller .h installed under /usr/include/fast/ instead of a monster one. - SLiM is dead ; describe data like GridRPC - slimfast_api.h renamed to fast.h - dummy functions slim_pb_decompose and slim_pb2implementation, which did nothing, removed. - every function or datatype which name begun with 'sf_' (like sf_pb_desc_t or sf_impl_desc_t is dead. - arguments are now described by data_arg_t, and argument collections by data_argstack_t. See docs/pod/HOWTO-describe-data.pod - NWS cleanup - remove fast_nws_init from slimfast.h, since the user does not need to call it directly. (fast_init() does it automatically). - Function renaming: fast_nws_value() -> fast_avail(): because NWS isn't the only source of information (dummy CPU internal sensor right now, maybe others in the future) fast_load() -> fast_avail_load(): namespace depolution fast_memory() -> fast_avail_memory() fast_latency() -> fast_avail_latency() fast_bandwidth() -> fast_avail_bandwidth() - Get the period from the activity and not from the serie, since it's stored there (bugfix) - The nws_forecaster option to fast_init is deprecated because: - if not given, NWS will choose the best available forecaster - if no forecaster exists, the forecasts will be computed on place with a very little CPU overhead (and no extra communication to forecaster). - LDAP cleanup: - remove fast_ldap_init fron slimfast.h, it's called automatically. - rename fast_ldap_value() -> fast_need() (other storage for need polynomes may come) - created the fast_need_time() and fast_need_space() wrappers for symetrie with fast_avail_*() - Set up the infrastructure to have other estimator storage. Ie, for now, estimators can only be retrieved from LDAP, but one day, local XML storages could be done, amongst others. - High level API changes: in order to ease the future Freddy integration. fast_comm_time() -> fast_comm_time_list() * Set up a real plugin mecanism for both availability measurement sources and estimator storage, with structs containing pointer to functions, and so on (but no use of dlopen() so far :). Existing availability plugins: - NWS plugin - internal sensor: able to give the load of the current CPU without any dependency on another package - Pathfinder: plugin able to build path of direct measurement from the other plugins, and to deduct the value of the complete path from that Existing estimator storages: - LDAP Existing buffers for bencher: - Dummy (do not store anything -- not new) - Berkley DB v2.7 (not new) - Berkley DB v4.1 (new) * Generalized the fast_options stuff into a "typed hash" concept. This is like a struct, where all fields are typed, but you can add new fields at runtime, like in a hash. See libfast/Utils/typed_hash.h. * New function: fast_avail_cpucount(): returns the number of processors on the given host. (needs a NWS patched by myself, and > 2.5.1-mt1) * Autofetching of system availability values for the plugins supporting that (only NWS so far). There is 3 new configuration options: - autofetch_use(boolean, default=1): to turn this off - autofetch_on(double, default=60): autofetching will start if the same value is asked two times within seconds - autofetch_off(double, default=600): autofetching will stop after seconds without using the value. Works for both measurement and forecasts, of course. * New buffer for the bencher, based on the version 4.1 of Berkley DB. In fact, it should be merged with the BDB2 one, but... * Great portability improvement: - Works prefectly on Solaris - Works on OpenBSD and Mac OS X, but on those platform, the accuracy of the benchs is very poor since those prehistoric system do not have any /proc filesystem where I could get accurate values. Moreover, since I failed to install NWS and LDAP on those platform (not tried that hard, I confess), I was unable to check that these parts of FAST work. Anyway, FAST is still better tested under LINUX. Repport problems, and I'll correct them for the other systems. -- Martin Quinson Wed, 8 Oct 2003 15:58:46 +0200 fast (0.4.3) unstable; urgency=low * Remove cruft related to glib in fast-config * When NWS was configured out (ie, nws_use=0 in fast_init) or compiled out (ie --without-NWS to ./configure), we still get a rather stupid measurement of the CPU load. It's as reactive as uptime (averaging over the last 5 mn). The resulting metric can be compared to the results obtained from the real NWS. -- Martin Quinson Sat, 26 Apr 2003 15:35:17 +0200 fast (0.4.2) unstable; urgency=low * Recompile using the lastest ACI macros -- Martin Quinson Thu, 13 Feb 2003 12:07:33 +0100 fast (0.4.1) unstable; urgency=low * The "FAST is smarter after DIET" version. * The compressed archive size reduced from 1.1Mb to less than 500kb: - Remove XP/ (containing the experiments presented in articles) to a newly created package named FAST-XP, and located in fast-contrib - Remove src/Extract/Prototype/ (containing a sample FAST client) to a newly created package named FAST-miniclient, and located in fast-contrib - Remove the InternGlib stuff. It's bloat for nothing. - NWS and LDAP are now optional. Of course, if you don't install one of them, you'll lose the functionnalities they are offering. * Fast installation is smarter: - configuration tool more user friendly. - search for the BLAS where atlas2 put them. - don't use -Werror (unless you pass --enable-maintainer-mode to configure) - provide a fast.m4 macro for the fools who want to use FAST ;) * NWS related changes: - implement the nws_raw option to get raw measurements and not forecasts. You can't change it on the fly. Only at init time. * ACI related changes (2003.01.16 version): - cleanup the interface of aci_configurator - make the config.log more readable, since now users can see it easily with aci_configuration - check package with no new args but the extra ones (so that user can fix them manually) - new macro: ACI_PREREQ, to check with version of ACI macros we are using. - in ACI_MODULES_SUMMARY_FANCY, verify that the argument is valid - Change MODULES to SUBMODULES in directories. Should make clearer what it is. Automatically AC_SUBST them. -- Martin Quinson Fri, 24 Jan 2003 16:37:45 +0100 fast (0.4) unstable; urgency=low * New handling of configuration (implies API changes ;) Now, fast_init use a variable number of arguments, they must be a NULL terminated list of configuration arguments, each of them is a couple const char *name,{char*,int,double} value. Example, to get the old behaviour, do: fast_init("ldap_server","localhost",9009, "ldap_binddn","dc=LIP,dc=ens-lyon,dc=fr", "nws_nameserver","localhost",8090, "nws_forecaster","localhost",8070, NULL); As you can see, each config argument can be a string, an int, a double or an host (a couple hostname;port). You can only use internally defined configuration element (ie, config is validated before use). For now, the defined elements are: * newbie variables: NAME TYPE DOC ldap_server 1_to_1_host where the ldap server lives ldap_binddn 1_to_1_string root of the ldap tree nws_nameserver 1_to_1_host where the nws nameserver lives nws_forecaster 1_to_1_host where the nws forecaster lives (syntax should be clear; "ldap_server" can be between 1 and 1 host). In the future, some elements about how to use NWS, or to allow the use of FAST without LDAP may be added. * Advanced variables nws_raw 0_to_1_int do we want raw results or forecasts? (default: no=>forecast) NOT IMPLEMENTED * Hardcore variables ldap_use 0_to_1_int do we want to use ldap at all (default:yes) warning, if you pass no, ldap won't be init'ed and you'll go into trouble if you use ldap anyway. nws_use 0_to_1_int do we want to use nws at all (default:yes) warning, if you pass no, nws won't be init'ed and you'll go into trouble if you use nws anyway. * Network connexion are not supposed symetric anymore. I did that to optimize the size of my cache, but Pax97 convinced me of the stupidity of this idea. * User invisible change: use of glib internally. A reduced version is included in the FAST's tarball and is used when glib isn't available on target machine. It will allow us to stop reinventing the wheel about well known data structures (like linked list). * Compilation string cleanup: - distributed tarballs do not use the warning verbose flags of gcc, such developpers cruft. - remove the tests dir from distributions, since it's experimental and don't work yet. * ACI related changes: - Add a new tool aci_configure. This is an interactive script which can be used to construct the right options args to configure. - Change --with-MODULE-incdir to --with-MODULE-includes and --with-MODULE-libdir to --with-MODULE-libraries. This is to conform to what is said in autoconf info documentation, to hope that ACI can be included one day to the main autoconf. * NWS related changes: - adapt to NWS 2.2 (Needs 2.2.1-mt2; still compatible with 2.0 version) * Several bug fixes: - Comment a line in Extract/sf_util/inst.c to avoid violent free of arguments [FS] -- Martin Quinson Mon, 13 Jan 2003 15:21:32 +0100 fast (0.3.15) unstable; urgency=low * The "Last fixes before SC02" release. * Never return NULL as string arguments in fast_inst2arrays, since it leads to segfault afterward. * in fast_impl_desc_alloc, first position of last_in, last_inout and last_out is now 0 (as every array indice) * in {XP,Prototype}/matrix.c, include string.h to get memset() in Prototype/prototype.c, include stdlib.h to get exit() in Prototype/{client,agent1,agent2}.c, include string.h to get strcpy() -- Martin Quinson Fri, 15 Nov 2002 16:14:31 +0100 fast (0.3.14) unstable; urgency=low * Yet another double free on NWS error fixed (thanks to Ludo). -- Martin Quinson Thu, 31 Oct 2002 11:04:36 +0100 fast (0.3.13) unstable; urgency=low * Various fixes to the makefiles (Thanks to Christophe). -- Martin Quinson Wed, 23 Oct 2002 12:25:48 +0200 fast (0.3.12) unstable; urgency=low * Yet another bug fix to get the compilation mecanism running again on all platforms (related to GSL, this time). * Avoid a warning (ie an error, thanks to -Werror) on the gcc found on mandrake machines. * Add AM_MAINTAINER_MODE in configure.ac, so that the automake don't try to rebuild the makefiles. That's needed to be able to compile on machines where the autotools are not installed, or outdated. * dont free two times the cache element when interrogation to NWS fails (thanks to Ludo for falling into this trap ;) -- Martin Quinson Thu, 17 Oct 2002 15:56:17 +0200 fast (0.3.11) unstable; urgency=low * Add a new type description type: files (gift to Pilou). The type is described in slimfast_api.h, the functions sf_dd_file_alloc and sf_dd_file_set are implemented. * Big cleanup in the Makefiles, to make it easier to maintain (and to workaround a "bug" in automake 1.7). -- Martin Quinson Thu, 17 Oct 2002 08:14:32 +0200 fast (0.3.10) unstable; urgency=low * Polishing: Avoid warning at the end of the configure (ie, test for the existance of scripts generated by the configure before chmod'ing them) * Bug fix: correct the ASSERT on arguments in fast_nws_value introduced in 0.3.6 -- Martin Quinson Wed, 16 Oct 2002 13:36:41 +0200 fast (0.3.9) unstable; urgency=low * Bug fix: - Search fast_diagnostic.h in the right location from src/Extract/Prototype (Thanks Christophe). -- Martin Quinson Wed, 16 Oct 2002 11:09:21 +0200 fast (0.3.8) unstable; urgency=low * I use the NWS logging facilities. For 0.3.6, I did enhance it to define an ASSERT macro, allowing to display a message when the condition isn't respected. The problem is that on a machine where NWS is installed, the original diagnostic.h is used, not the enhenced one shipped in FAST. So, I did rename my version to fast_diagnostic.h -- Martin Quinson Wed, 16 Oct 2002 10:43:47 +0200 fast (0.3.7) unstable; urgency=low * Bug fix: Really include all subdirs in XP, even if some where invalided because of unsatisfied dependencies. -- Martin Quinson Tue, 15 Oct 2002 17:29:29 +0200 fast (0.3.6) unstable; urgency=low * Several arguments checks to catch programation errors: - in fast_nws_value: hostSrc != NULL hostDest != NULL if the resource needs two hosts - in fast_nws_find_path: Add a warning if source=dest, to explain that the only way to get it working is to have several sensors on the same machine (NWS limitation). * Bug fixes: - When writing a filter to nws_search, add an '*' at the end of hostname, to match the port part. (Damnit, I though it was fixed since a looooong time) * Fix in the configure and build mecanism: - Disable XML by default, since it's still experimental. - Remove the [broken] caching mecanism based on fast-config in the configure. This script is still available (to be used in external projects like NetSolve), but isn't used in my configure because it was an extra burden in the configure, the tests are not that long, and as all configuration caching mecanism, it's hard to say when it stalled and have to be removed. The --enable-fast-config and --disable-fast-config args where removed. - Remove the "Warning this file is generated" comment from remote-compile.in since it's not true (only remote-compile is) - Non interactive build on "make publish" - [ACI] use DIST_SUBDIRS to include in tarballs the modules that are disabled because of missing dependencies. -- Martin Quinson Tue, 15 Oct 2002 11:49:57 +0200 fast (0.3.5) unstable; urgency=low * Minor fixes in src/Extract/TestCode so that Christophe can "make check" with LDAP. -- Martin Quinson Thu, 12 Sep 2002 13:56:53 +0200 fast (0.3.4) unstable; urgency=low * Get rid of libtools since it's a nightmare with ldap on debian. * extra gcc option; -Werror ;) * various small portability bug fix for 64bit. -- Martin Quinson Wed, 11 Sep 2002 10:27:13 +0200 fast (0.3.3) unstable; urgency=low * Bug fix in big tarball, so that db2 compiles again * Bug fix in BenchBlas: initialize LDA before use * Make BLAS optional again (ups) -- Martin Quinson Fri, 21 Jun 2002 10:56:52 +0200 fast (0.3.2) stable; urgency=low * Big big effort agains bugs: - Fix a bunch of memleaks in the bencher. - Fix bugs revealed by these memleaks fix :( - now find the blas on icluster * The check of nws and ldap launch automatically the right servers (on non standard ports). They should now work on any machine. * Full bench of blas. * Beging of use of autotest * Move option stuff to Utils -- Martin Quinson Fri, 31 May 2002 00:07:17 +0200 fast (0.3.1) stable; urgency=low * Great news: the paths now work !! That is to say, if no direct measurement is done by NWS between the machines A and B, FAST will search for a path (for example, if the direct measuremnents (A;C) and (C;B) are done), and deduce a value for the original path based on this. Note this feature were present but highly buggy in the source since version 0.2.2, released 30 Jun 2001 ;) -- Martin Quinson Thu, 23 May 2002 16:56:08 +0200 fast (0.3) stable; urgency=medium * API breakage !! (It's not my fault, but Pilou's :) data_desc_t cleanup. I used to use a generic struct, and cast specific stuffs to it. It seems to break in some conditions (when the compiler resort the fields of the struct, for example). Now, there is an union in the struct. * Build ease - If DB2 is not found, then use a "dummy buffer". Ie, do not bufferize at all. - Add distrib dir. This is a makefile to build a big tarball from all Fast dependencies, and build all of them automatically. This makefile is auto-documented: try "make help". * Bug fixes - fast_becher used to segfault when HOSTNAME and FAST_HOSTNAME where both not given. Now, it uses "noname.db" as buffer. * Portability enhancement: Revolution in bench_one (ie, part to run one test and bench it). - The principle is to run the experiment in a fork, step by step like gdb does, thanks to the ptrace(2) mecanism. - At each step (ie, each syscall in the experiment), we used to use wait3 to wait for the child, and get its rusage. The problem is that it's highly not portable. Wait3 is marked as obsolete (and we should use wait4 in place). But that's not enough to become portable. From the linux getrusage(2) man page (describing the struct rusage): The above struct was taken from BSD 4.3 Reno. Not all fields are meaningful under Linux. Right now (Linux 2.4) only the fields ru_utime, ru_stime, ru_minflt, ru_majflt, and ru_nswap are maintained. That is to say that this method can't be used to get the size of the child. Indeed, there is a hack in the code: if the wait3 call did not fill the size fields, we got the info from the /proc filesystem. - So, the child size handeling was not portable (it does not work at all on TRU64), and hard coded for using the Linux way. - From the UNIX FAQ (http://www.erlenstar.demon.co.uk/unix/) 1.8 How can I look at process in the system like ps does? You really don't want to do this. The most portable way, by far, is to do popen(pscmd, "r") and parse the output. (pscmd should be something like `"ps -ef"' on SysV systems; on BSD systems there are many possible display options: choose one.) In the examples section, there are two complete versions of this; one for SunOS 4, which requires root permission to run and uses the `kvm_*' routines to read the information from kernel data structures; and another for SVR4 systems (including SunOS 5), which uses the `/proc' filesystem. It's even easier on systems with an SVR4.2-style `/proc'; just read a psinfo_t structure from the file `/proc/PID/psinfo' for each PID of interest. However, this method, while probably the cleanest, is also perhaps the least well-supported. (On FreeBSD's `/proc', you read a semi-undocumented printable string from `/proc/PID/status'; Linux has something similar.) - Conclusion, no existing portable way. Even worse: on some arch, no way without being root. - Solution chosen: - generic solution based on popen(pscmd, "r") - specific solution for Linux when available, based on "/proc". * Other portability fix for solaris: - egrep and grep arex stupid on solaris (=> change in configure and ACI ; ACI use the not fancy summary on solaris). - gethostbyname is in -lnsl on solaris * Known problems (FIXME): - The precision of info about child did decrease. The old method gave about 0.002 sec, and the /proc method gives 0.01 (with one processor. It depends on Hertz, see comment in bench_linux.c). - The ps method is even worse: the precision is 1sec ! - It would be possible to improve it, using getrusage(RUSAGE_CHILDREN,...) but it gives info about all the terminated childs, and not one perticular. So it would not be appliable to the ps method since all the ps (needed for size info) would be counted with the computation child. I'm not sure if it's about *terminated* childs, or all of them. - We could move to the old method back on Linux, but the code was sooo ugly that I needed to rip it for now. -- Martin Quinson Mon, 13 May 2002 16:02:22 +0200 fast (0.2.17) unstable; urgency=low * Revert to the API of stable NWS. -- Martin Quinson Fri, 1 Mar 2002 08:01:58 +0100 fast (0.2.16) unstable; urgency=low * maintainance release, no revolution. * More logs: - Tell when we can't compute the needed time to send data, because it's from a machine to itself. - Say for which machine the forecast is done * Fix compilation problem when gsl is not found * Adapt to prototype changes in the last version of NWS -- Martin Quinson Tue, 22 Jan 2002 10:04:32 +0100 fast (0.2.15) stable; urgency=low * Correct the order of "fast-config --libs fast" output -- Martin Quinwson Wed, 5 Dec 2001 16:12:03 +0100 fast (0.2.14) stable; urgency=low * fast-config --libs fast now outputs all dependencies -- Martin Quinson Tue, 4 Dec 2001 16:27:27 +0100 fast (0.2.13) stable; urgency=low * Port to solaris (underway): - change the configure to recognize it - check for struct rusage in configure to avoid redefinitions - In src/Interpolate/estimator.c, explicitly cast the arg of isspace to int to avoid a warning on solaris - Make some magic so that remote-compile search a workable shell to execute itself. * Ease of use: - Put the log message about the LDAP server before the attemp to contact it. It makes configuration debuging easier since LDAP fails with an 'assertion failure' without usefull output when something goes wrong. * Code cleanup: - slimfast_api.h used to be generated from the concatenation of several atomic files.h. It's not the case anymore, and I hope it will improve its maintainability. -- Martin Quinson Thu, 29 Nov 2001 10:14:04 +0100 fast (0.2.12) stable; urgency=low * Change the remote compilation process. - the target of the makefile is renamed to "remote" - use an external script instead of putting anything in the Makefile, and fighting against quoting. This script is left on remote machine and can be used manually. But don't edit it since it will be overwritten. - you can now specify the machine on which you want the remote compilation by fixing the MACHINES environment variable. The machines may well be behind a firewall. Examples: > MACHINES=toto make remote this will compile on the machine toto and only on this. > MACHINES="toto tutu" make remote this will compile on the machines toto and tutu. > MACHINES=transit%paraski17 make remote this will compile on paraski17, which is behind the firewall transit Default value is: sci.inria.fr frontal-grappes.imag.fr \ transit.irisa.fr%paraski17 - you can now specify which action you want to make on the remote machines by fixing the ACTION environment variable. Possible values are: o clean: remove all cruft of old fast versions (don't run make clean) (should imply clean) o untar: open the tarball o config: run ./configure with proper arguments o compile: make o install: make install o check: make check (run some builtin regression test) Default value is: clean untar config compile install check Warning: no check is done on arguments. * Work about regression tests: - New test trying to do some benchs (only on the plus operation to save time) - Mark test 10 (%s=.!.|.;%s=.|.!.) of TestDesc as known bug and don't count it as failed - Include the expected result of the test in Benchs/TestDesc/testsuite so that make check works out of a tarball * Portability to TRU64: only use things which also work on this prehistoric system. - Don't use "diff -q" for the tests in src/Benchs - Search LDAP in -lldap -llber before in -lldap so that it works on Tru64 - sed does not understand the '1~1000' function. So, I use "tail +2l" to remove the first line and "head -n 1" to separate this first line - (test "x" == "y") should be (test "x" = "y") - (test -z $variable) should be (test -z "$variable") - There was some use of "echo -n" (not portable) * Bug fixes: - Change the -I directives in XP/nws_response_time to search slimfast_api.h in the right place * Known problems (FIXME): - the regression test about LDAP and NWS only work on my own computer blaise since the hostnames are hardcoded. -- Martin Quinson Tue, 30 Oct 2001 22:27:16 +0100 fast (0.2.11) unstable; urgency=low * Remove F2C from dependencies * Work on paralelization of tests (still not done) -- Martin Quinson Mon, 22 Oct 2001 14:36:27 +0200 fast (0.2.10) unstable; urgency=low * Add a 'publish' target to the main makefile. It's for my own use... * Add some experiments to the tarball -- Martin Quinson Wed, 5 Sep 2001 15:12:40 +0200 fast (0.2.9) unstable; urgency=low * Correct a bug in the Benchs part which prevented the handeling of tests without string argument. * Summary of installation is written to config.log, too * Prototype depends on the BLAS -- Martin Quinson Sun, 2 Sep 2001 21:51:30 +0200 fast (0.2.8) unstable; urgency=low * The fast-config stuff should work now * Minor bug fix: Use LIBS_ and CFLAGS_ instead of _LIBS and _CFLAGS in all Makefile.am since the configure script now fill them -- Martin Quinson Wed, 22 Aug 2001 15:13:58 +0200 fast (0.2.7) unstable; urgency=low * No longer try to construct src/Extract/Prototype/nws_comm, because it's dead code, and won't get in the tarballs. -- Martin Quinson Wed, 22 Aug 2001 14:53:37 +0200 fast (0.2.6) unstable; urgency=low * Extension of the modules mechanism: - You can now express not only dependencies, but also the sub-modules which depend on this feature. Using 'depend' and 'sub' relationships, you can specify a tree of what will be builded. And the 'sub' on is used to add things like SUBDIRS= Utils Interpolate @FAST_MODULES@ in Makefile.am - Convert my old MQ_ macro to brand new ACI_PACKAGE - I found how to put the AC_SUBST in the macro ACI_PACKAGE. configure.ac looks better Remaining problems (FIXME): - I can't AC_SUBST the $1_MODULES, because it should be done while m4 expension, and when I know the name of the module, (in ACI_MODULE), I don't the value yet. And when I know the value (in ACI_MODULES_VERIFY) only sh knows the list of the modules. Solution: build a list of modules in m4, too. - The fast-config thing should be pretty broken nowadays. ACI is almost ready to get published ;) * Re-add of contrib in FAST, using the brand new modules architectures in autotools. The prototype is in src/Extract/Prototype, and the part to bench the blas in src/Benchs/BenchsBlas. - The cyclic dependency FAST(benchBLAS)->netsolve->FAST(Extract) is still there. So to install, do so: - configure and install FAST. The BenchBlas won't get installed. - compile NetSolve (at least the server). - reconfigure and reinstall FAST (this time complete). - Some cleanup so that it compiles for this version of FAST - Added sf_dd_vect_resize and sf_dd_mat_resize to remove a dirty hack from the client of the prototype (even if it's not used yet FIXME) * Correct some "Warning: unused function" concerning debugging functions I don't need when things work. This warning is changed (as any warning) to an error due to the -Werror I use. So, I added tricks like if (0) function(NULL); How could I do better ? -- Martin Quinson Wed, 22 Aug 2001 05:40:54 +0200 fast (0.2.5) unstable; urgency=low * Hack to make sure slimfast_api.h get generated before needed. But it's a dirty hack. I can't solve this problem until autoconf is able to handle dependencies in another repertory... -- Martin Quinson Mon, 20 Aug 2001 16:37:59 +0200 fast (0.2.4) unstable; urgency=low * Compile & configure clean up - Move to autoconf 2.50, so (among others) ./configure --help=short works, and is great. - Ability to enable/disable modules, Better tracking of dependencies between module (Benchs or Extract) and package (NWS, LDAP, etc). - GSL is found when there (this time for real) - remove of the hack [forcing the definition of HAVE_WAIT3 on linux] around AC_FUNC_WAIT3 since it seems to work now. - acmacro/fast.m4: drop of 2 unused macros (GNOME_INIT and MQ_CHECK_LIB) * Remaining problems (FIXME): - fast-config does not keep track of the --enable things. -- Martin Quinson Mon, 19 Aug 2001 16:36:03 +0200 fast (0.2.3) unstable; urgency=low * New feature release: - Introduction of the XML stuff. - Rewrite of Benchs/TestDesc to ease the introduction of the xml stuff * Remaining problems (FIXME): - end this -- Martin Quinson Wed, 4 Jul 2001 13:22:48 +0200 fast (0.2.2) unstable; urgency=low * Bug fix version (I released FAST-0.2.1 too fast ;): - change the order of autoconf macro, because my very strict compilation options caused some failure in GSL macros. (-Wmissing-declarations -Werrors) - Now that GSL used again, I've seen some compiling error in this part - Correct a stupidity in the ldap stuff: I did not build the filter for queries. So it always took the first result available. - corrected some other minor issues in the ldap stuff. - Bug fix in NWS: I did not give the 'target', so it gave the first bandwidth of one of the sensors implied, with no regard of who is at the other end of experiment. - NWS path have now a chance to work, but I can't overtest it right now. - some Makefiles issues fixed by Eddy * Remaining problems (FIXME): - Cache the failure in NWS to avoid to redo a NWS call which fails again and again. - verify it still work on non i386 platforms. - cleanup interpolate - XML stuff -- Martin Quinson Sat, 30 Jun 2001 16:56:22 +0200 fast (0.2.1) unstable; urgency=low * Work on LDAP and associated problems: - design of a sf_impl_t type to describe an implementation. It is done to capture the fact that to do a dgemm, you have to give 7 args in a particular order. I need to track this corespondance between high level abstraction ("two matrices") and low level ("TransA TransB M N K alpha beta"), because the bencher use the low one. - [APICHANGE] in slimfast_api.h, there is no SCALAR type anymore, but an integer one, a double one, and a char one. - LDAP cache implemented. - LDAP api cleaned (should be internal) * New type %a in fast_bencher. It takes no value in the describe file, takes the values 0, 1 and 2 while benching, and when interrogating the perfs, checks if it's value is 0 or 1 (using the val in these cases) or something else (using 2 as value). Rational: a dgemm operation does C := alpha*op( A )*op( B ) + beta*C so, if alpha=0, there is no need to do the first multiplication, and if it's not 1, there is a scalar*matrix operation to do. These case are handeled by BLAS, and I have to handel them in FAST. -- Martin Quinson Fri, 22 Jun 2001 12:02:56 +0200 fast (0.2.0) unstable; urgency=low * Speed improvement version: - Creation of the cache module, a very fast way to store and retrieve data. - Use of this cache module in the NWS cache. * Bug fix version: - FAST-contrib works again after its move of previous version. This package have its own numering scheme. * API cleanup: - The fast_nws_{load,memory,bandwidth,..} do not exist anymore. They were only to call fast_nws_value with the good resource_type, and were only called by the fast_{load,memory,bandwidth,..} functions. Now, the fast_* functions directly call fast_nws_value. - Change in sf_dd_mat_t (descriptor of a matrix): Add of a boolean to see if the matrix is transposed or not. - new function: sf_impl_desc_new(). to do a sf_impl_desc_alloc() and give value to datas in one call. - all functions in slimfast_api.h now returns if anything went ok or not, and not anymore the result (which is passed as last arg). - in slimfast_api.h, there the machines are not identified by their ip anymore, but by their qualified name. -- Martin Quinson Tue, 19 Jun 2001 14:54:20 +0200 fast (0.1.11) unstable; urgency=low * Code cleanup release: * Creation of FAST-CONTRIB to break a circular dependency between FAST and NetSolve. The main part of Fast does not depend on NetSolve anymore. The contrib package does (to bench NetSolve Blas). * Source reorganization: - src/Utils now contains things used in the others directories like diagnostic.h, string utilities or hash table (functions there could be shared with nws and diet) - src/Core contains higher level code like option parsing (functions there are more FAST specific) - bencher and prototype goes to fast-contrib. * LDAP, NWS or DB2 are not required by autoconf anymore. Simply, if a part lacks, the make won't build this part. So, if none of the above is available, nothing will be builded ;) * Added -pedantic -Werror -Wshadow -Wpointer-arith -Wwrite-strings to compiler flags. The code have now to be cleaner... * If fast was already installed, the autotool stuff will notice it, and use the previously given values. You can avoid this by using the --disable-fast-config flag of the ./configure -- Martin Quinson Thu, 14 Jun 2001 11:40:18 +0200 fast (0.1.10) unstable; urgency=low * Bug fixes release: * The name of this machine is now read in the environment variable FAST_HOSTNAME. If it is not fixed, $HOSTNAME is used. And if it's also not fixed, try to get it from gethostbyname() This name is used to name the .db and .ldif files, and to fill the .ldif * The options stuff is implemented and tested, but not used in the rest of the code. I do not want to do so big changes so near from a Demo... -- Martin Quinson Mon, 4 Jun 2001 11:25:33 +0200 fast (0.1.9) unstable; urgency=low * NWS path search is implemented. Ie, when there is no direct NWS experiment between two machines, FAST search for a path between these machines in the graph of existing experiment. WARNING: This feature is not well tested yet, but I lack of time right now and I want to solve some other problems. -- Martin Quinson Thu, 31 May 2001 14:43:31 +0200 fast (0.1.8) unstable; urgency=low * Nws version of the NWS cache. It is much more efficient and old bugs are removed. Of course, this implies some new bugs. -- Martin Quinson Sun, 27 May 2001 19:58:46 +0200 fast (0.1.7) unstable; urgency=low * Code cleanup and bug fixes in Prototype -- Martin Quinson Wed, 23 May 2001 17:07:59 +0200 fast (0.1.6) unstable; urgency=low * autotools now search for f2c, the lib needed to link fortran libs from C (usefull to compile against the BLAS). * Compiles and bench on OSF 5.1 * Syntax of m4 macro MQ_REQUIRES_PACKAGE changed a bit: no '-l' is appended to the third argument, so that I can pass non lib args (was needed on the veloce machine). * Change the scheme of debugging in src/Benchs/TestDesc/argset.c * Some bug fixes. -- Martin Quinson Wed, 23 May 2001 15:12:21 +0200 fast (0.1.5) unstable; urgency=low * Creation of fast-config. This script can: - produce the library or include flags for compiler in order to find nws, ldap, db2, gsl, eFence. Just call fast-config --libs or fast-config --cflags it will make the netsolve script easier, I think. - It can also produce the --with flags for FAST configure. So, it becomes easy to install a newer version of FAST. Just call ./configure `fast-config --with nws ldap db2 eFence` - `fast-config --version` gives the version number of FAST, and the time at which the configure script was generated (usefull when tarball is updated, but the version number unchanged) -- Martin Quinson Thu May 17 11:15:23 2001 fast (0.1.4) unstable; urgency=low * configure can now locate LDAP and NWS -- Martin Quinson Mon, 15 May 2001 10:20:42 +0200 fast (0.1.3) unstable; urgency=low * Bunch of bug fixes -- Martin Quinson Mon, 14 May 2001 09:54:42 +0200 fast (0.1.2) unstable; urgency=low * fast_bench takes its todo list from a text file. -- Martin Quinson Tue, 9 May 2001 14:39:12 +0200 fast (0.1.1) unstable; urgency=low * The order of polynomials is now automatically determined, the arg passed is the max. -- Martin Quinson Tue, 8 May 2001 14:03:12 +0200 fast (0.1.0) unstable; urgency=low * Initial public release. -- Martin Quinson Mon, 7 May 2001 14:49:56 +0200