swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

HDF5-1.2.2 and swarm-2000-07-21 RPMS available


From: Paul E Johnson
Subject: HDF5-1.2.2 and swarm-2000-07-21 RPMS available
Date: Sat, 22 Jul 2000 12:26:31 -0500

Dear Friends in Swarm who use RPMs on RedHat or similar GNU/Linux
systems: I got some goods for you.

You need the new HDF5 to use the new swarm rpms.  This time I splurged
and built both for i386 and i686.  (actually, I forgot to include the
target the first time, and built i386 by mistake. But it still counts.) 
I've downloaded/run Swarm programs with hdf-1.2.2 and RPMS for
swarm-2.1.1.20000721 and all is well.  (this is my numbering scheme,
Marcus at SDG just calls them swarm-2000-07-21, but for RPMS, I change
the names) It is Faster, Stronger, Better than it was before (like the
$6million man, but cheaper).  You can play your role by installing these
and emailing address@hidden if you have any trouble.

http://lark.cc.ukans.edu/~pauljohn/Swarm/Swarm-2.1_RPMSforRH6/

I do not have a list of all the new features you can use in this
edition, but here are two I use

1. "createActionForEachHomogeneous" to create actions for lists when all
objects have the same selector executed for them.  This gives a
significant speedup compared to the older "createActionForEach" syntax. 
If you need details, search the email archive, Marcus explained it all.

2. Randomization of ConcurrentGroups.  This feature did not work
before.  Now you can tell a schedule to randomize any actions set to run
at a particular time with syntax like this:

     id groupProto;
       printf("agentSwarm randomized CONC GROUP NO MASTER \n");
       groupProto = [ConcurrentGroup customizeBegin: self];
       [groupProto setDefaultOrder: Randomized];
        groupProto = [groupProto customizeEnd];
     
     agentSchedule = [Schedule createBegin: self];

     [agentSchedule setConcurrentGroupType: groupProto];
     [agentSchedule setAutoDrop: YES];
     agentSchedule = [agentSchedule createEnd];

Or, if you need the randomization to apply to all actions that arrive in
the context of a swarm, create that swarm with syntax like this:

      id groupProto, syncScheduleProto;
      printf("ModelSwarm: random ordering of actions \n");
      groupProto = [ConcurrentGroup customizeBegin: self];
      [groupProto setDefaultOrder: Randomized];
      // [groupProto setDefaultOrder: Sequential];
      groupProto = [groupProto customizeEnd];
      
      syncScheduleProto = [Schedule customizeBegin: self];
      [syncScheduleProto setConcurrentGroupType: groupProto];
      [syncScheduleProto setAutoDrop: 1];
      syncScheduleProto = [syncScheduleProto customizeEnd];
  
      agentSwarm = [AgentSwarm createBegin: self];
      [agentSwarm setSynchronizationType: syncScheduleProto];
      agentSwarm = [agentSwarm createEnd];

WIth this syntax, every swarm that is created in the context of
"agentSwarm" will have agentSwarm as its context, and so when all the
sub schedules try to do things at the same time, this assures they are
randomly mixed.

If you want to see working demos of these approaches, see the
"pjrepeaterX" files in
http://lark.cc.ukans.edu/~pauljohn/SwarmFaq/WorkingExampleCode/objc

Note these approaches are different than the standard randomization
scheme, as illustrated in Heatbugs, where a list of agents was
randomized before each was told to step.  This randomized scheduling
thing mixes up all actions at a given time within a certain schedule or
swarm.

-- 
Paul E. Johnson                       email: address@hidden
Dept. of Political Science            http://lark.cc.ukans.edu/~pauljohn
University of Kansas                  Office: (785) 864-9086
Lawrence, Kansas 66045                FAX: (785) 864-5700

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]