Re: Finalize install questions
Robert LeBlanc wrote:
We have purchased a 65 node cluster of Opterons last December and I
have been following the development of the port off and on since then.
I think that the port may be mature enough to put on our production
environment just because I think that our biology applications could
benefit from a 64 bit compile. I am still sketchy on some things that
I hope you guys can help me out with.
I'd suggest you bring up the cluster as i386 with network booting so you
can trivially switch kernels so that you can have a stable cluster for
running critical jobs immediately. Then, you can look into building a
64 bit kernel (with 32 bit emulation). Once you have a biarch kernel
that appears to work reliably on one node, you can push it out to the
whole cluster and have the capability for 64 bit software on the cluster
even though the whole operating system is still reliably and running in
First, a program needs to be specifically written for 64 bits?
You get benefits in two key areas and one disadvantage from using AMD64
* More registers, which is transparent to the application since this is
handled by the compiler,
* More virtual address space, which would be transparent to the
application but usually is not,
* Larger pointers (associated with the address space) which are no
longer the same size as an int.
As mentioned by others, the way programs normally have trouble is due to
the fact that the author made the assumption that an int and a pointer
are both 32 bits long. There are other type-size related problems, but
that's often the most difficult one. In general, if the code already
runs on other 64 bit architectures, you're probably ok. If it's only
ever been i386 ... worry.
One problem is that existing programs are normally written to assume a
1GB address space and, if they need more, they include a built in paging
mechanism to store their additional data. As long as the paging
mechanism is being used, there is no advantage to recompiling the
program for 64 bit operation ... you may as well keep it as 32 bit and
use a 64 bit kernel with it.
Or by just recompiling using 64-bit libs usually good enough?
It's certainly worth trying, and then running a regression suite against
Fifth, would I be able to mirror the port for the cluster nodes?
There is no difference (in terms of management) between i386 and amd64
... that I'm aware of.