Skip to content
Snippets Groups Projects
  1. May 13, 2004
    • Eelco Dolstra's avatar
      * Set the executable bit. · 2fa33049
      Eelco Dolstra authored
      2fa33049
    • Eelco Dolstra's avatar
      * Perform all tests. · 3426d195
      Eelco Dolstra authored
      3426d195
    • Eelco Dolstra's avatar
      * The build hooks used to implement distributed builds can now be run · a8306cb9
      Eelco Dolstra authored
        in parallel.  Hooks are more efficient: locks on output paths are
        only acquired when the hook says that it is willing to accept a
        build job.  Hooks now work in two phases.  First, they should first
        tell Nix whether they are willing to accept a job.  Nix guarantuees
        that no two hooks will ever be in the first phase at the same time
        (this simplifies the implementation of hooks, since they don't have
        to perform locking (?)).  Second, if they accept a job, they are
        then responsible for building it (on the remote system), and copying
        the result back.  These can be run in parallel with other hooks and
        locally executed jobs.
      
        The implementation is a bit messy right now, though.  
      
      * The directory `distributed' shows a (hacky) example of a hook that
        distributes build jobs over a set of machines listed in a
        configuration file.
        
      a8306cb9
  2. May 12, 2004
  3. May 11, 2004
    • Eelco Dolstra's avatar
      * True parallel builds. Nix can now run as many build jobs in · c8d3882c
      Eelco Dolstra authored
        parallel as possible (similar to GNU Make's `-j' switch).  This is
        useful on SMP systems, but it is especially useful for doing builds
        on multiple machines.  The idea is that a large derivation is
        initiated on one master machine, which then distributes
        sub-derivations to any number of slave machines.  This should not
        happen synchronously or in lock-step, so the master must be capable
        of dealing with multiple parallel build jobs.  We now have the
        infrastructure to support this.
      
        TODO: substitutes are currently broken.
      c8d3882c
  4. May 04, 2004
Loading