CS252: Fall 99 Final Projects

This page contains pointers to the final CS252 project pages for Fall of 1999. These projects are done in groups of two or three and span a wide range of topics. To see the original list of suggested projects, look HERE.
1:   SCOREPix: MPEG Video Encoding On Reconfigurable Hardware
 Michael Chu and Joseph Yeh
We propose to accelerate MPEG-compliant video encoding by using reconfigurable hardware to perform the crucial motion estimation tasks. We will implement these tasks using the SCORE platform developed by the BRASS group to dynamically reconfigure a gate array based upon computational demands. We will perform simulations on various sizes of gate arrays.
Supporting Documentation: Final Report (ps)
  
2:   Decision Tree Branch Prediction
 Mark Paskin and Nemanja Isailovic
We propose using decision trees as a method of learning complex branch correlations for branch prediction. We have developed an in-hardware representation of decision trees capable of single-cycle prediction, and an online induction algorithm to learn decision trees based upon observed branch behavior. In our report we will compare the predictive power of our scheme and its implementation costs against current global schemes such as GAs and G-share.
Supporting Documentation: Final Report (ps)
  
3:   Typhoon: Archival High Availability and Automatic Disaster Recovery of data using Tornado Codes
 Hakim Weatherspoon and Shelley Zhuang and Matthew Delco
Typhoon is an archival data storage mechanism that uses a combination of multiple servers and erasure codes (specifically tornado codes) to provide a high level of availability such that nearly half of the constituents of the system could fail without affecting the overall accessibility of data. Typhoon uses a similar amount of aggregate disk space as a mirrored file system, but distributed across multiple servers. As a result, compared to conventional network data delivery systems, such as NFS, a system that utilizes Tornado Codes has the potential to provide a much higher degree of reliability of data. Furthermore, this new system should be able to provide this benefit while providing a comparable level of performance in terms of latency and throughput.
Supporting Documentation: Final Report (ps)
  
4:   Optimized T-Treaps
 Ben Y. Zhao and Josh MacDonald
Treaps are simple yet efficient probabilistic self-balancing search trees. We are striving to improve them by increasing the data to pointer ratio, as well as exploiting the randomized priorities to provide better cache performance, both in the presence and absence of explicit control over memory layout.
Supporting Documentation: Final Report (pdf)
  
5:   Distributed File Server
 Timothy Fitz and Daniel Hettena and Victor Wen
We are investigating an efficient means for implementing network servers using a state machine model with a few threads (e.g. one per physical processor). In particular, we are interested in a distributed file server using a file-based cache coherence scheme and basic mirroring to maintain strong consistency and coherency while optimizing for performance whenever possible.
Supporting Documentation: Final Report (ps)
  
6:   Extended Cryptographic File System
 Monica Chew and Chris Wells and David Bindel
We will extend the Cryptographic FileSystem. We will add data integrity via signatures. We will make integrity and privacy (signatures and encryption) selective, so that a user may choose not to encrypt or sign a particular file.
Supporting Documentation: Final Report (ps)
  
7:   CLUMP
 Patrick R. Eaton and Dennis Geels and Greg Mori
We evaluated CLUMP, an introspective method of reducing file system latency. CLUMP monitors file accesses and continuously adapts to changing workload conditions using knowledge inferred from those observations. We employ the notion of semantic distance to relate pairs of files based on observations from the trace of file system activity. We then evaluate two file system optimizations, one based on clustering and one based on prefetching, which use these file relationships to dynamically adjust the system to enhance performance.
Supporting Documentation: Final Report (ps)
  
8:   Continuous Query Processing and Dissemination
 Yan Chen and Sam Williams and Kelvin Lwin
Traditional database information monitoring techniques, such as database triggers, active DBMS and continuous queries have various limitations, can not provide large scale dynamic data push and have no efficient data dissemination support. Meanwhile, current dissemination systems, which are separated from database, can not handle complicated query requests, such as aggregate operation. Also, as a middleware, it adds more overhead to the data querying. We designed, implemented and analyzed the first efficient active lightweight DBMS which also has full dissemination features built-in. We proposed a novel technique: record-based triggering, for efficient monitoring of clients' interested records known a priori. Also we use message passing for communication between clients and database servers. Unlike table-based triggering in current commercial database systems, record-based triggering gives much better scalability as well as speed. Meanwhile, compared with traditional communication mechanism as remote procedural call, message passing give full control to the active DBMS system, thus it can optimize the data processing and dissemination. The system, called Continuous Query Processing and Dissemination (CPQD), has been implemented in Java and is portable, extensible and scalable. Compared with traditional periodic pull techniques, the experiments results are very promising.
Supporting Documentation: Final Report (pdf)
  
9:   IP-RAV: Internet prototcol on Reconfigurable And Vector Architectures
 Tina Smilkstein and Engling Yeo
We plan to compare performance of IP packet construction and evaluation on two different platforms for various types of data and environmental restrictions. The platforms we will compare are our own implementations of IP on an FPGA & V-IRAM.
Supporting Documentation: Final Report (ps)
  
10:   PreFetCH: Predictive Fetching, Caching, and Hoarding
 Byung Hoon Kang and Sarika Sahni and H. Wilson So
In OceanStore, the initial latency to access a file might be unacceptably high if user and data are far apart. To hide the latency, we must predict when, where, and for which files the user will be accessing. Prediction allows files to be prefetched to a server that is near where the user is expected to access the file, thereby reducing the initial access latency. This projects presents a framework for the design and evaluation of different predictors and compares several PreFetCH predictors that we have implemented.
Supporting Documentation: Final Report (ps)
  
11:   Exploration of the new IXP1200 Network Processor from Intel
 Fernando De Bernardinis and Scott J. Weber
Intel has recently presented a new architecture designed specifically for network applications. This architecture should allow Intel to erode the router market while providing a large degree of programmability. Our intent is to analize the aIXP1200 architecture and run some benchmark on it in order to verify its effectiveness.
Annotations: Report temporarily withheld due to NDA concerns.
  
12:   FarFetch: An Intelligent Prefetcher
 Steve Chien and Francois Labelle
FarFetch seeks to improve cache behavior through introspective computing approaches. Our belief is that memory access patterns, like those of branches, data values, and data dependences, are predictable at the hardware level. Our project will first analyze these patterns and implement new algorithms to take advantage of them.
Supporting Documentation: Final Report (ps)
  
13:   FPGA Implementation of the Viterbi Decoder
 Iakovos Mavroidis
This work presents the design and implementation of the Viterbi decoder on FPGA. The goal of the project is to study area-speed-effectiveness trade-offs while in parallel propose a cost-effective implementation of the decoder. Several Viterbi decoders were built in order to compare their characteristics.
Supporting Documentation: Final Report (ps)
  
14:   An Investigation into the Power Consumption of PDA Networking.
 Steve Ross and Jason Hill
We are investigating the power consumption of current PDA networking. We will compare the current model of a long lived PPP connection to a short lived lighter weight intermittent proxied protocol.
Supporting Documentation: Final Report (ps)
  
15:   A High Performance Storage Manager based on FSMs
 Mohan Lakhamraju and Amol Deshpande
This project involves the design and implementation of a universal storage manager which provides a flexible and extensible API for applications to configure it to match their consistency and recovery requirements. For high performance, we are designing it using a single-threaded finite state machine model. We plan to compare its performance with a multi-threaded implementation on a web-server like workload.
Supporting Documentation: Final Report (pdf)
  
16:   You Know We're Down with OPP: Optimization of Protocol Processing
 Kevin Camera and Tim Tuan
Implementing networking protocols efficiently is very important in wireless applications. Our project will explore ways to optimize modern microprocessor architectures and ISAs to achieve low-power and high-performance protocol processing.
Supporting Documentation: Final Report (pdf)
  
17:   Design and Analysis of Efficient Data-Fusion Algorithms and Ad-Hoc Routing protocols for Sensor Devices and Networks
 Ramakrishna Gummadi and Ashwin Seshia
The goal of our project is to analyze the performance of applications and innovative protocols for sensors networks on various specialized architectures like the vector IRAM. In particular, we consider new fault-tolerant routing schemes that can take advantage of the link-level broadcast facilities provided by the RF devices on sensors, and that can use localized learning to make intelligent decisions, which we demonstrate are economical to implement and robust in presence of failures.
Supporting Documentation: Final Report (ps)
  
18:   Libra: A Cluster-Based Environment for Scalable Web Services
 Rob von Behren and Bhaskar Raman
In this project, we intend to study the performance and flexibility in using an asynchronous, event-based communication mechanism in cluster-based services. Specifically, we look at a CGI web-server interface to a multi-user mail system - NinjaMail. We study the benefits of the asynchronous interface as well as the use of an affinity model to attain better information locality in the cluster (by maintaining affinity between a particular user's mail and a particular CGI server in the cluster).
Supporting Documentation: Final Report (ps)
  
19:   Automatic Generation of Predictors via Genetic Programming
 Ziv Bar-Yossef and Kris Hildrum
We propose to improve the genetic programming approach for automatic generation of prediction algorithms proposed by Emer and Gloy. Specifically, we intend to incorporate the predictor complexity into the fitness function, thus obtaining predictors that both have high prediction rate and are feasible to implement in hardware.
Supporting Documentation: Final Report (ps)
  
20:   Scalable Techniques for Verifying Sequential Consistency in Shared Memory Multiprocessor Systems
 Ranjit jhala and Rupak Majumdar
We look at ways to formally verify that memory coherence schemes for shared-memory multiprocessing systems satisfy the requirements of sequential consistency.
Supporting Documentation: Final Report (ps)
  
21:   Data Location in the OceanStore
 Sean C. Rhea and Wes Weimer
We will study the problem of data location in the OceanStore and propose a protocol for the probabilistic location of objects with in a distributed network of servers. In particular we will use attenuated Bloomfilters to route object query requests to the servers most likely to contain (a copyof) the object. We will have both theoretical and simulation-based results.
Supporting Documentation: Final Report (ps)
  
22:   TERS - a reconfigurable hardware version of TCP/IP
 Mark Whitney and Toru Kuzuhara
The TERS project strives to determine whether flexible hardware implementations of the popular networking protocol stack can outperform traditional software implementations.
Supporting Documentation: Final Report (ps)
  

To Edit your description, enter the project number and press "Edit":
Back to CS252 page
Maintained by John Kubiatowicz (kubitron@cs.berkeley.edu).
Last modified Sat Dec 18 02:08:02 1999