From: Kristis Makris <kristis.makris@asu.edu>
To: linux-kernel@vger.kernel.org, freebsd-hackers@freebsd.org,
gnusol-devel@lists.sonic.net, opensolaris-code@opensolaris.org
Subject: Dynamic kernel updates using DynAMOS
Date: Mon, 23 Jul 2007 09:32:09 -0700 [thread overview]
Message-ID: <1185208329.20434.23.camel@localhost> (raw)
[-- Attachment #1: Type: text/plain, Size: 3415 bytes --]
Hello, please CC me as I'm not registered in these lists.
I'd like to announce DynAMOS, a dynamic kernel updating system that
supports Linux and could be of help in kernel development and high
availability.
This system has been a research project at Arizona State University
for the past 3 years and has finally become publicly available under
the GPL. Feedback would be very much appreciated.
It is an on-the-fly kernel updating system that enables commodity
operating systems to gain adaptive and mutative capabilities without
kernel recompilation or reboot. It employs a new dynamic
instrumentation technique called adaptive function cloning. Execution
flow can be switched adaptively among multiple editions of functions,
possibly concurrently running. This approach becomes the foundation
for dynamic replacement of non-quiescent kernel subsystems when the
timeliness of an update depends on synchronization of multiple kernel
paths.
This system can assist in kernel code prototyping and testing. It can
help fine-tune and benchmark live code (e.g. a scheduling policy) that
would otherwise require a full recompilation and reboot to adjust. It
can also be of help in long-lived systems that need to patch security
holes or benefit from new kernel features without downtime
(e.g. parallel computing clusters). A long-term goal is to automate
dynamically updating a live kernel from one version to the next.
Dynamic updates we've so far been able to carry out with DynAMOS
include:
o Extending the Linux 2.2 kernel process scheduler to support
unobtrusive, fine-grain cycle stealing offered by the Linger-Longer
system.
o Introducing adaptive memory paging for efficient gang-scheduling in
a Linux 2.4 cluster.
o Adaptively updating the Linux pipefs implementation during large
data transfers.
o Introducing kernel-assisted process checkpointing offered by EPCKPT
in Linux 2.4.
o Applying security fixes provided by the Openwall project.
o Injecting performance monitoring functionality in kernel functions.
o Updating DynAMOS itself.
The current release is functional on Linux with ports to FreeBSD and
GNU OpenSolaris waiting for bugs to be ironed out. It builds with gcc
3.3 and 2.95, but not 4.x (yet). It comes with examples (e.g. update
get_pid(), update Linux 2.4 scheduler) of dynamic kernel updates for
people to easily try it out and comes prepackaged in .rpm and .deb for
Linux 2.4 (but not 2.2 or 2.6). The source distribution contains the
more complex updates mentioned above (adaptive updating, kernel
thread updates, checkpointing) and if compiled from source will work
for Linux versions 2.2-2.6.
People interested in learning more about the system can read:
o The project webpage:
http://freshmeat.net/projects/dynamos/
o The current users manual:
http://files.mkgnu.net/files/dynamos/doc/latest_manual/html-single/manual.html
o A paper published in EuroSys '07 discussing the design and technical
issues surrounding this work:
http://files.mkgnu.net/files/dynamos/doc/papers/dynamos_eurosys_07.pdf
o A set of presentation slides that summarize the system:
http://files.mkgnu.net/files/dynamos/doc/papers/dynamos_eurosys_07.ppt
I hope people will find this work useful and interesting enough for it
to continue being developed.
Thanks,
Kristis
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
reply other threads:[~2007-07-23 16:39 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1185208329.20434.23.camel@localhost \
--to=kristis.makris@asu.edu \
--cc=freebsd-hackers@freebsd.org \
--cc=gnusol-devel@lists.sonic.net \
--cc=linux-kernel@vger.kernel.org \
--cc=opensolaris-code@opensolaris.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox