LiveCDPerformance

Differences between revisions 13 and 14
Revision 13 as of 2005-04-26 22:42:09
Size: 4028
Editor: intern146
Comment: EditedSpecification ; spell fix; more BOFs needed
Revision 14 as of 2005-04-27 07:58:11
Size: 3532
Editor: intern146
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
  * People: MatthewGarrettLead, FabioDiNittoSecond, MatthewGarrettQueue, FabioDiNittoQueue[[BR]]   * People: MatthewGarrettLead, FabioDiNittoSecond[[BR]]
Line 13: Line 13:
  * Status: BreezyGoal, UduBof, DistroSpecification, EditedSpecification[[BR]]   * Status: BreezyGoal, DraftSpec[[BR]]
Line 18: Line 18:
  * UduSessions: 1, 4, 8, etc [[BR]]   * UduSessions: 2 [[BR]]
Line 37: Line 37:
The Live CD Prompts looking after eliminate some unnecessary questions in the boot process. Language, keyboard layout and so on are some of them.

If we already know this stuff we save time from the input data and the reconfiguring of packages.

A possible solution is placing a localised version on the mirrors. For example, Spanish mirror with Spanish localised Live CD, and so on.
Line 45: Line 40:
 * Background things like network setup?   * Background things like network setup?
Line 48: Line 44:
(trivial: get Colin to do it)
Line 55: Line 52:
 * Do we need gdm?
GDM takes a lot of memory (what we need during the live session to run the applications) and takes a lot of time to run. We could run the `/etc/alternatives/x-session-manager` instead of the GDM
If we have more than 256Mb we enable readhead otherwise no. Needs implementation.
(high priority).
Line 58: Line 55:
GDM takes a negligible amount of memory. Someone needs to time X startup with and without GDM.  * The dma activations help, but no so much.
(requires more investigation)
Line 60: Line 58:
 * The dma activations help, but no so much
* We need check out the filesystem compression (whichever we want to use: cloop, squashfs...) performance. But seems this is not the main problem.
 * Check out if we run unnecessary services at the distribution boot time

Nope. There's noth
ing significant that we can remove.
 * We need check out the filesystem compression (whichever we want to use: cloop, squashfs, unionfs...) performance. But seems this is not the main problem.
(unionfs is in the kernel but not for ppc - i386 is go for basic testing)
Line 68: Line 63:
(High priority: work in progress - unionfs is in the kernel - needs testing)
Line 71: Line 67:
Use invoke-rc.d to timestamp runlevels, we have timestamped printk in the kernel
and d-i produces logs with enough details.
Line 76: Line 74:
3) Investigate whether dropping gdm makes a significant difference to startup time
4
) Test different filesystems
5) Investigate the interaction of readahead with the current compressed filesystem - are we spending more time seeking than we'd spend just loading the programs anyway?
3) Test different filesystems
4) Investigate the interaction of readahead with the current compressed filesystem - are we spending more time seeking than we'd spend just loading the programs anyway?
Line 82: Line 79:
none.
Line 83: Line 82:

could be several.
Line 86: Line 87:
none.
Line 87: Line 90:

unionfs on ppc.

Live CD Performance

Status

Introduction

The boot time for the Ubuntu live CD should be comparable (or superior) to other popular live CDs.

Rationale

The better the load time, the better the live CD experience, the greater chance an end user will want to use it and move on to installing Ubuntu or another distro.

Scope and Use Cases

Implementation Plan

Performance issues in two areas:

1) Installer

  • Can generation of locales be made faster?

Generic CD required - we need to be able to ship them to the rest of the world.

  • Background things like network setup?

We don't actually need setup the network at the beginning

(trivial: get Colin to do it)

2) Post-di boot

  • Readahead configuration may be suboptimal

Seems not very helpful. See this experiment on Knoppix (the same compress filesystem: cloop): http://unit.aist.go.jp/itri/knoppix/readahead/index-en.html

If we have more than 256Mb we enable readhead otherwise no. Needs implementation. (high priority).

  • The dma activations help, but no so much.

(requires more investigation)

  • We need check out the filesystem compression (whichever we want to use: cloop, squashfs, unionfs...) performance. But seems this is not the main problem.

(unionfs is in the kernel but not for ppc - i386 is go for basic testing)

  • Somebody did a comparative between the official Kubuntu live CD and the same content of the image but compress with Squashfs instead of cloop and unionfs instead of device-mapper. Also he used the [http://metadistros.hispalinux.es Metadistros] live system. The result was the second one takes 50 sec less than Kubuntu to boot.

http://listas.hispalinux.es/pipermail/metadistros-dev/2005-April/000580.html (High priority: work in progress - unionfs is in the kernel - needs testing)

NEEDS INSTRUMENTATION - do we have detailed enough logfiles?

Use invoke-rc.d to timestamp runlevels, we have timestamped printk in the kernel and d-i produces logs with enough details.

IMPLEMENTATION:

1) Full timings for initial install and second-stage boot. 2) For packages that spend an extended amount of time in configure, see if that can be improved 3) Test different filesystems 4) Investigate the interaction of readahead with the current compressed filesystem - are we spending more time seeking than we'd spend just loading the programs anyway?

Data Preservation and Migration

none.

Packages Affected

could be several.

User Interface Requirements

none.

Outstanding Issues

unionfs on ppc.

UDU BOF Agenda

  • d-i performance
  • casper performance
  • Ubuntu boot performance (FasterBoot)

UDU Pre-Work

  • Profile the live CD boot sequence to measure the time taken for each step
    • d-i startup (time-to-first-question)
    • Pre-casper d-i activity (measured per menu entry)
    • Casper d-i activity (measured per casper.d script)
    • Standard boot sequence

LiveCDPerformance (last edited 2008-08-06 16:14:57 by localhost)