We looked at several factors that could help improve OpenOffice.org startup
performance, especially on Linux. We focused on disk sub-system-level solutions
to mitigate performance impact of several application-specific factors. At launch,
especially on cold-start, the application makes significant scattered disk accesses,
due to a combination of page-faults arising out of execution flow and dynamic
library loads interspersed with configuration reads and writes. We will therefore
focus on speedup techniques based on reducing the disk access penalty at startup.
A systemic approach of minimizing seek penalties is to arrange data blocks used
during application start-up in an appropriate sequence on the disk. We will briefly
describe our trace gathering and simulation environment for costing and optimizing
block order for a collection of application disk access traces. We will also discuss
results and experiences for a prototype reordering scheme for the ext2 filesystem.
We will outline the design and progress on a post-install reordering utility for
OpenOffice.org, and conclude by presenting some initial ideas on extending and
generalizing this approach into an adaptive monitoring and optimizing mechanism
with kernel and file-system support.
The second approach is a deep refactoring of configmgr using berkeleydb to,
in effect, coalesce configuration data into a contiguous disk block. A new backend,
dbbe, accesses xml blobs stored in the database, avoiding multiple file reads. We
will discuss our experiences creating a new backend as well as further opportunities
for optimizing configmgr.
Xiaoyang Yu was born in Oct, 1974, and got the master
degree in Computer Science from Institute of Computing Technology, Chinese
Academy of Sciences in 2000. Since joining Intel in 2005, he is focused on
disk access factors in OpenOffice.org startup. Prior to Intel, he was a project
manager and lead developer at Turbolinux, designing TurboHA - a high availability
cluster software, working on embedded systems for government projects, in
addition to overseeing internationalization and GUI development for the
Turbolinux Distribution 10.
Michael Leibowitz is a software engineer at Intel Corporation
where he works on OpenOffice.org performance improvements and community
infrastructure. Previously he has worked in the embedded Linux system space in
various capacities.