Distributed Systems Laboratory Seminar

The DSL Seminar is a weekly gathering of the research students in the Distributed Systems Laboratory and offers a chance for people to present ongoing research, interesting papers by others, and practice talks.

Fall semester seminar meets in the DSL conference room on Mondays from 2:00 to 3:30 p.m.

Spring semester seminar meets in the DSL conference room on Thursdays from Noon to 1:30 p.m.

On occasion, it may be rescheduled to accommodate guest speakers.


Current Fall Schedule 1999-2000:


Current Spring Schedule 1999-2000:


Despite these claimed advantages, and despite my discovery that the existing system was allowing the main data base to have inconsistencies, I concluded that the potential advantages of switching to Business Objects were not sufficient to justify a change. As a result of my work, conversion of the system to Business Objects was shelved.

One interesting minor finding was that users have unrealistic expectations of the ability of universe-oriented systems to enable controllers to dynamically define custom queries. I found that complex and composite SQL queries are often that way due to the fundamental complexity of the analysis being done, and therefore the GUI or drag and drop approaches (as in Business Objects) may be a liability when designing such a multiple page query.

September 21
(note: not usual time)
:
Iliaj Hadzic

Much research has been recently directed towards building flexible and reconfigurable network infrastructures which provide better functionality and allow faster evolution. Two classes of reconfigurable networks have been investigated: adaptive protocols and programmable (active) networks.

An adaptive protocol can modify itself in the face of changing network conditions and dynamically optimize its structure. The motivation for such protocols is the intuition that a system specialized to the current set of conditions will perform better than the one designed for the common case. In addition, adaptive systems can offer greater functionality than statically architected systems.

Programmable or active networks have been proposed as a way of accelerating the deployment and support of new services. The rationale is that if the network were programmable, the protocol support for the new service could be rapidly implemented without the need for standardization process at the service level. Once the service is adopted, its implementation can be easily distributed over the network as long as interoperability exists at the programming level. Non-adoption of unattractive or poorly implemented services also becomes less costly than in traditional approach.

Several software-only prototypes of active networks have been built. Performance limitations and a tacit assumption that protocol flexibility requires software has generated a considerable amount of skepticism about applicability when the network performance is climbing rapidly.

We make two major contributions in this thesis. First, we demonstrate how results in the field of Reconfigurable Computing can be applied in constructing a reconfigurable network protocol, improving the performance by delegating ``bit-intensive'' functions to hardware. Second, we extract the safety and security issues addressed in this concept and project them to general system utilizing programmable logic and thus open the new subfield of Reconfigurable Computing, namely security of reconfigurable systems.

The methodology we use is a proof-of-concept through experimentation. We have identified the existence of bit-intensive functions in network protocols and built the run-time reconfigurable system to accelerate these functions. Our experimental platform, the Programmable Protocol Processing Pipeline (P4) is optimized for network processing and composes a set of field-programmable logic arrays (FPGA) into a processing engine achieving the processing performance of a special purpose hardware with the software-like flexibility. Using this platform and one of the proposed frameworks for building adaptive and programmable protocols, we demonstrate that the reconfigurable hardware can be used for building reconfigurable networks. This demonstrates that on-the-fly hardware programmability can be applied in many settings such as line cards, switches, routers, etc.

September 27:
Emre Ucok

Performance issues in Reporting Systems Design

In corporations who have a very large flow of information, reporting issues are often addressed by systems implemented out of a collection of independent off-the-shelf components. Does it always pay to convert to a single integrated tool that is aimed more narrowly at your problem, but is potentially less customizable? I report on my experience evaluating just such a change at the Regulatory Technology Department, Goldman Sachs and Company.

The department processes the incoming data streams (with different rates and periods) from many upstream systems and consolidates it to maintain detailed information on all of the firm's current and past positions. A very critical portion of Goldman Sachs' business depends on the timely flow and processing of this information. These are monitored by analyzing the batch, feed, processing time and other data stored in the main database (LEW-Legal Entity Workstation) in the Regulatory department.

This analysis is currently done by a collection of independent tools such as Excel and Sybase. The senior staff believed that converting this monitoring to a single, object-oriented, integrated query, analysis, and reporting tool (Business Objects) would have several advantages:

  1. a better front end
  2. more sophisticated reporting and analysis features
  3. would allow controllers to rapidly define their own queries

Despite these claimed advantages, and despite my discovery that the existing system was allowing the main data base to have inconsistencies, I concluded that the potential advantages of switching to Business Objects were not sufficient to justify a change. As a result of my work, conversion of the system to Business Objects was shelved.

One interesting minor finding was that users have unrealistic expectations of the ability of universe-oriented systems to enable controllers to dynamically define custom queries. I found that complex and composite SQL queries are often that way due to the fundamental complexity of the analysis being done, and therefore the GUI or drag and drop approaches (as in Business Objects) may be a liability when designing such a multiple page query.

October 4 - Practice Thesis Proposal
(regular dsl seminar time)
October 11 - Thesis Proposal
:
Mike Hicks
1:00 pm

Dynamic Software Updating

A dynamically updateable system may be changed at runtime to add or alter functionality for the purpose of bug-fixes, improved efficiency, or customizability. We propose to improve on the practice of writing dynamically updateable systems in three ways:

  • Generality

    We present a simple strategy for compiling and linking dynamically updateable programs that is not tied to a particular source language. This strategy allows any portion of the program to be updated at any time with minimal user intervention.
  • Safety

    All updates, whether additions or alterations, are guaranteed to be type-safe, ensuring program integrity. Exact knowledge of the running program's code is not required. In combination, these properties allow updates to originate from multiple sources.
  • Security

    Loading new or replacement code is an explicit, controllable operation. This allows programmers to formulate strategies, such as module-thinning, for securing updates.
Intuitively, a dynamic update to a program is valid if the program behaves as expected following the update. We will develop requirements for achieving update validity and provide guidelines for ensuring that updates meet these requirements.

Active networks are an important client of the proposed updating system; active networks are programmable for the purposes of improved adaptability and customizability, allowing updates to potentially any part of the system, from multiple sources. To validate our approach, we will implement both the proposed updating system and an active network implementation, PLANet, using our system. With PLANet, we will demonstrate many varied changes and show that these changes ensure safety, security, and validity.

October 25

DSL orientation

November 1

No seminar today

November 8
Jon Moore
SNAP: Safe and Effective Active Packets

We present a new scheme for *active*, or programmable, packets based upon a new packet language, SNAP (Safe Networking with Active Packets). SNAP's semantics permit us to prove that all SNAP programs are safe with respect to network resource usage and evaluation isolation. Furthermore, we describe an implementation of a SNAP interpreter, *snapd*, which achieves high performance for standard networking tasks. This work represents the first active packet system that is demonstrated to be *both* safe and efficient.

November 15
Yuval Shavitt: Lucent Bell Laboratories

Active networks: practice and theory

In this talk I will describe ABLE, the active bell-labs engine, some network management applications we devised for ABLE, and a general algorithmic model that we developed to analyze them.

ABLE is an adjunct active processor that can be added to any commercially of the shelf (COTS) router, and transform it to an active router. Using filters in the router, control packets (as well as other designated packet) are deflected by the COTS router to ABLE for processing. ABLE supports long term applications that are typical for the network management domain, as well as capsules.

Our model is suitable for analysis of algorithmic solutions for most active network prototypes. It captures the different delay inflicted on a packet whether it is processed by a short-delay module (e.g., the COTS router or the NodeOS) or by a slow software centric process (ABLE or some EE in the DARPA model).

  • Joint work with Danny Raz

December 6
Micheal Greenwald

"Is TCP really TCP-Friendly? Problems with the Internet's paradigm for congestion control"

Download slides ('97 ppt)
View slides (html)

December 13
Angelos Keromytis
Strongman

The increasing complexity and scale of networks make security management difficult. STRONGMAN (Scalable TRust Of Next Generation MANagement) addresses this issue by introducing a security policy interoperability layer based on a trust management system, and a high level specification language. In this talk I will give an overview of the architecture and the system, as well as some thoughts on future directions.

December 20
Sotiris Ioannidis
Sub-Operating Systems: A New Approach to Application Security

In the current highly interconnected computing environments, users regularly use insecure software. Many popular applications, such as Netscape Navigator and Microsoft Word, are targeted by hostile applets or malicious documents, and might therefore compromise the integrity of the system. Current operating systems are unable to protect their users from this kind of attacks, since the hostile software is running with the user's privileges and permissions.

We introduce the notion of the SubOS, a process-specific protection mechanism. Under SubOS, any application that might deal with incoming, possibly malicious objects, behaves like an operating system. It views those objects the same way an operating system views users- it assigns sub-user id's-and restricts their accesses to the system resources.

October 4 - Practice Thesis Proposal
(regular dsl seminar time)
October 11 - Thesis Proposal
:
Mike Hicks
1:00 pm

Dynamic Software Updating

A dynamically updateable system may be changed at runtime to add or alter functionality for the purpose of bug-fixes, improved efficiency, or customizability. We propose to improve on the practice of writing dynamically updateable systems in three ways:

  • Generality

    We present a simple strategy for compiling and linking dynamically updateable programs that is not tied to a particular source language. This strategy allows any portion of the program to be updated at any time with minimal user intervention.
  • Safety

    All updates, whether additions or alterations, are guaranteed to be type-safe, ensuring program integrity. Exact knowledge of the running program's code is not required. In combination, these properties allow updates to originate from multiple sources.
  • Security

    Loading new or replacement code is an explicit, controllable operation. This allows programmers to formulate strategies, such as module-thinning, for securing updates.
Intuitively, a dynamic update to a program is valid if the program behaves as expected following the update. We will develop requirements for achieving update validity and provide guidelines for ensuring that updates meet these requirements.

Active networks are an important client of the proposed updating system; active networks are programmable for the purposes of improved adaptability and customizability, allowing updates to potentially any part of the system, from multiple sources. To validate our approach, we will implement both the proposed updating system and an active network implementation, PLANet, using our system. With PLANet, we will demonstrate many varied changes and show that these changes ensure safety, security, and validity.

October 25

DSL orientation

November 1

No seminar today

November 8
Jon Moore
SNAP: Safe and Effective Active Packets

We present a new scheme for *active*, or programmable, packets based upon a new packet language, SNAP (Safe Networking with Active Packets). SNAP's semantics permit us to prove that all SNAP programs are safe with respect to network resource usage and evaluation isolation. Furthermore, we describe an implementation of a SNAP interpreter, *snapd*, which achieves high performance for standard networking tasks. This work represents the first active packet system that is demonstrated to be *both* safe and efficient.

November 15
Yuval Shavitt: Lucent Bell Laboratories

Active networks: practice and theory

In this talk I will describe ABLE, the active bell-labs engine, some network management applications we devised for ABLE, and a general algorithmic model that we developed to analyze them.

ABLE is an adjunct active processor that can be added to any commercially of the shelf (COTS) router, and transform it to an active router. Using filters in the router, control packets (as well as other designated packet) are deflected by the COTS router to ABLE for processing. ABLE supports long term applications that are typical for the network management domain, as well as capsules.

Our model is suitable for analysis of algorithmic solutions for most active network prototypes. It captures the different delay inflicted on a packet whether it is processed by a short-delay module (e.g., the COTS router or the NodeOS) or by a slow software centric process (ABLE or some EE in the DARPA model).

  • Joint work with Danny Raz

December 6
Micheal Greenwald

"Is TCP really TCP-Friendly? Problems with the Internet's paradigm for congestion control"

Download slides ('97 ppt)
View slides (html)

December 13
Angelos Keromytis
Strongman

The increasing complexity and scale of networks make security management difficult. STRONGMAN (Scalable TRust Of Next Generation MANagement) addresses this issue by introducing a security policy interoperability layer based on a trust management system, and a high level specification language. In this talk I will give an overview of the architecture and the system, as well as some thoughts on future directions.

December 20
Sotiris Ioannidis
Sub-Operating Systems: A New Approach to Application Security

In the current highly interconnected computing environments, users regularly use insecure software. Many popular applications, such as Netscape Navigator and Microsoft Word, are targeted by hostile applets or malicious documents, and might therefore compromise the integrity of the system. Current operating systems are unable to protect their users from this kind of attacks, since the hostile software is running with the user's privileges and permissions.

We introduce the notion of the SubOS, a process-specific protection mechanism. Under SubOS, any application that might deal with incoming, possibly malicious objects, behaves like an operating system. It views those objects the same way an operating system views users- it assigns sub-user id's-and restricts their accesses to the system resources.

Feb. 3
Mike Hicks

"Active Network vision and reality: lessons from a capsule-based system" by David Wetherall.
PS format
PDF format

Feb. 10
Jon Moore

SNAP: Safe Networking with Active Packets

We describe a new language for encoding active, or programmable, packets. SNAP is an expression-limited bytecode language, permitting both safety proofs about resource usage as well as efficient evaluation. SNAP is the first active packet system to be both safe *and* efficient. We describe an in-kernel implementation (with some preliminary benchmark results) and talk about applications for SNAP.

Feb. 17
Improving network utilization
Danny Raz raz@research.bell-labs.com

This talk has two parts, each dealing with a different aspect of improving network utilization and end to end performance.

The first one studies network cache placement, with a special emphasis on transparent caches. The goal is to minimize the overall flow or the average delay by optimally placing a given number of caches in the network. We present a model that captures the essentials of the cache location problem, and present a computationally efficient dynamic-programming algorithm for the single server case. We experimentally study and validate our model and algorithms using real web data. We observe that a small number of caches are sufficient to reduce the network traffic significantly. Furthermore, there is a surprising consistency over time in the relative amount of web traffic from the server along a path, lending a stability to this type of cache location solutions.

The second part of the talk addresses one of the substantial drawbacks of current network management systems. Many of these systems perform periodic polling that imposes a significant load on the network. We propose methods for efficient monitoring of data network. In this work we present a new model that allows quantifying the efficiency of polling, and develop new heuristics for efficient polling.

This talk is based on joint work with J. Jiao, P. Krishnan, S. Naqvi, Y. Shavitt, and B. Sugla. About the speaker: Danny Raz received his doctoral degree from the Weizmann Institute of Science, Israel, in 1995. From 1995 to 1997 he was a post-doctoral fellow at the International Computer Science Institute, (ICSI) Berkeley, CA, and a visiting lecturer at the University of California, Berkeley. Since October 1997 he is with the Network and Service Management Research Department at Bell-Labs. His primary research interest is the theory and application of management related problems in IP networks.

Mar. 2
William Arbaugh

TBD

March 9
No seminar

March 16
No seminar - Spring Break

March 23
Mike Hicks

Mike will talk about ELF format and dynamic linking.
Useful Links:
Linkers & Loaders by John R. Levine
Tools Interface Standards (has ELF spec)
ELF Kickers (useful little ELF programs)

April 6
Vanu Bose
Vanu Inc.

TITLE: Software Radio Using a General Purpose Processor


Many of the limitation of today's wireless communications systems, such as multiple incompatible standards and the inability to dynamically optimize to the mobile environment result from a lack of flexibility in the physical layer. Software radio, the implementation of wireless physical layer functionality in software, provides the flexibility needed to overcome these limitations.

This talk presents a software radio architecture which is based on wideband digitization, a general purpose processor and application level software. The talk will highlight three areas: software radio system design, software engineering requirements, and the design of software signal processing algorithms suited for a general purpose processor.

The system has been used to implement a wireless communication system in which all of the signal processing from the air interface through the application is performed in software. The only functions performed by dedicated hardware are the down conversion and digitization of a wide band (e.g. 15 MHz) of the RF spectrum. Several radio applications including an AMPS cellular receiver and a network link employing frequency hopping with FSK modulation have been implemented and measured on this system.

The talk describes the system design issues associated with the I/O system for handling wideband sampled data streams and the design of a programming environment supporting real-time signal processing applications on a general purpose system.

April 13
Suresh Jagannathan
NECI

MLton: A Whole-Program Optimizing Compiler for Standard ML

Suresh Jagannathan
NEC Research Institute

MLton is a novel optimizing compiler for Standard ML that differs from other SML implementations in three important respects:
  1. The intermediate languages upon which optimizations are performed are all simply typed.
  2. Control-flow information used to drive interprocedural important optimizations such as closure-conversion is based on a global flow analysis that generalizes 0CFA. Closure conversion is handled via dispatch code at call-sites, with coercions inserted in the target program whenever flow analysis indicates distinct closures with different representations flow into the same program point.
  3. MLton is a whole-program compiler. All uses of functors and structures are eliminated early in the compilation process. To accomodate the simply-typed intermediate languages used in the latter stages of the compiler, all uses of polymorphism are also eliminated in early stages of compilation. MLton compiles to C.
Experimental results over a wide-range of benchmarks (ranging from 100 to 100K lines) indicate that the use of whole-program compilation, global flow analysis, and simply-typed intermediate languages leads to high-quality and portable target code.

This is joint work with Henry Cejtin and Stephen Weeks.

1998-1999 Schedule
1997-1998 Schedule


Send email to seminar participants: dsl-seminar@dsl.cis.upenn.edu
To be added to the seminar mailing list, send email to: dsl-seminar-request@dsl.cis.upenn.edu


DSL home page CIS home page


DSL Seminar, dsl-seminar-owner@dsl.cis.upenn.edu