ThinClientFasterStartup
3418
Comment:
|
5085
and more comments from me
|
Deletions are marked like this. | Additions are marked like this. |
Line 23: | Line 23: |
Matthew gives a class on usability at university where uses LTSP in his class, if he's te first in the class for the day he needs to plan extra time for booting the Thin Clients for the pupils. {{{XXX:smurf:Use cases need to be written positively, not in a "list what's broken" style}}} |
Matthew gives a class on usability at university where he uses LTSP in his class, if he's the first in the class for the day he expects his pupils to be able to work immediately after switching on the Thin clients. |
Line 35: | Line 33: |
'''ScottJamesRemnant: do you have any idea why this happens? If so, please document it here for other people -- if not please explicitly say you need to investigate it rather than just fix it.''' | |
Line 37: | Line 36: |
'''ScottJamesRemnant: this sleep is usually needed, it's not just there for fun. Please indicate that you have researched why this is there, and that it is safe to remove.''' | |
Line 38: | Line 38: |
'''ScottJamesRemnant: please document its dependencies, so somebody else can evaluate how early it can be.''' | |
Line 39: | Line 40: |
'''ScottJamesRemnant: do you have any idea why this happens? If so, please document it here for other people -- if not please explicitly say it needs to be investigated.''' | |
Line 40: | Line 42: |
'''MattZimmerman: better to disable ntpdate at boot unless the user explicitly configures an NTP server in lts.conf, rather than adding a new default service to the server. Most installations probably don't care if the clock on the thin clients is accurate.''' |
|
Line 42: | Line 47: |
'''ScottJamesRemnant: err... depmod and udev kinda need that''' | |
Line 50: | Line 56: |
'''ScottJamesRemnant: both being moved to initramfs and being replaced with a "catchup"''' | |
Line 52: | Line 59: |
'''ScottJamesRemnant: being removed, replaced by initial boot''' | |
Line 53: | Line 61: |
'''ScottJamesRemnant: do you want this, or Network Manager on the clients?''' | |
Line 58: | Line 67: |
'''MattZimmerman: doesn't describe how these changes will be implemented (omitting packages via debootstrap, removing symlinks in ltsp-client-setup, a mixture of the two?''' |
|
Line 65: | Line 76: |
'''MattZimmerman: readahead is tricky, since it may hurt more than it helps if the client hasn't much memory. I suggest this not be part of the initial implementation, and that careful measurements be made before enabling it by default. We can consider it as a future optimization, perhaps an optional one enabled in lts.conf.''' |
Launchpad Entry: https://launchpad.net/distros/ubuntu/+spec/thinclient-faster-startup
Created: Date(2005-10-31T22:27:58Z) by OliverGrawert
Contributors: OliverGrawert
Packages affected:
- initramfs-tools
- debootstrap/ltsp-client
- ltsp-server (for ltsp-build-client)
- various bootscripts from various packages
- syslogd
Summary
Speed up the Thin Client bootprocess for LTSP
Rationale
Ubuntu 5.10 thin clients take ages to boot. Some of the generic startup time improvements will also apply to thin clients, but we should specifically optimize the thin client startup process as well. Thin clients are usually low-spec hardware and need this more than most.
Use cases
Matthew gives a class on usability at university where he uses LTSP in his class, if he's the first in the class for the day he expects his pupils to be able to work immediately after switching on the Thin clients.
Scope
The boot process of LTSP Thin Clients as well as the default bootstrapping of the thin client chroot environment.
Design
- Rip out the unneeded services from Thin Clients
- Fix the delay of nfs mounting in klibc
ScottJamesRemnant: do you have any idea why this happens? If so, please document it here for other people -- if not please explicitly say you need to investigate it rather than just fix it.
- Compare the list of started services between LTSP 4.1 and breezy LTSP
- Remove the "sleep 3" from the initramfs nfs script
ScottJamesRemnant: this sleep is usually needed, it's not just there for fun. Please indicate that you have researched why this is there, and that it is safe to remove.
- start LDM as early as possible in the bootprocess
ScottJamesRemnant: please document its dependencies, so somebody else can evaluate how early it can be.
- find the slowing down part in syslogd (strace) and fix it
ScottJamesRemnant: do you have any idea why this happens? If so, please document it here for other people -- if not please explicitly say it needs to be investigated.
- run a ntpd on the ltsp server and make the thin client pull its time from there
MattZimmerman: better to disable ntpdate at boot unless the user explicitly configures an NTP server in lts.conf, rather than adding a new default service to the server. Most installations probably don't care if the clock on the thin clients is accurate.
- make ltsp-build-client's debootstrapping install only the bare minimum needed (probably introduce a thin client mode)
- drop module-init-tools from the bootprocess
ScottJamesRemnant: err... depmod and udev kinda need that
- find any silent scripts that run and might slow down the bootprocess
Implementation
Cutting down the list of started services in rcS.d on the Thin Client to the following gains us 30 seconds:
- S02mountvirtfs
- S04udev
ScottJamesRemnant: both being moved to initramfs and being replaced with a "catchup"
- S32ltsp-client-setup
- S40hotplug
ScottJamesRemnant: being removed, replaced by initial boot
- S40networking
ScottJamesRemnant: do you want this, or Network Manager on the clients?
- S50alsa-utils
- S70xorg-common
This seems to be the bare minimum of bootscripts. The boot process still needs ~60 seconds from hitting the power button (which includes BIOS indeed) to being able to log in at the login manager (which is about as much as a normal ubuntu workstation installation), mostly caused by initramfs and hotplug which should be sped up by changes Scott will make to the initramfs/hotplug architecture.
MattZimmerman: doesn't describe how these changes will be implemented (omitting packages via debootstrap, removing symlinks in ltsp-client-setup, a mixture of the two?
Code
Changes in ltsp-build-client are required to remove the unneeded startup scripts. The initramfs and hotplug changes are covered in other specs. The ltsp-client startscript should move up to the top of rc2.d Giving readahead-list a list of files to preload on boot.
MattZimmerman: readahead is tricky, since it may hurt more than it helps if the client hasn't much memory. I suggest this not be part of the initial implementation, and that careful measurements be made before enabling it by default. We can consider it as a future optimization, perhaps an optional one enabled in lts.conf.
Data preservation and migration
Breezy users will either need to rebuild their chroot environment (recommended, since the initramfs/hotplug changes will yield the most speedup), or we could provide a script that disables the unneeded services.
Outstanding issues during development
Examine the initramfs/hotplug speedup that can be done.
Examine the gain of the inclusion of readahead-list in the bootprocess.
Examining debootstrap for things that dont need to be installed (having a ltsp mode for debootstrap)
ThinClientFasterStartup (last edited 2008-08-06 16:28:01 by localhost)