Parallel RC Scripts

Description
One way to reduce bootup time is to run RC scripts in parallel. RC scripts are normally run in sequence in a desktop configuration of Linux. By running the scripts in parallel, it is possible to take advantage of the multi-processing capabilities of the OS (such as overlapping execution with I/O, etc.)

How to implement or use
See the projects listed below for details on different methods of doing this.

Expected Improvement
[Not determined yet.]

Projects

 * InitNG: a new replacement for SysV init. Boots your system much faster by running as much as possible asynchronously. See InitNG
 * IBM article on on using Makefile techniques to express dependencies between services and support parallel service start. See BootFaster
 * Richard Gooch project to rewrite boot script system from scratch. Eliminates lots of BSD and SYS V-isms, and introduces dependencies.  See boot scripts
 * Serel project - for parallelizing service startup. Commands are inserted into RC scripts to cause needed services to start (based on XML database of dependencies). See fastboot

Specifications

 * LSB specification for comments in RC Scripts which allow parallization. See

Patches
None.

= Case Studies = [None yet.]

Case 1
[put information about an actual use of this technique here. A case study should include:]

Hardware:: [hardware description here] Kernel Version:: [kernel version here] Configuration:: [information about the configuration used here] Time without change:: [put that here] Time with change:: [put that here]

[Add any additional notes as you see fit.]