Thank you for the detailed answer.

On Friday 10 October 2014 15:32:52 Wout Mertens wrote:
> I think you could do this. You would set it up so the nix server does the
> compiles and the grid runs distcc. See the wiki, the raspberry pi page has
> explanations about distcc.
Oh, I didn't know that this worked outside of NixOS. I just can't find any 
details on how to integrate distcc with sge. Do you have any experience with 
that?

> Note that only one node can write to nix store at the same time due to the
> db.
That's interesting. The multi-user nix manual says that you can have multiple 
build users on one machine. Why does that work on one machine, but not spread 
over several machines? I would assume that you need to connect to some kind of 
db daemon anyway?

> Another option is to have private nix stores on all nodes but nfs mount all
> of them under the remote stores directory. That way nix-store will fetch
> missing packages from the remotes and store them locally. At least, that's
> my understanding.
I don't think I understand this. By private, do you mean one per user? And how 
do we mount all of them under one directory, do you mean some layered fs?

> As for the Intel compiler, that could be a challenge, but right now we have
> several gcc versions and clang, so it's not impossible. You can decide on a
> per-package basis which compiler to use.
Yes, my main concern are things like license keys, or - even worse - license 
servers. I don't know how to approach these things in nix. As long as you can 
mix your nix environment with an external environment this is not an issue. So, 
as a simple example, you could use nix to manage your version of boost, but use 
an intel compiler that is installed outside of nix for user code.

> Not sure how mpi would influence state, can you elaborate?
I meant this on a per job basis. In the case of mpi jobs the sge will decide 
which nodes your job will be distributed over. This information will be passed 
by a mixture of config files and environment variables. Hence, such jobs would 
not work inside a pure nix-shell, because the environment needs to be passed 
through. I don't think it's a big issue. Just something to keep in mind.

Best,

Andreas
_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to