Name Carlos Villegas
Email Carlos.Villegas@nuim.ie
Project Title Improve the boot system
Synopsis Speed up the boot process and make it dependency
based.
Benefits to the Debian Community
Faster booting times as well as an approach to handling
program dependencies taking into account the current
discussions in Debian (1) as well as the progress in
other unix platforms.
Deliverables
Deliverable 1
Analysis of state-of-the-art in boot process for
linux distributions and description of "hotspots"
to speed up the process ordered by importance.
Make webpage to show progress and publish
deliverables.
Deliverable 2
Describe implementation of first 5 "hot spots"
with results concentrating on the most promising.
Present results of debian boot process changes
from woody to sid together with Ubuntu's unstable
and FreeBSD.
Deliverable 3
Implementation of remaining "hot spots". Reorder
"hotspots".
Reorder "hotspots" by importance from previous
results and possibly add new ones.
Deliverable 4
Implementation of new boot process based on
results in an iterative way.
Comparison with the current boot process and
other platforms.
Identify bugs.
Deliverable 5
Make available script checking dependencies
(LSB-compliant) and publish web page for maintainers.
Delivarable 6
Final code and report published.
Project Details (2)
Debian boot process can be faster. Distributions like
Ubuntu seem to be already on their way to faster booting
with Sun SMF self-heal services and parallel execution(3)
and Fedora Project is implementing a new init system (4).
Thus, the need to improve the current process has been
identified and different approaches are being taken to
solve it. Parallel processing is an option that has been
considered but the depedencies between the programs is
a constraint. With dependencies taken into account like
by making InitScripts LSB-compliant, parallel execution
could be implemented in Debian. At the end of the day, a
60% faster booting time could be obtained according to
Petter Reinholdtsen, which would make a big difference
for high availability systems. This proposal has been
modified according to comments from Petter Reinholdtsen
and it will be further improved.
Project Schedule
Project duration: 14 weeks (23 May-30 August)
week 1-2
Analysis of state-of-the-art in the boot process
(what are the other distributions doing).
Identify potential "hot spots" and order them
considering which are the most promising
solutions.
Define a metric (or maybe metrices) to use when
measuring the boot speed.(*)
Prepare webpage.
END OF WEEK 2 - Deliverable 1
week 3-4
Measure the boot time in debian distributions
from woody to sid.
Analyse Ubuntu "unstable" boot process and
FreeBSD as they consider dependencies.
Adjust to feedback on selected approach and
implement "hot spots".
END OF WEEK 3 - Milestone 1 : First implemen-
tation of promising "hot spots" for iteration.
Modify implementation from previous experience
Improve boot time aiming for 30% shorter time.
week 4-8
END OF WEEK 4 - Deliverable 2
Implement remaining "hot spots". Reorder and
possibly add "hot spots".
Analyse how much more can the boot time be
decreased.
Implement changes.
END OF WEEK 6 - Milestone 2: Implementation
changes.
Adapt code according to feedback and results.
END OF WEEK 6 - Deliverable 3
Publish first version of script that takes
dependencies into account and checks
LSB-compliance with guide for maintainers.
END OF WEEK 8 - Deliverable 4
week 9-11
Contact maintainers of scripts that need to be
modified.
Correct and adjust according to feedback and
previous results.
Continue making improvements in an iterative way.
Debug and consider different platforms.
END OF WEEK 11 - Deliverable 5
week 12-14
Document the changes.
Make bug reports to BTS and talk to package
maintainers and upstream about possible
bottlenecks discovered.
END OF WEEK 12 - Milestone 3: Final code
- Deliverable 6
Bio Currently pursuing a PhD in control systems for vehicle
dynamics, I'm an old Windows user that switched to linux
completely when came across with the Debian distribution.
Even though I have a mechatronic engineering background,
I had been involved in C programming for real-time
applications with Linux (RTAI) as well as bash scripting
and I feel confident with my programming skills. I'm
aware of the diffences of bash with Bourne Shell for the
boot scripting and I am familiar with changing the boot
process and using bootchart for graphical information.
I am confident that with the selection of the proper
approach to change the boot process based on debian
developers experience and the work done by other
distributions, positive results for all debian
users will come out of this project.
References
1.-Initscripts discussion in Debian at
lists.alioth.debian.org/pipermail/initscripts-ng-devel/.
2.-Project ideas from Petter Reinholdtsen at
lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/2006-January/000542.html.
3.-Ubuntu and SMF at
www.calivia.com/blog/mike/solaris_smf_for_ubuntu_packages_on_opensolaris.
4.-Fedora Project's analysis of existing init system at
fedoraproject.org/wiki/FCNewInit.
Feedback from developers
(*)-From comments made by Petter Reinholdtsen
|