Migrating: tips from experienced travelers
Rough order of operations—plan your migration to best effect
From interviews we conducted with people who have done their migration work, we derived this checklist you can follow in planning your own migration:
- Do your homework. Understand the porting issues.
- See porting discussions at various levels including the technical articles such as "Porting to the Itanium Architecture" and "What Are the Highest-Priority Apps to Port?". See also our "Resource Guide" for key links to major sources of information about specific operating systems and other issues.
- Set expectations.
- Sort out code.
- Separate your code from third-party code and determine appropriate solutions.
- Separate code modules for individual work and test individually before assembling.
- Separate easy from difficult code—start with DLLs and end with executables and services.
- Assess code. Identify expected problems such as data size assumptions and misalignment.
- Lay out the process. Document the details of the code (size, language, etc., and work needed).
- Start cleaning up problems to aid portability. You won't catch everything, but it will help.
- Investigate tools.
- Find out which programs for operating systems, databases, etc. are open and which are closed.
- Check availability of compilers in your languages.
- If necessary, pound on your suppliers to ship their upgrades.
- Get tools—compilers, alignment tools, etc.
- Get started with simple port to get your feet wet. You can compile 64-bit code on a 32-bit machine—then use remote access to a 64-bit machine for debugging.
- Use alignment tools.
- Test
- Do full regression testing to make sure there aren't run-time issues that didn't come out as compiler issues. Debug.
- Test output against known results.
- Make sure port is solid.
- Identify and fix runtime specific issues.
- Test again.
- Make sure port is very solid.
- Optimize.
- Try compiler run-time optimization.
- Get in and optimize further as necessary
- Test, test, test!
Get a pdf version of this article: click download, below.
© 2005 Intel Corp.
![]()
Subscribers who liked this article also read:
![]() | Embedded development - QNX or Linux? by Thomas W. Burger. Intel Corp. In the late 1990s, the Web applian... |
![]() | Case Study: Animation Company Improves Rendering and Cost with Intel Xeon Processor Maya Entertainment Ltd. is a leading computer animation and visual eff... |
![]() | Turn performance killers into performance enablers by Alan Zeichick, principal analyst, Camden Associates. Intel Corp. ... |
If you're interested in this topic, these articles may be helpful:
![]() | Compatible A database that is compatible with other popular database products and... |
![]() | Achieve maximum application performance migrating from Unix to Linux by An Le, technical consulting engineer, and Max Domeika, technical c... |
![]() | Intel Itanium microarchitecture support for .NET and Java by Matt Gillespie, technical author and editor. Intel Corp. The Int... |
![]() | Migrating Java to C# manually: four case studies by Jason A. Fletcher, application engineer, Intel Software and Solu... |
![]()
Related Jobs:


