Next Previous Previous Contents References
Contents

Contents

1 INTRODUCTION
1.1 From Mainframes To Personal Computers
1.2 The Advent of the Information Appliance
1.3 The Need for Configurable and Modular Operating Systems
1.4 Performance Implications of Modular Systems
1.4.1 Potential For Performance Improvements
1.4.1.1 Code Synthesis
1.4.1.2 Integrated Layer Processing
1.4.1.3 PathIDs
1.4.1.4 Single-Copy TCP/IP
1.4.2 Implications on Quality-of-Service and Predictability
1.5 Beyond Modularity: The Path Abstraction
1.6 Thesis Statement and Contributions
2 PATH ABSTRACTION
2.1 Communication Network Analogy
2.2 Path Model
2.2.1 Basic Path
2.2.2 Path Processing
2.2.3 Path Creation
2.2.3.1 Short Paths
2.2.3.2 Extending Paths
2.2.3.3 Optimization Phase
2.2.3.4 Invariants
2.2.3.5 Who Creates Paths?
2.2.4 Generalized Paths
2.2.4.1 Directionality
2.2.4.2 Complex Processing
2.3 Summary and Discussion
2.3.1 Policy Issues
2.3.2 Intuitive Models
2.3.3 Limitations
2.4 Applications
2.4.1 Code Optimizations
2.4.1.1 Code Synthesis
2.4.1.2 Integrated Layer Processing
2.4.1.3 PathIDs
2.4.1.4 Single-Copy TCP/IP
2.4.1.5 Summary
2.4.2 Resource Management
2.4.2.1 Fbufs
2.4.2.2 Migrating/Distributed Threads
2.4.2.3 Segregation of Work
2.5 Related Work
3 SCOUT ARCHITECTURE
3.1 Overview
3.1.1 Scout Epochs
3.2 Modularity
3.2.1 Module Granularity
3.2.2 Module Structure
3.2.3 Module Graph
3.2.3.1 Compatibility
3.2.3.2 Runtime Representation and Module Initialization
3.2.4 Discussion
3.3 Paths
3.3.1 Attributes
3.3.2 Visual Overview of a Scout Path
3.3.3 Path Object
3.3.4 Stage
3.3.5 Interface
3.3.6 Creation
3.3.7 Extension
3.3.8 Optimization
3.3.9 Destruction
3.3.10 Evaluation and Discussion
3.4 Demultiplexing
3.4.1 Scout Packet Classifier
3.4.2 The Role of Classifiers
3.4.3 Realizing the Scout Classifier
3.4.3.1 Globally Hierarchical Classification
3.4.3.2 Classification in Non-Demultiplexing Modules
3.4.4 Evaluation
3.5 Execution Model
3.5.1 Thread Scheduling
3.5.2 Thread Creation
3.6 Related Work
4 USING PATHS TO OPTIMIZE CODE
4.1 Preliminaries
4.1.1 Experimental Testbed
4.1.2 Test Cases
4.1.3 Base Case
4.2 Latency Reducing Techniques
4.2.1 Outlining
4.2.2 Cloning
4.2.3 Path-Inlining
4.2.4 Last Call Optimization
4.3 Evaluation
4.3.1 Test Cases
4.3.2 End-to-End Results
4.3.3 Detailed Analysis
4.3.3.1 Cache Statistics
4.3.3.2 Processing Time Measurements
4.3.3.3 Performance Improvement Comparison
4.3.3.4 Outlining Effectiveness
4.4 Concluding Remarks
5 USING PATHS FOR RESOURCE MANAGEMENT
5.1 Building NetTV
5.1.1 Module Graph
5.1.2 Paths
5.1.2.1 Shell Commands
5.1.2.2 Video Paths
5.1.3 Base Performance
5.2 Resource Management
5.2.1 Queues
5.2.2 Scheduling
5.2.2.1 Avoiding Priority Inversion
5.2.2.2 Scheduling According to Bottleneck Queue
5.2.3 Admission Control
6 CONCLUSIONS
6.1 Summary
6.2 Contributions
6.3 Future Directions
6.3.1 CPU Scheduling
6.3.2 Distributed Paths
6.3.3 Secure Paths

List of Figures

1System Design Spectrum
2Example Communication Network
3Example Modular System
4Simple Path
5Example Path in Modular System
6Dynamic Routing Decision
7Path Creation Using pathExtend
8Example Path
9Approximating Fan-In/Fan-Out With Multiple Paths
10Scout Development Timeline
11Module With Two Services
12Modular Graph for Network-Attached Camera
13Graph Description File for Network-Attached Camera
14Path Structure
15Paths Versus Classifiers
16Classification Pseudo-Code
17Update of Demux Tree
18Typical Partial Classifier
19Example Requiring Global Hierarchical Classification
20Generalized Partial Classifier
21Classification Performance as a Function of Number of Filters
22Test Protocol Stacks
23Effects of Outlining and Cloning
24Module Graph For MPEG Example
25Paths Created at Boot Time
26Example Video Paths
27Correlation Between MPEG Frame Size and Decoding Time

List of Tables

1SPECnfs Results and System Configurations
2Module Descriptions
3Example Mappings
4Summary of Scout Classifier and DPF Comparison
5Comparison of TCP/IP Implementations
6Roundtrip Latency
7Roundtrip Latency Adjusted for Network and Controller
8Cache Performance
9Protocol Processing Costs
10Comparison of Latency Improvement
11Outlining Effectiveness
12Description of NetTV Modules
13Description of NetTV Interfaces
14Description of a Commonly-used Path Attributes
15Coarse Grain Comparison of Scout and Linux
16Frame Rate Under Load


Next Previous Previous Contents References