Hot Topics in OS Research Andy Wang COP 5611 Advanced Operating Systems

advertisement
Hot Topics in OS Research
Andy Wang
COP 5611
Advanced Operating Systems
Some Hot Areas





Safely executing untrusted code
File and storage systems
Ubiquitous computing
Virtual machine environments
Reliability
Safely Executing Untrusted
Code



Type-safe languages
Virtual machines
Verified code
File and Storage Systems

Very large-scale file systems





Reliability
Performance vs. cost of ownership
Energy consumption
Very long-term storage
Peer-to-peer backup system

Challenges: privacy, consistency over
encrypted data, fairness
File and Storage Systems

Some advanced tools:






Rabin fingerprinting
Compare-by-hash
Convergent encryption
Erasure code
Bloom filter
Search on encrypted domain
Ubiquitous Computing


Lots and lots of inexpensive mobile
wireless devices
Distributed resource sharing across
untrusted domains

Economic models



Bartering
Tickets
Credits
Ubiquitous Computing

Distributed resource discovery

Pastry, Tapestry, Chord






Hypercube routing
Distributed radix sort
O(log(n))
O(1) lookup with clever replication
Distributed access control models
Peer-to-peer coordination
Ubiquitous Computing

Constrained resources

CPU




Memory, disk
Variable bandwidth
Energy


Cannot afford strong security measures
Battery density approaches that of a grenade
Sensor networks
Ubiquitous Computing

E-commerce




How to authenticate with unknown
servers?
How to make e-cash anonymous,
transferable, non-traceable, and nonforgeable?
How to prevent free-rides?
How to provide micropayments?
Virtual Machine Environments

OS support for efficient executions

Parasitic virtualization
Reliability



Running device drivers in isolated
kernel address spaces
Static code analysis for common
programming errors
Soft-state-only systems, designed to
crash
Reliability



Use computational dependencies to
locate failures
Secure hardware to certify software
General security
Revisiting Existing Designs

Path


Capriccio



Vertical paths vs. layers
Event-based scheduling
Threads with linked stacks to conserve
storage
Conquest

Lots of RAM
Introspective Computing

Self-administration



Configuration, optimization, evolution
Exploit contextual information
Autonomous computing

Automatically detect and repair system
problems
Performance



Rewrite binaries for smaller memory
footprint
Use compiler to cluster and issue bulk
system calls
Download user-level binaries into the
kernel
Download