home · mobile · calendar · bactac · 2001-2002 · 

BACTAC - Neufeld, Crawl and Morrey

Operating System and Networking Research at CU
Michael Neufeld
Grad Student, Department of Computer Science
Daniel Crawl
Grad Student, Department of Computer Science
Grad Student, Department of Computer Science
Mike Neufeld -- CommuNet

The goal of the Community Networking (CommuNet) project is to design a highly scalable, zero to low administration, wide area ad hoc networking system that integrates with and exploits existing network infrastructure as well as provides some support for legacy nodes. By and large, existing ad hoc routing protocols perform the task they were designed for well, i.e. routing within an isolated group of homogeneous nodes in a single administrative domain. However, these protocols don't usually scale particularly well on their own, and typically don't handle routing between ad hoc networks and existing IP networks. They also don't exploit the fact that, in environments less hostile than the battlefield, many nodes may be stationary and operational for extended periods and have fixed connections to other networks. By exploiting these relatively fixed points in the network, we hope to leverage existing ad hoc routing protocols to create a scalable, self-organizing network. With some modification to the protocols, we also intend to provide some network connectivity to roaming "legacy" nodes that are completely unaware of ad hoc routing, as well as support connectivity to the Internet.

Dan Crawl -- Bifrost Location Independent Computing System

The data, applications and devices present in current personal computing environments are fragmented into a complex and hard-to-manage collection of information tools. The variety of information representations used by these tools further hinders their effective interoperation. The convergence in time of substantial need, substantial communication infrastructure, and high performance portable computing devices offers the opportunity to explore a better alternative. We propose to develop a prototype of such an alternative that we refer to as location independent computing. The Bifrost location independent computing project seeks to provide a uniform and comprehensive information access environment regardless of user location or computing device. The core research issues of the project are (1) mobility management (how we move data and threads to support user and device mobility), (2) data management (how we represent, access, update, and protect information), and (3) application management (how we provide a system-wide common applications base).

Brad Morrey -- Automatic Kernel-Level Speed Setting using the BUFScale API

Our research in Power Aware computing is focused on automatic speed setting in the operating system kernel. We are using our own Boulder Unified Frequency/voltage Scaling (BUFScale) interface to test our theories about speed setting. (The BUFScale Interface is an architecturally independent scaling API we designed and have ported to three platforms.) We are using control theoretic principles to govern the system processor speed. To that end, we have implemented a simple Proportional-Integral-Differential (PID) controller, using utilization as our target variable to control. We model utilization linearly, and target 90% utilization as a goal for the controller to maintain. The controller performs well, saving energy, but blows a significant number of deadlines while decoding an MPEG video.

We theorize that utilizing kernel level information about process execution, (i.e. I/O interrupts, wait queue information, process start and completion information, and system calls such as sleep) will improve the simple reactive controller enough to make it a useful general-purpose energy saving mechanism.

The main problem with the reactive controller is responsiveness to a sudden heavy load. For instance, when an MPEG frame is completed, and the decoder sleeps until the next frame is to be begun, the system load drops, possibly idling if there are no other CPU-hungry jobs. Then when the sleep completes, the decoder is ready to begin decoding the next frame. The kernel obviously knows exactly when the sleep completes. This information is available to the speed setting mechanisms, so it can be used as a heuristic to speed up the processor right as a process becomes runnable again.

This work is a part of a more general top to bottom energy-aware project integrating architectural, kernel, and runtime level changes, ongoing at the University of Colorado Boulder.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:24)