I'm spec-ing a development server for some Haskell hackers. In particular, they need to be able to build and run the Glasgow Haskell Compiler (ghc), the x86_64 port of which isn't quite there yet. My current thought is to get an Opteron-based system, but load it (initially, at least) with the 32-bit i386 version of CentOS. That buys me near-term ghc compatibility. In the future, should ghc become 64-bit clean, I'll be able to upgrade to a full 64-bit OS. The alternative is to build the server around high-end ia32 chips and leave the Opteron for another day. Does anyone have experience running a 32-bit-only OS on Opterons? Are there any gotchas? -- Paul Heinlein <> heinlein at madboa.com <> www.madboa.com
Paul, The Opteron is completely 32bit AND 64bit compatible. You will be able to run a 32bit OS as flawlessly as you run a 64bit OS. However, one of the great things about the Opteron is that you can run 32bit binaries natively within the 64bit OS! ( and by the way the Opteron is the HIGHEST end ia32 CPU you can buy! ;) ) ... thanks! - doug ************************************************************************ Doug Zeman \ \ | __ \ ____ | Phone: 408 7747674 CAD Sys Eng II / \ | _/ | | | | Cell : 408 7187466 CA MicroProc Div ____ \ | | | | | | Fax : 408 7747811 Sunnyvale, CA _/ _\_| _| _____/ ____/ \| doug.zeman at amd.com ************************************************************************ Paul Heinlein wrote:> I'm spec-ing a development server for some Haskell hackers. In > particular, they need to be able to build and run the Glasgow Haskell > Compiler (ghc), the x86_64 port of which isn't quite there yet. > > My current thought is to get an Opteron-based system, but load it > (initially, at least) with the 32-bit i386 version of CentOS. That buys > me near-term ghc compatibility. In the future, should ghc become 64-bit > clean, I'll be able to upgrade to a full 64-bit OS. > > The alternative is to build the server around high-end ia32 chips and > leave the Opteron for another day. > > Does anyone have experience running a 32-bit-only OS on Opterons? Are > there any gotchas? >
Bryan J. Smith
2005-Aug-01 21:38 UTC
[CentOS] Re: Opteron in 32-bit mode -- 32-bit apps still work in 48-bit/52-bit mode ...
Paul Heinlein <heinlein at madboa.com> wrote:> I'm spec-ing a development server for some Haskell hackers. > In particular, they need to be able to build and run the > Glasgow Haskell Compiler (ghc), the x86_64 port of which > isn't quite there yet. > My current thought is to get an Opteron-based system, but > load it (initially, at least) with the 32-bit i386 version > of CentOS. That buys me near-term ghc compatibility. In the > future, should ghc become 64-bit clean, I'll be able to > upgrade to a full 64-bit OS.AMD designed x86-64 to fully support running 32-bit applications _regardless_ what actual addressing model is being used by the kernel. In other words, the kernel can run the processor addressing in either legacy 36-bit mode (64GiB) or 52-bit mode (16EiB) mode, and still run 32-bit applications. The key in how AMD does this is by continuing to use 48-bit virtual addresses for both, which is how the Translation Lookahead Buffer (TLB) of the i486 onward works. The 52-bit addressing mode also uses the same Processor Address Extensions (PAE) approach as 36-bit mode. [ NOTE: AMD has reserved a true "flat" 64-bit mode for future x86-64 implementations. Until then, the 48-bit virtual/52-bit physical register is how current Athlon64/Opterons are implemented. They are actually a 40-bit (1TiB) physical platform limitation, which is tied to its current interconnect logic (long story). ] When you run a Linux/x86-64 kernel, you get the 52-bit (flat) mode. When you run a Linux/x86-64 kernel, you get the 36-bit mode (LOWMEM/HIGHMEM). If you run 32-bit applications either, you will have 4GiB user-space limitations. You must also call only 32-bit libraries from 32-bit applications. That's about the only issue with x86-64 releases, the fact that you may require an i386 library, instead of a x86_64 library.> The alternative is to build the server around high-end > ia32 chips and leave the Opteron for another day.It is never recommended because of performance issues with 32-bit/4GiB models -- especially as you pass 1GiB of memory, and definitely when you exceed 4GiB. Especially if you have a lot of I/O.> Does anyone have experience running a 32-bit-only OS > on Opterons? Are there any gotchas?None on Linux/x86-64 I'm aware of. GNU has been largely 64-bit clean since the mid-to-late '90s (thanx to Alpha, MIPS and other developments). This is unlike Windows (which was always released as 32-bit on Alpha, MIPS, etc..., long story). Windows XP 64-bit Edition and Windows 2003 Server have many because the Win32 codebase is _not_ 64-bit clean like GNU has been for a long time. Microsoft's Windows 64 OSes use largely Win32 on Win64 (WoW) subsystem which is not very fast, instead of providing true Win64 services and programs. The Opteron is currently a true 40-bit (1TiB) interconnect, 48-bit (256TiB) virtual, 52-bit (4TiB) register platform, including offering an I/O MMU for "safe" I/O transfers above 4GiB of memory (including any I/O card memory mapped to ranges above 4GiB, or using DMA to programs in memory above 4GiB). In fact, for servers with 4+GiB of memory, Intel EM64T processors have the _same_ I/O limitations ("bounce buffers") as IA32 processors, whereas AMD Opterons do not. -- Bryan J. Smith | Sent from Yahoo Mail mailto:b.j.smith at ieee.org | (please excuse any http://thebs413.blogspot.com/ | missing headers)
On Mon, 1 Aug 2005, Paul Heinlein wrote:> Does anyone have experience running a 32-bit-only OS on Opterons? Are > there any gotchas?We've been running RHEL3 in 32 bit mode on Sun v40z's (rebadged Newisys boxes) for almost a year at work. No issues other than the usual goofiness about Broadcom network chips, etc. Note: I would NOT recommend the v40z or the straight Newisys box. They are poorly implemented platforms. ------------------------------------------------------------------------ Jim Wildman, CISSP, RHCE jim at rossberry.com http://www.rossberry.com "Society in every state is a blessing, but Government, even in its best state, is a necessary evil; in its worst state, an intolerable one." Thomas Paine
Paul Heinlein wrote:> I'm spec-ing a development server for some Haskell hackers. In > particular, they need to be able to build and run the Glasgow Haskell > Compiler (ghc), the x86_64 port of which isn't quite there yet. > > My current thought is to get an Opteron-based system, but load it > (initially, at least) with the 32-bit i386 version of CentOS. That > buys me near-term ghc compatibility. In the future, should ghc become > 64-bit clean, I'll be able to upgrade to a full 64-bit OS. > > The alternative is to build the server around high-end ia32 chips and > leave the Opteron for another day. > > Does anyone have experience running a 32-bit-only OS on Opterons? Are > there any gotchas? >I planned on doing a similar thing until I found that for some reason, cool & quiet does not seem to work unless in 64 bit mode under linux at least. I decided to go 64 bit because the server was going to be running in my garage and I wanted it as cool as possible. Has anyone managed to get CPU Throttling/CNQ working on a 32bit linux ? Bards.
Maybe Matching Threads
- [LLVMdev] glasgow haskell appears to be adopting LLVM
- [LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
- [LLVMdev] GHC's LLVM Backend
- LLVM and heap-allocated thread stacks
- [LLVMdev] Please review my patch to make GHC calling convention work on ARM