Notes for a 64-bit Architecture Migration Strategy

According to this report, "AMD’s March 2003 introduction of its Opteron processor, followed by Intel’s March 2004 release of a family of x86 64-bit processors under the Xeon brand name, changed the landscape considerably [My note: the landscape of having to use an Itanium processor and either run slower emulated code or revise and recompile to 64-bit]. These processors almost completely closed the divide between 32-bit and 64-bit architectures because systems based on the x86-64 processors can support 32-bit Windows operating systems and 64-bit Windows operating systems. Even better, both 32-bit and 64-bit Windows on x86-64 processors are fully capable of hosting the majority of existing 32-bit Windows applications without performance degradation or recompile".

This support is possible on Windows through WoW64, meaning that you may have the need to support Windows 32-bit on Windows 64-bit, or in other words, to distribute 32-bit applications for 64-bit Windows platforms. In that case, this document describing WoW64 Best Practices may be useful.

That said, although generally speaking we have potential benefits from larger memory support, faster computation and data transfers, we will not always gain performance from this migration. I suggest that if you have doubts on this, evaluate it on a per-case basis: test it before and test it again afterwards. 

So, if you are (like I am) considering to migrate your server installations to 64-bit architecture, you may come across some issues. An example: it is not possible to install TFS 2005 or 2008 on a 64 bit single-server installation: "Team Foundation Server requires that the application tier run in a native 32-bit environment". It is documented in the Installation Guide, for 2005 and here, for 2008. This of course means that in order to use a 64-bit database installation to support TFS, we will need at least another server.

Meanwhile, if you are not sure about what you should do for your development process in order to be ready when and if the migration happens, there's a simple configuration you can use when compiling your C# code: "AnyCPU". This setting will make your application run as a 32-bit application on a 32-bit platform and a 64-bit application on a 64-bit platform, without recompilation (check WoW64 Best Practices and this chat transcript with the 64-bit CLR Team for more details on this).



Published Sunday, February 10, 2008 1:06 PM by António Cruz
Filed under , , ,

Comments

 

Agregador de blogs scrum said:

According to this report , " AMD’s March 2003 introduction of its Opteron processor, followed by

April 22, 2009 4:29 AM