Index O'Stuff

Home

Compression

Arithmetic Coding
Burrows-Wheeler Transform
Huffman Coding
LZSS Coding
LZW Coding
Run Length Encoding

Misc. Programming

School Projects
Thesis Project
crypt(3) Source
Hamming Codes
Bit Manipulation Libraries
Square Root Approximation Library
Sort Library
Trailing Space Trimmer and Tab Remover
Command Line Option Parser

Humor

Dictionary O'Modern Terms
The Ten Commandments of C Style

Other Stuff

TOPS Success Story
Free Win32 Software

External Links

SPAN (Spay/Neuter Animal Network)
Los Angeles Pet Memorial Park

Mirrors
Pages at geocities
Pages at dipperstein.com

Obligatory Links
NoteTab Credits
Quanta Credits
Linux User Number

Visits since I started counting:
Counter

Michael Dipperstein's Project Page


Welcome to my project page. This page contains information about my class projects (not my work projects). I completed my MSCS course work in September 2000, and these pages haven't changed much since. If you can't get enough of my projects, check out the links to other stuff I've published.

If you have nothing better to do, email me at mdipper@alumni.engr.ucsb.edu


Database Consistency Project (teamed with Kevin O'Gorman (kogorman@cs.ucsb.edu))

Project Papers
Functional Requirements Document
Design Document
Observations and Innovations (This is the part that is the most interesting)
Project Source
Click here for a gziped tar of the project source. The source is written in a combination of PERL script and HTML. The PERL script files are in the archive's cgi subdirectory. The HTML are in the archive's html subdirectory. After extracting the archive:
  1. Copy the files from the cgi subdirectory to the directory where your server executes cgi.
  2. Copy the files from the html subdirectory to the directory where you keep you HTML files.
  3. Edit all the links in the PERL files to point to there new home.
  4. Edit all the links in the HTML files to point to there new home.
NOTE: The PERL scripts use semaphores and shared memory. Not all PERL distributions provide support for semaphores and shared memory. It's possible to use files instead of shared memory, and file renaming as a means of obtaing a semaphore (lock).

Real-time UDP Data Mixer

Project Papers
Description of project objectives and source code (Something I quickly threw together in case some one reads this page.)
Project Source
Click here for a gziped tar of the project source. The source is written to operate under Solaris 2.6.

Porting and Analysis of SPLASH-2 Ocean Current Simulation

Project Papers
Stanford's SPLASH-2 Home Page
Initial Report (PostScript)
Additional Results and Comparisons (PostScript)
Project Source

Click here for a gziped tar of the project source (including documents). The source is written to operate on an SGI Origin 2000, though I have executed p-thread version on a Solaris machine.

Libraries converting many of the ANL PARMACS macros for use with p-threads, MPI, and fork with shm on the SGI Origin 2000 are include in the tar the linked to above.

Survey of Nucleotide (DNA) Database Search Techniques (teamed with Matt Maxel (mmaxel@isle.net) and Eric Indiran (epi@plpt.com)

This started as a 7 week project on "DNA Sequence Alignment", after about a week of study, we came up with the following plan. It didn't take to long to realize that we were too ambitious. The project evolved into a survey of nucleotide database search techniques.

Project Papers
PowerPoint presentation
Project paper
Definitions of related terms

MLTP - A Multi-Layer Thread Package for SMP Linux (Thesis Project)

Thesis Abstract

This thesis is focused on the design and implementation of an open-source two-level thread package called MLTP for the Linux operating system running on Intel PC SMPs. Kernel threads directly scheduled by multiprocessor OS normally have high context switch cost compared to user-level threads. User-level threads scheduled within a single kernel process are not capable of utilizing multiple processors. Many parallel applications running on SMPs require support for flexible control of kernel and user-level threads and such a package is not available on the Linux operating system. In the thesis talk, I will discuss an M-to-N architecture for MLTP and a design for efficient synchronization and switch among threads. Such a design allows a multi-thread application to achieve scalability and efficiency in multi-processor environments at a low cost. I will also present performance of MLTP for several micro-benchmarks and applications on Intel Xeon dual and quad-processor SMPs.

Thesis Documents and Source
Thesis Paper gzip compressed postscript
Thesis Presentation gzip compressed Star Office 5.2 format HTML format
MLTP Source (compressed archive)
MLTP Benchmarks (compressed archive)

Home
Last updated on August 29, 2007

1