Previous versions

  • Sept 1st, 2010 : XWHEP 6.0.2
    • Corrections

      1. a bug corrected in xwtar.sh script which generates the sources archive; this archive is now correctly generated.
  • July 19th, 2010 : XWHEP 6.0.1
    • Corrections

      1. this version introduces scripts that check and update the database since they are missing in 6.0.0
  • July 8th, 2010 : XWHEP 6.0.0
    • Corrections

      1. a bug corrected on server side concerning downloading data : if data file is not available on server side, distributed parts are now cleanly informed
      2. a bug corrected on server side concerning work alive signal (on finished tasks)
      3. a bug corrected in install packages concerning “adduser” usage
      4. xwversion returns 1 if client should be upgraded
      5. a bug found in data management (WIN32 worker)
      6. xwconfigure introduces –newkeystore and –newalias command line parameters. By default keystores are created and unmodified if already exist.
        • –newkeystore can be used to force keystores regeneration (if already exist). Doing so cancels any deployed paltform : clients and workers must be redeployed
        • –newalias can be used to insert a new alias in existing keystores.
          This helps to keep a deployment before keystores expire (this can then be used in conjunction with keystore.uri variable in xtremweb.server.conf)
    • New features

      1. client RPM and Debian packages
      2. Host definition contains new columns
        • -osversion
        • -javaversion
        • -javadatamodel
      3. App definition contains necessary columns to manage x86_64 for Win32
      4. Use Java 6 SystemTray
  • June 30th, 2010 : XWHEP 5.9.1
    • Corrections

      1. a bug corrected in SQL statements
  • April 28th, 2010 : XWHEP 5.9.0
    • Corrections

      1. Mac OS X installers updated : it is now compliant with all versions (including 10.6)
      2. XML (un)marshalling from/to stream cleaned : performances increased at more than 20% (see below)
      3. Removed scripts : xwhepgenserverkey, xwhepgenworkerkey, xwhepgenclientkey. Replaced by script : xwhepgenkeys. This last is generated by xwconfigure
    • New features

      The platform is now able to update the server public key. This works if and only if the server key has not expired yet.

      • Purpose : keep a deployment alive even if the server keys expires
      • What: distribute new server public key (automatically) to workers and (on demand) to client
      • When: before the actual server key expires
      • How :
        1. use the script xwhepgenkeys to add new key to keystores
        2. insert worker keystore (containing both actual and new server public keys) as public data in XWHEP server
        3. stop the server
        4. set keystore.uri variable in xtremweb.server.conf
        5. restart the server
      • Security : This does not break security since
        • workers and clients must have the current server public key to connect to server
        • updated keystore is then distributed through encrypted communication channel
        • workers and client must have valid credentials to connect to server
        • workers and client safely keep keystores
        • distributed keytore contains server public keys only

    XML un/marshalling has been improved. This results to an 20% performances increase as shown in the two next figures which represent the client execution time to retreive 1000 jobs from server from our XWHEP deployment at LAL. In the first figure we can see that the client needed more than 100 seconds using XWHEP 5.8.0; in the second figures less than 80 seconds is now needed using XWHEP 5.9.0.



  • Mar 5th, 2010 : XWHEP 5.8.2
    • Corrections

      1. a bug corrected in init scripts
  • Feb 26th, 2010 : XWHEP 5.8.1
    • Corrections

      1. the script xwhep.bridge.pl has been corrected and is now compatible with 5.8.x versions
  • Feb 24th, 2010 : XWHEP 5.8.0
    • Corrections

      1. the script xtremweb.tests.pl has been corrected
      2. worker : a bug corrected on result uploading
      3. server : the scheduler can be defined in conf file and dynamically loaded at run time
      4. the scheduler has been totaly rewritten : it was not only buggy and conceptually erroneus, but also not fair. In this version, the scheduler :
        • does not cached DB rows any more since this was source to memory leaks
        • improves SQL request usage so that it retreives expected rows only
        • is now entirely responsible for task management
          • retreive() retreives WAITING task from DB and set them to PENDING
          • select() retreives PENDING task on worker request
        • but still does not fairly manages jobs among users
      5. if you delete an user, you can reuse its login when inserting a new user
      6. if you delete an user group, you can reuse its label when inserting a new group
      7. user passwords are never sent over the network
      8. processor X86_64 correctly manage for Apple workers
      9. memory leaks resolved on server side. Next figures show server memory consumption. The 1st one shows version 5.7.7 starving behaviour: after two days, the amount of allocated memory is as up as 600Mb. The 2nd one shows a more stable consumption with version 5.8.0, after two days : the amount have been very stable at only 288Mb.


    • New features.

      Some new features are implemented to improve confinement and security access.

      • user rights slightly modified : ADVANCED_USER allows user group management. Consequences : for each user group, we must define user group administrator who has enough rights to manage its own group (users, applications)
      • Any object can now be confined : they all have OWNERUID and ACCESSRIGHTS (AR) fields
      • xwchmod now applies to any object

      Major consequences :

      • administrator and worker identities are private (AR : 0x700) : they are not listed by standard users
      • we can confine user group by setting its AR to 0x750
        • if a group is confined, an administrator of the group MUST be inserted
        • any user inserted in a user group inherits AR from its group
        • users MUST be inserted in a group by the group administrator, if any (the user owner MUST be the group administrator, if any)
        • users in a confined group are listable by user group members only
        • the client can help to insert an user group and its administrator by:
          $> xwsendusergroup MyGroupLabel theGroupAdminLogin theGroupAdminPassword theGroupAdminEmail

          If user group is not confined, everything is as it used to be in previous versions.
      • This version enables versionning. Here is how. All messages (requests, answers) are now encapsulated in an XML root element ...
        So that version is included in the protocol.
        In top of that some fields have been deleted, added, renamed
        (see -B.2- and -B.3-)
        All Object now have OWNERUID and ACCESSRIGHTS fields
        Some object had CLIENTUID or USERUID; these have been renamed OWNERUID

        But, of course, versions prior to 5.8.0 know nothing neither about that XML root element, nor about column changes. This current version takes care of all that. If a distributed part sends a message without the XML root element, this clearly mean that this part run a version prior to 5.8.0.
        Hence we don’t encapsulate the answer with the XML root element
        and we take care to answer with the expected attributes.

  • Decembre 20th, 2009 : XWHEP 5.7.7
    • Corrections

      1. workpoolsize is forced to 1 because we encounter some file concurrent access exceptions with workppolsize > 1
      2. a bug corrected in Executor streams
      3. a bug corrected on aborted tasks management
    • New features
      • -NONE-
  • Decembre 1st, 2009 : XWHEP 5.7.6
    • Corrections

      1. communication TCP layer : a bug resolved on reconnection error
      2. XWHEP 5.7.5 introduced the notion of limit entry in cache (set to 10K entries), but the implementation was buggy : this is corrected. The cache now manages its entries implementing least recently used (LRU) management
      3. server : detecting lost task is not done every 15s (which is just absolutly not necessary), but every ALIVETIMEOUT only (default : 5mn). This greatly reduces CPU consumption.
      4. a bug corrected on accesslogger : it only opens one file (and not one per thread)
      5. xtremweb.gmond.pl scalability improved
      6. certificate has no validity limit untill further notification (this helps deployment)
      7. xwconfigure corrected : config files generation corrected
      8. linux installers corrected
      9. scripts corrected : “type” usage improved
      10. the scheduler refresh its tasks list with PENDING ones only
    • New features
      • -NONE-
  • 15 octobre 2009 : XWHEP 5.7.5
    • Corrections

      1. Launcher improved : it does not start if it has a wrong SSL key, or if URL is malformed
      2. Launcher correction error on library path
      3. worker improved : error messages are more detailed
      4. worker corrected : on network failure when uploading result, results were lost and the worker where unable to request any new job. The worker now correctly recover and retry to upload results as well as to get a new job.
      5. xwconfigure path bugs corrected
      6. xwhep.bridge.pl modified: it can now connect to the DB in order to gain performances
      7. xtremweb.gmond.pl : MySQL connections management corrected
      8. a bug resolved on server side regarding MySQL connections usage which lead to too many TIME_WAIT sockets
      9. a bug resolved on I/O library usage : all handlers are now correctly closed on exceptions/errors
      10. a bug resolved in client cache : cache can not exceed 10K entries
      11. scripts improved : it is preferable to use ‘type’ and not ‘which’ in bash/sh scripts
      12. on client side, xwchmod now accepts UID too (and not only URI)
      13. build corrected : it now correctly generates x86_64 worker
      14. we don’t use String.intern() any more because we had some “OutOfMemory in PermGen” exceptions, on server side (see http://www.codeinstructions.com/2009/01/busting-javalangstringintern-myths.html)
      15. admin and worker are not inserted in any group (because this is not used and may be confusing)
    • New features

        none
    • 31 july 2009 : XWHEP 5.7.4
      • Corrections

        1. host registration improved : we want to also store the worker version
        2. a bug corrected in the scheduler : it did not run over all tasks, but stopped at the first non compliant one
        3. xtremweb.ganglia bugs resolved :
          • forked processes now correctly exit;
          • use isdeleted flag from DB tables
        4. xwhep.bridge.pl corrected and slightly modified: it is not an error any more that a pilot job don’t process anything (see XWHEP-5.7.2, point 8 below)
        5. bugs corrected for the Win32 worker regarding path and java -Xrs option
          (see http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html)

        6. a bug corrected in the launcher : it must not delete JAR files
      • New features
        1. some SQL scripts added to check the platform through the DB
        2. all needed scripts to update DB from previous versions

    • 9 july 2009 : XWHEP 5.7.3
      • Corrections
        1. a bug corrected in the database definition
          • hosts.ipaddr and hosts.natedipaddr length is now 50 to comply to IP V6 (20 was not enough)
          • we introduce a new table “Version” which contains XWHEP version
          • we introduce pilotJob field in hosts table to ease monitoring
          • the xwsetupdb.sql script alter tables accordingly
          • the xwconfigure script make these modifs non destructively
        2. bug resolved on dates stored in DB (insertion date, completion date etc.)
      • 17 jun 2009 : XWHEP 5.7.2
        • Corrections
          1. a bug corrected in the bridge
          2. Linux RPM and DEBIAN, and Mac OS PKG now log in /var/log
          3. configuration variables are now all trimmed (leading and trailing whitespaces are removed)
          4. configuration variable KeyStore was not correctly initialized KeyStore can either (and now correctly) be read from config file or from java parameter -Djavax.net.ssl.keyStore
          5. a bug corrected in MySQL error handling on XWHEP server side
          6. the usage of job group has been corrected
          7. a bug corrected on the scheduler
          8. X509 proxy certificate usage modified accordingly to EDGeS meeting (Jun 2009).
            The client can now automatically checks if $X509_USER_PROXY environment variable is set so that the XWHEP “–xwcert” is not required any more.
            If using “–xwcert”, the certificate must be valid otherwise the job is not sent.
            If $X509_USER_PROXY certificate is not valid, the job is sent without any certificate. Any worker can download a job that has been submitted with an X509 proxy (and not only Pilot Jobs).
            Pilot Jobs are private workers: they can run any job of their owner.

            X509 proxy are never downloaded by workers (even Pilot Job).
            The bridge may download X509 proxies (and the bridge only).

          9. A bug corrected on communications handler to integrate new protocol (here ADICS)
        • New feature
          1. XWHEP now integrates ADICS protocol by Cardiff University.
            See http://www.p2p-adics.org.
            This is an “external” new feature :

            • new protocol integration exist in XWHEP for long
            • we then stay in 5.7.x branch
      • 25 mai 2009 : XWHEP 5.7.1
        • Note : this version is noted 5.7.1 and not 5.6.4 because 5.6.3 introduced a new feature and should have been noticed 5.7.0.
          I correct this now only.

        • Corrections
          1. xwconfigure now loops on each variable until a good value is provided
          2. Tar file creation error corrected:
            *ps files were excluded from tar file which was an error because
            xwapps, xwgroups etc were excluded from tar file

          3. Mac OS X worker scripts bug solved
          4. Mac OS X installers errors solved. These were due to the fact that NetInfo is not supported since Mac OS 10.5. Directory Service tools usage now replaces NetInfo ones in our scripts. This is 10.4 and 10.5 compliant. Tested on 10.4.11 and 10.5.7.
          5. Win32 path management bug solved
          6. Win32 innoSetup project errors solved
      • May 7th, 2009 : XWHEP 5.6.3
        • Corrections
          1. To avoid confusion between XtremWeb and XWHEP, that last now installs everything in /opt/XWHEP-server, /opt/XWHEP-worker and /opt/XWHEP-bridge. XWHEP packages (Debian, RedHat, Apple) install XWHEP-something packages and not xtremweb-something package. All previously existing files (scripts, configuration files etc.) keep their “old” names (xtremweb.something) to not disturb those who have already developed over XWHEP.
          2. default socket timeout set to 0
          3. HTTPLauncher, which try to find last JAR version and start the worker has been corrected: it now uses the last JAR on local FS; it now stops immediatly if it can’t write downloaded JAR to local FS ;it has been reported that “-server” java option is not available on all JVM; HTTPLauncher then first tries to launch the worker with that option. On error, it retries without that option.
          4. On server side, inter threads deadlocks corrected on communication layer that lead to “unreachable” or “timed out” communication errors on workers and clients sides.
          5. A bug corrected on server side : it was impossible to reuse an application name, even if the application was deleted
          6. The worker now stores its own UID to its config file so that it does not appear several times in server DB
          7. installer corrected (RPM, DPKG, Apple PKG) because FS tree must belong to worker so that it can write downloaded JAR, if any
        • New feature
          1. The worker can now manage dynamically linked application (and not statically ones only)

      • Apr 6th, 2009 : XWHEP 5.6.2
        • a bug corrected on communication layer regarding URI definitions which lead to connection problems.

      • Mar 12, 2009 : XWHEP 5.6.1
        • the binary distribution has been corrected and augmented; it prepares RPM, Debian and Apple packages for the server, worker and client;
        • a bug corrected on client side regardind job datas.

      • Feb 16th 2009 : XWHEP 5.6.0
        • this version reintroduce the launcher to help deployment and upgrades;
        • this version introduces "binary package".

      • Feb 4th 2009 : XWHEP 5.5.0
        • a memory leak bug solved on server side.

        Next figures show server memory consumption. The 1st one shows version 5.4.0 starving behaviour: after four days, the amount of allocated memory is as up as 382Mb. The 2nd one shows a more stable consumption with version 5.5.0, after six days : the amount is a third of 5.4.0 memory usage.


      • Jan 14th 2009 : XWHEP 5.4.0
        • a bug corrected on I/O layer

        • Dec 16th 2008 : XWHEP 5.3.0
          • on server side, event dates are now corrects (submission date, execution date, completion date etc.)
          • a bug corrected on the bridge.

        • Dec 4th, 2008 : XWHEP 5.2.0
          • a bug corrected on server side, on communication handling : handlers does not hang anymore.

        • Dec 1st, 2008 : XWHEP 5.1.0
          • the EDGeS XWHEP to EGEE bridge now periodiaclly sends a signal to XWHEP servers to facilitate global monitoring;
          • a new script “xtremweb.jra2” has been implemented to monitor known XWHEP servers; this script has specifically been developed for EDGeS JRA2 activity;
          • a bug corrected on server side, on communication handling; it seems that synchronized methods management is JVM implementation dependant;
          • client scripts cleaned;
          • worker configuration page can be used to manage a local pool of workers.

        • Novembre 21st, 2008 :
          • EDGeS bridge from XWHEP to EGEE allowing EGEE resource usage is operational; it is monitored from here.

        • Novembre 17th, 2008 : XWHEP 5.0.0
          • server uses a connection pool to avoid memory starvation. Server can manage up to 500 simultaneous connections. Above the pool size, incoming connections are pending for an available handler;
          • client has a new option –xwxml to provide an XML description file;
          • communication layer has been simplified : there is only one send message for all object kinds;
          • EGEE bridge has been stabilized.

        • Octobre 16th, 2008 : XWHEP 4.1.0
          • a bug corrected on worker side regarding job directory setup

        • Octobre 15th, 2008 : XWHEP 4.0.0
          • client can connect to different servers :
            • client does not include any passphrase and does not code passwords;
            • passwords are not coded any more in config file, nor in database;
            • this does not introduce security hole since communications are encrypted; it is the user responsability to ensure config file security;
            • this lightens compilation which does not require SQL access any more.
          • a bug has been corrected on worker side, regarding data download;
          • notions of groups and sesssions are (re)introduced.
            Groups and sessions aggragate jobs.
            Sessions are automatically removed on client disconnection (client disconnects at shut down or user switch);

          • there is a bug on the client GUI : deleting and downloading several rows is now disabled. This is due to a bug in table sorter; we don’t correct that since Java 6 introduces native table sorters. This will then be corrected when our package will be ported to Java 6;
          • our package is now Java 6 (even if we don’t use Java 6 specific features -see above) and 64Bits compatible.

        • Sept 25th 2008 : XWHEP 3.1.0
          • in the configuration file, the SLKeystore variable can now contain a relatif path;
          • resource owner can open http://localhost:4324 to configure their worker;
          • cache management improved and lightly modified :
            • in general, informations stored in cache are not downloaded from server. There are three exceptions: works, tasks and hosts are always redownloaded from server since these informations are subect to change often;
            • client keeps its cache from run to run. A new command is introduced (xwclean) to clean client cache; this command is also available in the Comm menu of the GUI;
            • the worker cleans its local disk on shut down. Hence, the worker does not keep cache from run to run.
          • a bug solved on server side : memory consumption more stable.

          The JAR file is now also provided. To update you have to

          • copy the JAR file in lib directory and restart your server
          • copy the JAR file where launcher.url, in worker config file, points to; on next reboot workers will automatically download it.

          Next figures show server memory consumption. The 1st one shows a starving behaviour: after 1H30 only, the amount of allocated memory is as up as 78Mb. The 2nd one shows a more stable consumption : the amount is still the initial one at only 31Mb after two hours.


        • Sept 10th 2008 : XWHEP 3.0.0
          • X509 certificate proxy usage to enable resource sharing with institutional grids;
          • synchronization improved: each message now expects an answer from server;
          • performance degradation solved on server side.

          The two next figures show 1000 submissions received by server. We can see the performance degradation on the first one; the 2nde figure shows that degradation is now solved.
          Total execution time is 2.5 times higher because messages now expect an answer from server : this increases synchronization.


           

        • Septembre 1st, 2008 : XWHEP 2.1.0
          • the scheduler has been modified to improve performances. It is not a simple round-robin any longer : it now searches the full task set to try to find a task that could fit worker needs;
          • the autotest script now submits group tasks too.

          The following SQL command shows result more readably

          select apps.name as app,label,
          hex(works.accessrights),hex(apps.accessrights),
          works.status,users.login as worker_login,
          users.rights as worker_level
          from
          works,apps,tasks,hosts,users
          where
          works.appuid=apps.uid and
          works.uid=tasks.uid and
          tasks.hostuid=hosts.uid and
          hosts.owneruid=users.uid
          order by works.label;

          We can see that public worker (which login is worker) has run public jobs only (which labels are public…); private workers (which logins are user…) has run jobs of their own identity only (which labels end by their own login).

          Résultats de l'auto test

           

        • August 29th, 2008 :2.0.0
          • bugs solved on cache management;
          • bugs solved on users and application management, on server side;
          • bugs solved on client GUI;
          • bugs solved on server certificate management.

           

          To install this version, you must reinstall the database.

          The server is now certified by an autosigned SSL key which must be generated by createKeys. Next version will use X.509 certificate certified by a CA.

          Installation and deployment needs following actions (in that order : createKeys must be executed before install).

          $> make removeDB
          $> make installDB
          $> make clean
          $> make
          $> make createKeys
          $> make install

          For a production deployment, keys must be safelly stored, otherwise (if you lose or accidentally regenerate keys) a full re-deployment is necessary.

          Electronic key usage has a cost in terms of communication.
          Figure on the left shows the necessary TCP packet amount without SSL. Figure on the right shows the one with SSL : the packet amount is as twice.

          TCP paquets amount without SSL
          TCP paquets amount with SSL

           

          A script to auto test the platform is now provided in bin repertory:

          $> xtremweb.tests.pl

          You must have the platform privileged rights to run the script (as provided by the default client config file).

          The script does the following:

          • insert a new public application
          • insert two new user groups
          • insert 6 new users : two users per group and two users with no group
          • insert a private application per user
          • insert 12 jobs : on private and one public per user
          • launch one public and 6 private workers on local host
          • jobs monitoring

          At the end of the script, we can see that all jobs are COMPLETED.
          We can verify this with the following SQL command (we can’t check this with the client because the client does not show worker identity for each job) :

          select works.status,works.label,hosts.name,users.login
          from users,works,tasks,hosts
          where tasks.uid=works.uid
          and tasks.hostuid=hosts.uid and
          hosts.owneruid=users.uid
          order by users.login;

          Next figure shows auto test results.

          We can see that public worker (which login is worker) has run public jobs only (which labels are public…); private workers (which logins are user…) has run jobs of their own identity only (which labels end by their own login).

          Autotest results

           

        • July 30th, 2008: you can download the MSDev deploiement solution
        • July 24th 2008 : 1.2.0

          A bug found on worker side, in standard input (stdin) management.

          There is still a problem if user application test stdin availability. There is great chance that the platform has not had time to set stdin correctly before the application test.

          This is due to Java langage used to develop the platform.

          User application developpers should not test stdin but just read it. If data availability from stdin is only an option for the application, please use a text file instead.

          Example:

          Next works correctly if myApp reads from stdin, but does not test stdin

          $> myApp < aFile

          Otherwise, if data from stdin is optionnal, please modify your application so that you can retreive your optionnal datas from a text file; just like in:

          $> myApp -f aFile

          Sorry for inconveniences.

           

        • July 21st 2008 : 1.1.0
          • introducing X.509 proxy management
          • a bug solved on client side, on data download

          To install this version, you must reinstall the database

          $> make removeDB
          $> make installDB
          $> make install

           

        • July 17th 2008 :1.0.31
          • a bug found on worker side, on error management
          • a bug found on input/output
          • the worker HTML page is now customizable
          • performances improved thanks to a better cache management

            Next figures show 1000 job submissions. We can see that I/O correction and cache usage need four times less internal calls for an execution 14 times faster.


        • Jun 19th 2008 : 1.0.30

          A major bug found on task management, on server side.

        • May 22nd 2008 : 1.0.29

          Three bugs corrected

          • config output when inserting a new user;
          • tasks downloads;
          • datas URI.
        • May 7th, 2008 : 1.0.28

          Minor clean up only.

        • Apr 28th, 2008 : version 1.0.27 successfully tested on Grid5000 : 12000 jobs executed over 200 workers
        • Apr, 25th 2008 : 1.0.27

          Bug resolved in result storage protocol.

        • Apr, 23th 2008 : 1.0.26

          Bug resolved in data submission on client side.

        • Apr, 17th 2008 : 1.0.25

          A database access bug resolved.

        • Apr, 15th 2008 : 1.0.24

          We don’t use log4j any more, since we suspect memory leaks.

        • Apr, 8th 2008 : 1.0.23

          A bug resolved on result upload on worker side.

        • Apr, 4th 2008 : 1.0.22

          A bug resolved on communication layer.

        • Apr, 3rd 2008 : 1.0.21

          A bug resolved on worker side.

        • Apr, 2nd 2008 : 1.0.20

          A bug resolved on client side; result download works corretly now.

        • Apr, 1st 2008 : 1.0.19

          The client automatically creates datas when submiting jobs with stdin and/or environment.

        • Mar 17th 2008 : a bug on communication delays resolved.
        • Feb 20th 2008 : a bug on HTTP layer is under expertize; TCP layer is the default one until further notification.
        • Feb 7th 2008 : two bugs solved :
          • inter thread synchronization on server side;
          • public/private IP resolution.
        • Jan 25th 2008 : the scheduler has been debugged; it now correctly manages private, group and public applications and workers:
          • public worker has "WORKER_USER" user rights; it can manage public jobs only (jobs access rights includes o+rx);
          • group worker is a public worker (with "WORKER_USER" user rights) belonging to a group; it can manage group jobs only (jobs access rights includes g+rx);
          • private worker is a non public worker (without "WORKER_USER" user rights) and can manage its own user jobs only (jobs access rights includes u+rx)
        • Jan 16th 2008 : a bug found on client level;
        • Jan 11th 2008 : a bug found on DB management;
        • Jan 8th 2008 : installers ready; client debugged;
        • Dec 21th 2007 : The middleware answers to requirements. Deeper tests under process;
        • Nov 26th 2007 : The middleware is on last testings.

      Versions antérieures

      • 1er septembre 2010 : XWHEP 6.0.2
        • Corrections

          1. un bug corrigé dans le script xwtar.sh qui génère l’archive des fichiers sources (cette archive est maintenant correctement générée).
      • 19 juillet 2010 : XWHEP 6.0.1
        • Corrections

          1. cette version insère les scripts de vérification et de configuration de la base de données qui étaient manquant dans la version 6.0.0
      • 8 juillet 2010 : XWHEP 6.0.0
        • Corrections

          1. un bug corrigé au niveau du téléchargement des données : si un fichier n’est pas disponible au niveau du serveur, la partie distribuée (worker, client) en est correctement informée
          2. un bug corrigé dans la gestion du signal “alive” du côté du serveur
          3. un bug corrigé dans les paquets d’installation
          4. xwversion retourne 1 si le client devrait être mis à jour
          5. un bug corrigé dans la gestion des données (WIN32 worker)
          6. xwconfigure introduit les paramètres –newkeystore et–newalias. Par
            défaut les keystores sont crées s’ils n’existe pas et restent inhangés sinon.

            • –newkeystore peeut être utilisé pour forcer la regénération du keystore. Ceci annule tout déploiement éventuel.
            • –newalias peut être utilisé pour créer un nouvel alias dans le keystore existant.
              Ceci permet d’utiliser un déploiement au delà de la date d’expiration du keystore en cours.
        • Nouvelles fonctionnalités

          1. paquets RPM et Debian pour le client
          2. nouvelles colonnes dans la table “Host”
            • -osversion
            • -javaversion
            • -javadatamodel
          3. la définition des applications permet désormais de gérer les binaires Windows X86_64
          4. Java 6 SystemTray
      • 30 juin 2010 : XWHEP 5.9.1
        • Corrections

          1. un bog corrige dans les requêtes SQL
      • 28 avril 2010 : XWHEP 5.9.0
        • Corrections

          1. mise à niveau des installeurs Mac OS X : ils sont maintenant compatible toutes versions (y compris 10.6)
          2. le (un)marshalling XML amélioré : gain des performances jusqu’à 20% (voir ci après)
          3. Les scripts xwhepgenserverkey, xwhepgenworkerkey, xwhepgenclientkey sont remplacés par le seul script xwhepgenkeys qui est automatiquement généré par xwconfigure
        • Nouvelles fonctionnalités

          la plate-forme est maintenant capable de mettre automatiquement à jour la clé publique du serveur. Cette fonctionnalité doit être mise en oeuvre avant que la clé actuelle n’expire.

          • Sujet : utiliser un déploiement au delà de la validité de la clé initiale du serveur.
          • Quoi: distribuer automatiquement la clé publique du serveur aux workers et (sur demande) aux clients.
          • Quand: avant que la clé actuelle du serveur n’expire
          • Comment :
            1. créer une nouvelle clé pour le serveur avec le script xwhepgenkeys
            2. insérer le keystore du worker ainsi mis à jour (containant donc les clés publiques du serveur actuelles et nouvelles) en tant que donnée publique
            3. arrêter le serveur
            4. positionner la variable keystore.uri dans le fichier xtremweb.server.conf
            5. redémarrer le serveur
          • Securité : La sécurité est toujours assurée :
            • les workers et les clients doivent posséder la clé actuelle du serveur pour pouvoir télécharger le nouveau keystore
            • le téléchargement est crypté
            • les workers et les clients doivent présenter une identité valide pour ce téléchargement
            • le keytore distribué ne contient que des clés publiques

        XML un/marshalling has been improved. This results to an 20% performances increase as shown in the two next figures which represent the client execution time to retreive 1000 jobs from server of our XWHEP deployment at LAL. In the first figure we can see that the client needed more than 100 seconds using XWHEP 5.8.0; in the second figures less than 80 seconds is now needed using XWHEP 5.9.0.



      • 5 mars 2010 : XWHEP 5.8.2
        • Corrections

          1. un bug corrigé les scripts d’initialisation
      • 26 février 2010 : XWHEP 5.8.1
        • Corrections

          1. le script xwhep.bridge.pl a été corrigé pour être compatible avec les versions 5.8.x
      • 24 février 2010 : XWHEP 5.8.0
        • Corrections

          1. le script xtremweb.tests.pl a été corrigé
          2. worker : un bug corrige dans l’envoi des résultats
          3. serveur : l’ordonnanceur peut être défini dans le fichier de config et chargé au lancement
          4. l’ordonnanceur a été totalement réécrit: il était buggé, conceptuellement erroné et ne gère pas les tâches équitablement entre les utilisateurs. Dans cette version, l’ordonnanceur :
            • n’utilise plus de cache DB pour éviter des fuites de mémoires
            • améliore l’utilisation des requêtes SQL
            • a l’entière responsabilité de la gesion des tâches:
              • retreive() passe les tâches de WAITING a PENDING
              • select() gère les tâches PENDING sur requête des workers
            • toutefois cette version ne gère toujours pas les tâches équitablement entre les utilisateurs (on est toujours en 1er arrivé 1er servi 🙁 )
          5. les logins des utilisateurs peuvent être réutiliser (le login d’un utilisateur effacé peut être réutilisé pour un nouvel utilisateur)
          6. les noms des groupes d’utilisateurs peuvent être réutiliser (le nom d’un groupe effacé peut être réutilisé pour un nouveau groupe)
          7. les mots de passe ne transitent plus
          8. les processeurs X86_64 sont correctement pris en charge pour les machines Apple
          9. des fuites de mémoires ont été corrigées au niveau du serveur. Les graphes ci dessous montrent l’utilisation de la mémoire par le serveur. Le 1er montre une utilisation trop importante avec la version 5.7.7 : il utilise jusqu’à 600Mb. Le 2nd montre une utilisation beaucoup plus raisonnable et surtout très stable avec la version 5.8.0 : le server se contente de 288Mb.


        • Nouvelles fonctionnalités.

          Certaines nouvelles fonctionnalités sont introduites afin d’améliorer le confinement et la sécurité.

          • les droits utilisateurs ont été légèrement modifiés: ADVANCED_USER permet de gérer des groupes utilisateurs. Conséquences : pour chaque groupe, il faut définir un administrateur pour gérer ce groupe (users, applications)
          • tout objet peut maintenant être confiné: ils ont tous les champs OWNERUID et ACCESSRIGHTS (AR).
          • xwchmod s’applique donc à tout objet

          Conséquences :

          • les identités administrator et worker sont privées (AR : 0x700) et n’apparaissent donc pas avec la commande xwusers
          • on peut confiner les groupes utilisateurs (AR: 0x750)
          • les utilisateurs d’un groupe hérite leurs AR de leur group
          • les utilisateurs doivent être insérés par l’administrateur du groupe (cad que leur OWNER doit être l’admin du groupe)
          • les utilisateurs d’un group confinés ne sont listés que pour les membres du groupe
          • on insère désormais un group en fournissant l’admin comme ceci:
            $> xwsendusergroup MyGroupLabel theGroupAdminLogin theGroupAdminPassword theGroupAdminEmail

            Un groupe non confiné fonctionne comme dans les versiosn précédentes.

          • Cette version introduit un système de versionning. Tous les messages (requêtes, réponses) sont maintenant encapsulés dans un élément racine ...
            De telle manière que la version soit maintenant incluse dans le protocole.
            Des champs ont été modifiés/renommés/ajoutés/retirés dans cette version : les objects ont tous les champs OWNERUID and ACCESSRIGHTS. Certains avec un champ CLIENTUID or USERUID qui ont été renomés OWNERUID.

            Bien sûr, les versions précédentes ne peuvent pas connaitre ces changements. A partir de cette versions 5.8.0 le protocole sait tenir compte de la version des clients/workers. S’ils envoient un message sans l’element XML xwhep c’est qu’ils tournent une version plus ancienne que la 5.8.0 et le serveur retrourne alors un réponse compatible.

      • 20 décembre 2009 : XWHEP 5.7.7
        • Corrections

          1. workpoolsize est forcé à 1 suite à des problèmes de concurrence d’accès avec une valeur supérieure
          2. un bug corrigé dans Executor streams
          3. un bug corrigé dans la gestion des tâches perdues
        • Nouvelle fonctionnalité
          • -AUCUNE-
      • 1er décembre 2009 : XWHEP 5.7.6
        • Corrections

          1. communications TCP : un bug résolue au niveau de la reconnection suite à une erreur réseau
          2. XWHEP 5.7.5 a introduit la notion de limite dans le nombre d’entrées du niveau du cache (à 10K entrées), mais l’implémentation était buggée : elle a été corrigée. Le cache gère désormais ses entrées en utilisant le mode LRU (least recently used)
          3. serveur : la détection des tâches perdues se faisaient toutes les 15s, ce qui n’est absolument pas nécessaire; cette nouvelle version effectue la vérification toutes les ALIVETIMEOUT minutes (default : 5mn).
          4. un bug corrigé dans l’access logger : il n’ouvre maintenant qu’un seul fichier et non un par thread.
          5. xtremweb.gmond.pl a été corrigé et “scale” mieux
          6. les certificats n’ont plus de dates de fin (pour faciliter le déploiement)
          7. xwconfigure corrigé : la génération des fichiers de configuration a été améliorée
          8. installeurs linux corrigés
          9. les scripts ont été corrigés : l’usage de “type” a été amélioré
          10. le scheduler rafraichit sa liste des tâches avec les PENDING seulement
        • Nouvelle fonctionnalité
          • -AUCUNE-
      • 15 octobre 2009 : XWHEP 5.7.5
        • Corrections

          1. Launcher corrigé : il ne démarre plus si la clé SSL est incorrecte ou si l’URL est malformé.
          2. La gestion des paths a été corrigé dans le Launcher
          3. les messages d’erreur du worker sont plus détaillés.
          4. le worker a été corrigé: en cas de problème réseau au moment où le worker envoyait un résultat, le résultat était perdu et le worker n’etait plus capable de redemander un nouveau job.
          5. gestion des paths améliorée dans xwconfigure
          6. xwhep.bridge.pl modifié : il peut désormais se connecter directement à MySQL et n’est donc plus oblige d’utiliser le client XWHEP (on espère un gain de performances)
          7. xtremweb.gmond.pl : connexions MySQL corrigées
          8. un bug résolu au niveau du serveur : les connexions MySQL étaient mal fermées; on pouvait se retrouver avec énormément de sockets en TIME_WAIT
          9. un bug résolu dans la librairie E/S : tous les handlers sont maintenant correctement fermés en cas d’erreur/exception
          10. un bug résolu dans le cache : il ne peut plus contenir plus de 10k entrées
          11. les scripts ont été glabalement corrigés : il est préférable d’utiliser ‘type’ et non ‘which’ dans les scripts bash/sh
          12. du côté du client, xwchmod accepte aussi les UID (et pas seulement les URI)
          13. build corrigé : il génère correctement la version x86_64
          14. on n’utilise plus String.intern() parce que cela peut générer des exceptions “OutOfMemory in PermGen” (Cf http://www.codeinstructions.com/2009/01/busting-javalangstringintern-myths.html)
          15. les utilisateurs admin et worker public ne sont plus inséré dans aucun groupe (parce que ca n’était pas utilisé et pouvait porter à confusion)
        • Nouvelles fonctionnalités

            aucune
        • 31 juillet 2009 : XWHEP 5.7.4
          • Corrections

            1. enregistrement des workers améliorée : on garde la version des workers
            2. un bug corrigé dans l’ordonnanceur : il ne parcourait pas la liste complete des tâches
            3. des bugs résolus dans xtremweb.ganglia :
              • les process “forkés” terminent maintenant correctement;
              • utilisation du champ “isdeleted” dans les tables DB
            4. xwhep.bridge.pl corrigé et légèrement modifié : n’est plus considéré comme erreur le fait qu’un pilot job n’execute pas de tâche (Cf XWHEP-5.7.2, point 8)
            5. des bugs corrigés dans le worker Win32 dans l’utilisation des paths et de l’option java -Xrs (Cf http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html)
            6. un bug corrigé dans le launcher : il ne doit pas effacer les JAR de mise à jour
          • Nouvelles fonctionnalités
            1. des scripts SQL pour vérifier l’état de la plate-forme à travers la DB
            2. des scripts pour upgrader la DB
        • 9 juillet 2009 : XWHEP 5.7.3
          • Corrections
            1. un bug corrigé dans la définition de la base de données
              • la longueur des champs et “hosts.natedipaddr” sont maintenant 50 (et non 20) pour permettre de stocker des adresses IP V6
              • introduction d’une nouvelle table “Version” qui contient l’historique des version installées
              • un nouveau champ “hosts.pilotjob” permet de déterminer si un worker s’exécute sur une ressource de type SG (ex : EGEE)
              • le script xwsetupdb.sql modifie les tables en conséquence
              • le script xwconfigure modifie les tables de manière non destructive
            2. un bug corrigé dans la génération des dates sotckées dans la base de données (date d’insertion, date de completion etc.)
          • 17 juin 2009 : XWHEP 5.7.2
            • Corrections
              1. un bug corrigé dans le bridge
              2. les installeurs Linux RPM et DEBIAN, ainsi que Mac OS X écrivent désormais leurs logs dans le répertoire /var/log
              3. la gestion des variables de configuration a été améliorée
              4. la variable KeyStore n’était pas correctement initialisée; elle peut désormais être indiferemment lue du fichier de configuration ou du paramètre Java -Djavax.net.ssl.keyStore
              5. un bug a été corrigé dans la gestion des erreurs MySQL
              6. l’utilisation des groupes de job a été corrigée
              7. un bug a été corrigé au niveau de l’ordonnanceur
              8. l’utilisation des certificats X509 a été modifiée conformément aux décisions prises par EDGeS.
                Le client vérifie maintenant automatiquement le contenu de la variable d’environnement $X509_USER_PROXY; le paramètre “–xwcert” n’est donc plus nécessaire
                En utilisant “–xwcert”, le certificat doit être valide, à défaut de quoi le job n’est pas soumis.
                Si le certificat décrit par $X509_USER_PROXY n’est pas valide, le job est soumis sans certificat. Tout worker, même s’il n’est pas un Pilot Job sur EGEE, peut désormais exécuter un job, même s’il a été soumis avec un certificat.
                Les Pilot Jobs sont des workers privés et peuvent donc exécuter tout job du propriétaire du certificat.

                Les workers (même les Pilot Job soumis sur EGEE) ne téléchargent jamais de certificat X509.
                Seul le bridge télécharge les certificats pour soumettre les pilot Job sur EGEE.

              9. Un bug a été corrigé dans la gestion des handlers de communications (ce qui a permis d’intégrer ADICS)
            • Nouvelle fonctionnalité
              1. XWHEP intègre le protocole ADICS de l’Université de Cardiff.
                Cf http://www.p2p-adics.org.
                Ceci est donc une nouvelle fonctionnalité “externe” :

                • l’intégration de nouveau protocoles dans XWHEP existe en effet depuis longtemps
                • nous restons donc dans la branche 5.7.x
          • 25 mai 2009 : XWHEP 5.7.1
            • Note : cette version est nommée 5.7.1 et non 5.6.4 parce que la version 5.6.3 a introduit une nouvelle fonctionnalité et aurait du être nommée 5.7.0.
              Je corrige donc cette erreur de versionning ici.

            • Corrections
              1. xwconfigure boucle désormais jusqu’à ce que l’utilisateur donne une valeur correcte.
              2. La création des fichiers archives a été corrigée:
                *ps les fichiers *PS étaient exclus de l’archive ce qui excluaient "xwapps", "xwgroups" etc.

              3. les scripts du worker pour Mac OS X ont été corrigés
              4. les installeurs pour Mac OS X ont été corrigés. Les erreurs étaient dues à l’utilisation de NetInfo qui n’est plus supporté depuis Mac OS 10.5. NetInfo est maintenant remplacé par Directory Service qui est compatible 10.4 et 10.5. Nous avons testé 10.4.11 et 10.5.7.
              5. la gestion des paths a été corrigé sous Win32
              6. les projets Win32 innoSetup ont été corrigés
          • 7 mai 2009 : XWHEP 5.6.3
            • Corrections
              1. Afin d’éviter d’éventuelles confusions entre XtremWeb et XWHEP, ce dernier installe désormais ses paquets dans /opt/XWHEP-server, /opt/XWHEP-worker and /opt/XWHEP-bridge. Les paquets XWHEP (Debian, RedHat, Apple) installent les paquets XWHEP-quelquechose et non plus xtremweb-quelquechose. Les fichiers qui existaient avant cette release (les scripts, les fichiers de configuration etc.) gardent leur “ancien” nom (xtremweb.quelquechose) pour ne pas perturber ceux qui ont déjà développé avec XWHEP.
              2. les timeout des sockets est nul par défaut
              3. HTTPLauncher, qui télécharge automatiquement la dernière version du middlewareavant de démarrer le worker a été corrigé : il utilise maintenatn le fichier le plus récent présent sur le disque local; il s’arrête immédiatement s’il ne peut accéder au disque local; l’utilisation de l’option java “-server” aété corrigée.
              4. des “deadlocks” ont été corrigé, au niveau du server.
              5. un bug a été corrigé au niveau de la gestion des noms des applications
              6. le worker garde maintenant son UID afin d’éviter de remplir inutilement la DB du server
              7. les installeurs ont été corrigés (RPM, DPKG, Apple PKG)
            • Nouvelle fonctionnalité
              1. le worker peut maintenant prendre en charge des applications et leurs librairies dynamtiques

          • Mar 26, 2009 : XWHEP 5.6.2
            • un bug a été résolu au niveau de l’utilisation des URI.

          • 12 mars 2009 : XWHEP 5.6.1
            • la distribution binaire a été corrigée et augmentée; elle prépare les paquets RPM, Debian et Apple pour le serveur, le worker et le client;
            • un bug corrigé au niveau du client quant à l’envoi des fichiers associés aux jobs.

          • 16 février 2009 : XWHEP 5.6.0
            • cette version règle le problème de la mise à jour de la plate-forme en réintroduisant le launcher;
            • cette version est la première à fournir un paquet "binaire".

          • 4 février 2009 : XWHEP 5.5.0
            • un bug a été résolu au niveau du serveur : la consommation mémoire a été améliorée.

            Les deux figures montrent la quantité de mémoire utilisée par le serveur. La 1ere figure montre une voracité croissante avec la version 5.4.0: après quatre jours, la quantité de mémoire allouée s’élève à 382Mb. La 2nde figure montre une consommation plus raisonnable avec la version 5.5.0: après six jours, la quantité de mémoire allouée est trois fois moins importante.



          • 14 janvier 2009 : XWHEP 5.4.0
            • un bug a été corrigé au niveau de la couche des entrées/sorties

          • 16 décembre 2008 : XWHEP 5.3.0
            • au niveau du serveur, les dates des évènements sont maintenant correctes (date de soumission, date d’exécution, date de résultats…)
            • un bug a été corrigé au niveau du bridge.

          • 4 décembre 2008 : XWHEP 5.2.0
            • dans le serveur, un bug a été corrigé au niveau des communications; le serveur de communication ne se fige plus.

          • 1er décembre 2008 : XWHEP 5.1.0
            • le bridge envoit désormais un signal au serveur à des fins de monitoring;
            • un nouveau script xtremweb.jra2 permet de monitorer un ensemble de serveurs XWHEP installés; ce script a été spécialement développé pour le JRA2 de EDGeS;
            • dans le serveur, un bug a été corrigé au niveau des communications; il semblerait que la gestion des méthodes synchronisées soit dépendant de la JVM utilisée;
            • les scripts de lancements des différentes commandes du client ont été nettoyés;
            • la page de configuration du worker peut être utilisée pour gérer un parc local de workers.

          • 21 novembre 2008 :
            • La passerelle EDGeS de XWHEP à EGEE permettant l’utilisation de ressources EGEE est operationnelle; elle peut être monitorée ici.

          • 17 novembre 2008 : XWHEP 5.0.0
            • le serveur gère désormais un pool de connexions afin d’en gérer jusqu’à 500 simultanément; s’il y en a plus, elles sont mises en attente. Ceci permet d’éviter d’éventuels manques de mémoire;
            • le client admet une nouvelle option –xwxml : elle permet de fournir un fichier XML en entrée;
            • la couche de communication a été simplifiée : il n’y a plus qu’un seul message send pour tous les types d’object;
            • le bridge a été stabilisié.

          • 16 octobre 2008 : XWHEP 4.1.0
            • un bug corrigé au niveau du worker relatif à la préparation du répertoire de travail des jobs.

          • 15 octobre 2008 : XWHEP 4.0.0
            • les clients peuvent maintenant se connecter à plusieurs serveurs; pour cela:
              • le client ne contient plus de passphrase et n’essaie plus de coder les mots de passe;
              • les mots de passe ne sont donc plus codés dans le fichier de config, ni que dans la base de données;
              • ceci n’introduit pas de trou de sécurité car les communications sont cryptées; il est de la responsabilité de l’utilisateur d’assurer l’intégrité de son fichier de config;
              • pour finir, ceci allège la compilation et l’installation qui n’a plus besoin de SQL.
            • un bug a été corrigé au niveau du worker dans le téléchargement des donnéees;
            • les notions de groupes et de sessions de jobs ont été réintroduites.
              Les groupes et les sessions permettent d’aggréger un ensemble de jobs.
              La seule différence réside en ce que les sessions sont automatiquement détruites quand le client se déconnecte (il se déconnecte en s’arrêtant ou quand change d’utilisateur);

            • la GUI du client ne permet plus la selection de plusieurs lignes (par ex pour effacer les lignes ou pour télécharger les résultats). Ceci est du à un bug dans le table sorter. Cette erreur sera corrigé en portant notre logiciel sous Java 6 qui introduit des table sorter natifs;
            • notre package est maintenant compatble Java 6 sans en utiliser les nouveautés (voir ci dessus); il est aussi compatible 64 bits.

          • 25 septembre 2008 : XWHEP 3.1.0
            • dans le fichier de configuration, SSLKeyStore peut maintenant être un chemin relatif;
            • les propriétaires des ressources volontaires peuvent configurer leur worker en ouvrant la page http://localhost:4324;
            • la gestion du cache a été améliorée et légèrement modifée :
              • de manière générale les informations présentes dans le cache ne sont pas retéléchargées depuis le serveur; à trois exception près : les works, tasks et hosts qui sont toujours rechargés depuis le server, car ce sont des informations susceptibles de changer souvent;
              • le client garde son cache entre deux exécutions. Une nouvelle commande xwclean permet de nettoyer le cache local; cette commande est disponible dans le menu Comm de la GUI.
              • le worker efface toute trace du disque local avant de s’arreter; il ne garde donc pas de cache entre deux exécutions;
            • un bug a été résolu au niveau du serveur : la consommation mémoire a été améliorée.

            Le fichier JAR est disponible. Pour mettre à jour, vous devez:

            • copier le fichier JAR dans le répertoire lib et redémarrer votre serveur;
            • copier le fichier JAR à l’endroit défini par la variable launcher.url, dans le fichier de configuration du worker; les workers le téléchargeront automatiquement à leur prochain lancement.

            Les deux figures montrent la quantité de mémoire utilisée par le serveur. La 1ere figure montre une voracité croissante: après seulement 1H30, la quantité de mémoire allouée s’élève déjà à 78Mb. La 2nde figure montre une bonne stabilité: après plus de deux heures, la quantité de mémoire allouée n’a pas bougé de son niveau initial de 31Mb.


          • 10 septembre 2008 : XWHEP 3.0.0
            • utilisation des proxy de certificat X509 pour l’utilisation de ressources de grilles institutionnelles;
            • la synchronisation a été améliorée : tout message attend maintenant une réponse du serveur;
            • la dégradation des performances constatée au niveau du serveur a été corrigée.

            Les deux figures montrent la réception de 1000 soumissions par le serveur. La 1ere figure montre clairement une dégradation des performances; elle disparait dans la 2nde figure avec les corrections.
            Le temps total d’exécution est 2.5 fois supérieur car les messages attendent maintenant tous une réponse du serveur : ceci améliore la cohérence de la plate-forme.

             

          • 1er septembre 2008 : XWHEP 2.1.0
            • l’ordonnancement des tâches a été modifié afin d’ameliorer les performances. Ce n’est plus du simple round-robin: l’ordonnanceur fouille la liste des tâches en attente afin d’essayer de trouver un qui corresponde à la demande du worker;
            • le script de test a été modifié : il soumit aussi des tâches de groupes.

            La commande SQL suivante permet de mieux voir les résultats

            select apps.name as app,label,
            hex(works.accessrights),hex(apps.accessrights),
            works.status,users.login as worker_login,
            users.rights as worker_level
            from
            works,apps,tasks,hosts,users
            where
            works.appuid=apps.uid and
            works.uid=tasks.uid and
            tasks.hostuid=hosts.uid and
            hosts.owneruid=users.uid
            order by works.label;

            On voit que le worker public (dont le login est worker) n’a pris en charge que des jobs publics (dont le label est public…); les workers privés (dont les logins sont user…) n’ont pris en charge que les jobs leur appartenant (dont les labels finissent par leur login).

            Résultats de l'auto test

             

          • 29 août 2008 : XWHEP 2.0.0
            • des bugs résolus dans la gestion du cache;
            • des bugs résolus au niveau du serveur dans la gestion des utilisateurs et des applications;
            • des bugs résolus dans la GUI du client;
            • des bugs résolus dans l’utilisation de la clé électronique du serveur.

             

            Le server est désormais certifié par une clé autosignée générée par createKeys. La prochaine version permettra d’utiliser des certificats X.509 certifiés par une CA.

            Pour installer cette version, il est nécessaire de réinstaller la base de données.

            L’installation et le déploiement nécessitent les actions suivantes dans cet ordre précis (createKeys doit être exécuté avant install).

            $> make removeDB
            $> make installDB
            $> make clean
            $> make
            $> make createKeys
            $> make install

            Pour un déploiement de production, les clés ne doivent être générées qu’une seule fois; la regénération des clés nécessite un redéploiement complet de la plate-forme.

            L’utilisation de SSL a un coût en termes de communication dans un rapport de un à deux. La figure de gauche montre le nombre de paquets TCP sans utiliser SSL; la figure de droite montre le nombre de paquets TCP pour la même commande en utilisant SSL :

            Paquets TCP sans clé électronique
            Paquets TCP avec clé électronique

             

            Un script de test de la plate-forme est fourni dans le répertoire bin de l’installation

            $> xtremweb.tests.pl

            L’utilisation de ce script nécessite les droits administateur au niveau de la plate-forme (le fichier de config crée à l’installation poossède ces droits).

            Ce script éxecute les commandes suivantes:

            • insertion d’une application publique
            • insertion de deux groupes d’utilisateur
            • insertion 6 nouveaux utilisateurs : deux utilisateurs par groupe et deux utilisateurs hors de tout groupe
            • insertion d’une application privée par utilisateur
            • insertion de 12 jobs : un job public et un job privé par utilisateur
            • lancement de workers
            • monitoring des jobs

            A la fin du script, nous pouvons constater que tous les jobs sont COMPLETED. On peut vérifier la bonne exécution du test avec la commande SQL suivante (nous ne pouvons utiliser le client pour cette vérification, car il n’affiche pas l’identité des workers dans la liste des jobs) :

            select works.status,works.label,hosts.name,users.login
            from users,works,tasks,hosts
            where tasks.uid=works.uid
            and tasks.hostuid=hosts.uid and
            hosts.owneruid=users.uid
            order by users.login;

            La figure suivante montre le résultat de l’auto test.

            On voit que le worker public (dont le login est worker) n’a pris en charge que des jobs publics (dont le label est public…); les workers privés (dont les logins sont user…) n’ont pris en charge que les jobs leur appartenant (dont les labels finissent par leur login).

            Résultats de l'auto test

             

          • 30 juillet 2008 vous pouvez télécharger le projet de déploiement MSDev
          • 24 juillet 2008 : XWHEP 1.2.0

            Un bug a été résolu dans le worker, au niveau de la gestion de l’entrée standard (stdin) de l’application utilisateur.

            Il reste toutefois un problème non résolu si cette application tente de tester la disponibilité de données dans stdin. Il y a alors une grande chance que la plate-forme n’ai pas eu le temps de positionner correctement stdin.

            Ce problème est du au language Java utilisé pour développer notre plate-forme.

            L’application utilisateur ne doit donc pas tester la disponibilité de données sur stdin, mais se contenter de le lire. Dans le cas où stdin est optionnel, il faut alors modifier l’application afin qu’elle prenne ses éventuelles données depuis un fichier texte.

            Exemple:

            L’exemple suivant marche correctement si myApp ne teste pas stdin:


            $> myApp < aFile

            Si stdin est optionnel, il faut modifier l’application afin de lui fournir ces données optionnelles depuis un fichier texte; par exemple:


            $> myApp -f aFile

            Désolé pour les inconvénients.

             

          • 21 juillet 2008 : XWHEP 1.1.0
            • introduction de la gestion des proxy de certificat X.509
            • un bug a été résolu au niveau du téléchargement des données.

            Pour installer cette version, il est nécessaire de réinstaller la base de données

            $> make removeDB
            $> make installDB
            $> make install

             

          • 17 juillet 2008 : XWHEP 1.0.31
            • un bug résolu au niveau du worker dans la gestion des erreurs
            • un bug résolu au niveau des entrées/sorties
            • la page HTML du worker est maintenant configurable
            • les performances ont été améliorées dans un rapport de 1 à 14 grâce à une meilleure utilisation des caches

              Les graphes ci dessous montrent deux soummissions de 1000 jobs. Nous voyons que la résolution du bug des E/S et l’utilisation du cache permettent de faire quatre fois moins d’appels internes pour un temps d’exécution 14 fois plus rapide.


          • 19 juin 2008 : XWHEP 1.0.30

            Un bug majeur résolu au niveau du serveur dans la gestion des tâches

          • 22 mai 2008 : XWHEP 1.0.29

            Trois bugs corrigés

            • l’output config quand on insere un nouveau user;
            • le téléchargement des tasks;
            • l’URI des datas.
          • 7 mai 2008 : XWHEP 1.0.28

            Du nettoyage mineur

          • 28 avril 2008 : la version 1.0.27 a été testée avec succès sur Grid5000 : 12000 jobs exécutés sur 200 workers
          • 25 avril 2008 : XWHEP 1.0.27

            Un bug a été résolu dans le protocole de stockage des résultats.

          • 23 avril 2008 : XWHEP 1.0.26

            Un bug a été résolu au niveau du client, dans la soumission des données.

          • 17 avril 2008 : XWHEP 1.0.25

            Un bug a été résolu au niveau de l’accès à la base de données.

          • 15 avril 2008 : XWHEP 1.0.24

            Nous n’utilisons plus log4j, car nous suspectons des fuites de mémoires.

          • 8 avril 2008 : XWHEP 1.0.23

            Un bug résolu au niveau de l’upload des résultats par le worker.

          • 4 avril 2008 : XWHEP 1.0.22

            Un bug résolu au niveau des communications.

          • 3 avril 2008 : XWHEP 1.0.21

            Un bug résolu au niveau du worker.

          • 2 avril 2008 : XWHEP 1.0.20

            Le client récupère correctement les résultats.

          • 1 avril 2008 : XWHEP 1.0.19

            Lors de la soumission, on peut maintenant fournir directement un fichier d’environnement; le client crée automatiquement la donnée correspondante.

          • 17 mars 2008 : un bug sur les délais de communication a été résolu.
          • 20 février 2008 : les communications HTTP contiennent un bug en cours de résolution; les communications TCP sont donc les communications par défaut pour le moment.
          • 7 février 2008 : deux bugs ont été résolus :
            • synchronisation inter threads au niveau du serveur;
            • résolution des IP publiques/privées.
          • 25 janvier 2008 : l’ordonnanceur fonctionne maintenant correctement; il tient compte des applications et des workers publics, de groupe ou privés:
            • le worker public possède les droits d’utilisateur "WORKER_USER"; il ne peut prendre en charge que des jobs publics (des jobs dont les droits d’accès contiennent o+rx);
            • le worker de groupe est un worker public (droit utilisateur "WORKER_USER") inséré dans un groupe; il ne peut prendre en charge que des jobs du groupe (des job dont les droits d’accès contiennent g+rx);
            • le worker privé est worker non public (qui n’a pas les droits utilisateurs "WORKER_USER") et ne peut prendre en charge que les jobs de son propre utilisateur (des jobs dont les droits d’accès contiennent u+rx)
          • 16 janvier 2008 : un bug a été résolu au niveau client;
          • 11 janvier 2008 : un bug a été résolu au niveau de la base de données;
          • 8 janvier 2008 : les installers fonctionnent correctement; des bugs ont été résolus au niveau du client;
          • 21 décembre 2007 : Le middleware fonctionne correctement; des tests plus approfondis sont en cours;
          • 26 novembre 2007 : Le middleware est en tests finaux.

          XtremWeb-HEP 7.5.0 deployed at LRI

          The LRI deployment has been updated in 7.5.0.

          You can download the client.

          You can dowload the worker.

          XtremWeb-HEP 7.5.0 déployé au LRI

          La plate-forme du LRI a été mise à jour en 7.5.0.

          Vous pouvez télécharger le client.

          Vous pouvez télécharger le worker.