justin d. weisz

ph.d. graduate

computer science department

carnegie mellon university


email: jweisz@cs

Graduate course projects

18-741 Advanced Computer Architecture (Fall 2006)

DBmbench: miniaturized benchmarks for simulated databases

Joint work with Yan Ke

Conventional database benchmarks, such as the TPC-C and TPC-H, were designed to test functionality and overall performance of database systems running on real hardware. Because of the high cost of servers, many studies that explore database performance have used scaled-down versions of these benchmarks, either by reducing the amount of data on which the database queries are made, or by simplifying the database queries. However, it is unclear whether these scaled-down benchmarks are representative of the original benchmarks, in terms of behavior at the micro-architecture level. DBmbench is a scaled down version of the TPC-C and TPC-H benchmarks, and we ran DBmbench on the AMD Opteron architecture, as well as the Flexus simulation environment, to verify that it exhibited the same micro-architectural behaviors as the full TPC-C and TPC-H benchmarks. Our metrics included query execution time, memory stall time at different cache levels, data and instruction cache misses, and branch misprediction rates.

Download the paper

15-781 Machine Learning (Spring 2006)

Segmentation and Classification of Online Chats

One method for analyzing textual chat transcripts is a process called coding, whereby individual lines of chat, or blocks of chat, are assigned a topical label. This task is typically performed by humans, and takes a great deal of time. Automated analyses can reduce the amount of time it takes to code chat transcripts, and this paper presents the performance of the Naive Bayes and Viterbi algorithms for classifying chat data.

Download the paper

15-744 Computer Networks (Spring 2004)

Supporting Low-Latency Broadcast in End System Multicast

Joint work with Matthew Brown

End System Multicast operates by dynamically building and refining an overlay tree structure, through which data flows from the root through intermediate nodes to the leaves. This structure has proven to be highly successful for the transmission of high-bandwidth video streams. However, in order to support interactivity features (such as chat, shared whiteboards, live polls), nodes need to be able to send data to each other. One naive way in which this can be done for a broadcast message is to have a node send the message to the source, who then sends it down the multicast tree, where it is received by all other nodes in the system. However, this message incurs added latency from each of the routing hops on the overlay tree.

Our goal is to support real-time interactions which require low latency. Examples of these features include sending chat messages, interacting with a shared whiteboard, receiving information as to the presence of other users, taking a vote or poll, as well as communicating with audio in an immersive environment.

Download the paper

47-957 Computer Supported Cooperative Work (Fall 2003)

Increasing Contribution in Online Communities Using Alternative Displays of Community Activity Levels

Joint work with Patrick Barry, Uri Dekel, and Neema Moraveji

Our goal is to increase contributions to an online community by making information about the level of activity in the community salient to its members. This activity level information is encoded as a color, and displayed to the user using either a peripheral or ambient display. The peripheral display is used on the computer desktop, in the system tray. The ambient display is a physical glowing orb device which sits on a user's desk.

We specifically focus on the LiveJournal web log community, where a user's community is defined by their personal list of friends, and contributions are made by either posting new content to one's own journal, or by commenting on existing journal entries. In this work, we present a system design that monitors the activity level of a LiveJournal users, and presents that information to the user using each of the displays.

Download the paper

15-712 Operating Systems and Distributed Systems (Fall 2003)

Object Placement in Distributed Multiplayer Games

Joint work with Jeffrey Pang

We conjecture that the client-server architecture will not be able to sustain the needs of the increasingly popular Massively Multiplayer Online Games (MMOG) of the future. These games demand much larger virtual worlds than the previous iteration of real-time multiplayer games, seamless interactivity between many more players, and much more intelligent non-human interactions (e.g., with non-player characters). These demands translate to more storage, more connectivity, and more computation. In addition, this architecture is not very tolerant of faults, nor is it easily expandable.

A common solution to this type of dilemma is distribution. Distributed publish-subscribe (DPS) systems like Mercury can distribute data placement among several nodes and have support for queries rich enough for game state management. However, there is currently no model for object placement in such systems.

Our goal is to establish good principals for function placement, to support the needs of large-scale virtual environments (such as those used by MMOGs).

Download the paper

Undergraduate research projects

The Mercury Publish-Subscribe System

Detecting Cheaters in a Distributed Multiplayer Game Environment

Senior Honors Thesis (Fall 2002 - Spring 2003). Advised by Srini Seshan.

In this research, we study what kinds of cheating behaviors are possible in a distributed game environment. First, we create an implementation of Mercury, a scalable publish-subscribe system for internet games, and we evaluate the implementation's performance. Second, we create a framework for interfacing a game with the Mercury system, and for managing distributed game state. Finally, we write a distributed game using this framework in order to learn what cheating behaviors are possible in this new distributed context. Several cheating behaviors are identified in this context, and several algorithms are developed to detect when players in the system are cheating.

Download the paper or the poster

A Programming Framework for Developing Applications with Mercury

Senior Honors Thesis (Summer 2002). Joint work with Ashwin Bharambe.

This project involved developing a framework for the Mercury publish-subscribe system. The framework is responsible for managing objects and replicas, serializing and publishing objects when they are updated, updating objects when they have been published by others, and managing subscriptions.

The Engage Communications System

Engage Server and Engage Client

Independent Study (Spring 2002). Advised by Srini Seshan. Joint work with Michael Piatek.

In the course of using any type of communications software, groups of users tend to coalesce, and meet each other regularly on one server. The problem with this cohesion is that when one or several members of the group decide to explore other servers, those members of the group are unable to communicate with the other members, until they return to the server they left. This inability to communicate across servers has led to a major fragmentation of user groups, and is the problem we wish to solve.

What we propose with the Engage Communications System is a method for allowing groups of people to communicate simultaneously, while preventing the group fragmentation problem from occurring. This is done by forming a network of individually run Engage servers, where the state of each server is exchanged. Now, clients can be aware of when their peers join other servers on the network, allowing them to communicate directly.

Download the paper or the poster (page 1, page 2)

Page last modified on Tuesday, February 16, 2010.