You are here
64-bit FC5
Description: Develop a 64-bit version of the DICE FC5 platform.
Deliverables:
This project will be delivered in several stages :-
- An LCFG managed version of 64-bit FC5 running against DICE authentication
and name services (anonymously), and ideally AFS file services. Probably for servers only. - A 64-bit DICE desktop, suitable for research use only.
- A full 64-bit DICE desktop, suitable for commodity and research use.
The plan below describes stage 1 only.
Customer: In the first instance a number of research groups from CSTR,HCRC/ICCS,ANC and LFCS.
Case statement:
The current 32-bit version of DICE has an architectural limit of 3Gb addressable memory space per process. This limitation is having an impact on an increasing number of research groups within the School.
Most current PCs are now capable of running in 64-bit mode, but to do this requires a 64-bit version of the base operating system. FC5 and FC3 are both available in 64-bit form. This
project would involve porting LCFG (and DICE) to the 64-bit version of FC5.
At some point in the medium(?) future it is likely that 64-bit will be the norm with 32-bit being considered legacy.
Status:
- 01/08/06
- Initial 64 bit work has been undertaken by Stephen who has found few issues. Updaterpms and the LCFG compiler require some modifications; Alastair is currently working on the changes to updaterpms. Next stage is to refine plan re deliverables and work required.
- 05/09/06
- Adding support for multiple archs to updaterpms has proved very hacky due to the need to continue support for wildcard archs. Alastair has shipped this hacky version as the lack of updaterpms was blocking progress. Now that it has been agreed that we can deprecate the wildcard arch support, Alastair will reimplement; this should lead to cleaner code.
- 12/09/06
- plan for stage 1 firmed up with time estimates
- 03/11/06
- Stage 5 completed, most work on stage 6 now complete but it turns out we need to port the kerberos and afs components (or at least the PAM parts) before we start using the PAM component. Stage 7 probably complete.
- 12/12/06
- Stages 6 to 9, and 11, now complete bar dns. Work on stage 10 has been started.
- 4/1/07
- Stage 8 complete. Stage 10 implemented and working, but more testing to be done and some tidying up of header files.
- Feb 07
- All stages now complete
- 7/3/07
Awaiting users requesting 64 bit servers to be installed. A 64 bit compute server, torridon, is already available for use.
Timescales:
Priority: This project does not have an explicit delivery deadline. However, there is growing pressure from an increasing number of institutes for this provision.
Time: For stage 1, assuming appropriate experience as listed in Resources section above, an estimate of 23 to 26 man days for delivery. This assumes minimal 32-bit to 64-bit porting problems.
Proposal:
Resources:
For stage1, experience of porting LCFG to a new platform would dramatically cut the effort required. Strong C and Perl skills are potentially required to deal with any 32-bit to 64-bit porting issues.
For stage2 and stage3, various skills would be required - needs to be expanded....
Plan:
port and test LCFG core: (3 days Stephen)lcfg-authorizelcfg-buildtoolslcfg-clientlcfg-filelcfg-ngenericlcfg-omlcfg-utils
port and test updaterpms (3 days Alastair)port and test updaterpms codeuntil package specs mods done to server, use prefixed arch specs (ie i386/glibc-1.0-1) - need to modify updaterpms component to do simple sed translation to real new style
create repository (0.5 day Alastair)no space on pezenas. Simplest plan is to split off SRPMs onto a different volume. We don't want to depend on the RPM repository having moved to AFSalthough we think we can merge i386 and x86_64 repositories, we reckon safer to leave this until developing next DICE platform. For now keep separate.
create package lists (1 day Alastair)adding /noarch - easily automated?
create necessary LCFG level headers (2.5 days Alastair/Stephen)plan to create LCFG level instantiation to simply porting (1 day Alastair)review required changes to existing headers (1 day Stephen)need to create an arch macro for headers (profile resource) (Stephen)add arch resource to lcfg-updaterpms component (0.5 day Alastair)
port and test components required to keep a machine LCFG managed (2 days Stephen)lcfg-authlcfg-bootlcfg-cronlcfg-initlcfg-nsswitchlcfg-pam (needs kerberos and afs pam settings sorted firstlcfg-syslog (???)lcfg-tcpwrappers
port miscellaneous RPMs (0.5 days Stephen)lcfg-defetc-fc5lcfg-release-fc5
port or create simple client components for: (3 days)kerberosopenldapopensshntpdns
port components required to install new machine via LCFG (2 - 5 days)lcfg-fstab and lcfg-hackparts (hackparts may have 64 bit issues hence 5 days)lcfg-grublcfg-hardwarelcfg-kernellcfg-network
port installroot (2 days)creating installroot and installbase package lists and profilesbuildinstallroot
build AFS kernel module (1 day)lcfg-afs component
author documentation to aid COs building 64 bit packages (1 day)Deploy first end-user server
- Things to be done later
- modify to deal with multiarch package specs
- rpmcache
- mkxprof
- add arch resource to rpmcache component
- modify to deal with multiarch package specs
Dependencies: No known dependencies.
Risks:
URL:https://wiki.inf.ed.ac.uk/DICE/MPUProjectProposal64bit
- 64-bit FC5 might not be sufficiently stable, despite favourable reports. A fallback would be to use RHEL.
- We uncover some issues with 32-bit to 64-bit porting of LCFG/DICE code. The risk here is that the work will take longer than estimated.
- Not doing this work would probably result in
us being obliged to hand-manage a number of 64 bit machines.
Milestones
Proposed date | Achieved date | Name | Description |
---|---|---|---|
2006-09-12 | 2006-08-15 | work list | Produce list of work required |
2006-10-10 | 2006-10-04 | Stage 1 | Port and test LCFG core |
2006-11-01 | 2006-10-04 | Stage 2 | Port and test updaterpms |
2006-11-01 | 2006-10-04 | Stage 3 | Create repository |
2006-11-01 | 2006-10-04 | Stage 4 | Create package lists |
2006-11-03 | 2006-10-04 | Stage 5 | Create necessary LCFG level headers |
2006-12-13 | 2006-11-01 | Stage 6 | Port and test components required to keep a machine LCFG managed |
2006-12-13 | 2006-11-01 | Stage 7 | Port misc RPMs |
2007-01-04 | 2007-01-10 | Stage 8 | Create simple client components |
2006-12-13 | 2006-11-01 | Stage 9 | Port components required to install new machine via LCFG |
2007-01-22 | 2007-01-10 | Stage 10 | Port installroot |
2006-12-13 | 2006-11-01 | Stage 11 | Build AFS kernel module |
2007-01-31 | 2007-01-10 | Stage 12 | Author documentation to aid COs building 64 bit packages |
2007-03-07 | 2007-02-14 | Deploy | Deploy first end-user server |