OnDoc
| sign
in
up
~
pub
|
pdf
txt
html
toc
url
|
<<
>>
1
~
5
6
7
8
9
10
11
~
129
Table of Contents
Introduction
Overview
Thesis Contributions
Kilim: Communicating Actors for Java
Example
Dissertation Outline
Background
Present-day server architecture issues
Data plane: State transformation
Data plane: Immutable objects
Control plane
Hardware trends and server-side design opportunities
Communicating Actors
Related Work
Control Plane
Data Plane
Isolation: not an isolated quest
Kilim Abstract Machine
Syntax
Operational Semantics
Type System
Design Choices
Putting them all together
Phase-1: Base Type Inference
Phase-1 Termination and Soundness: Proof sketch
Typestates and Heap Abstraction
Object typestate
Shape graphs
States + Shape graph = Shape-state graph
Properties of Shape-State graphs
Phase-2: Message verification
Normalization
Semantic Rules
Soundness of message verification
Mapping to Java
Sharable types
Arrays
Collections and Iterators
Related work
Kilim architecture and implementation
Actors and Fibers
Continuations: An overview
Automatic Stack Management
JVM constraints
Optimizations
Cooperative Preemption
Lightweight Threads: Related Work
Communication and Coordination
Scheduling
Scheduler Hopping
Scheduling: Related Work
Network Support
The Kilim I/O architecture
Network Support: Related Work
Evaluation and Performance
In-core benchmarks
Network benchmark: Kilim I/O vs. Thread-per-request
Results
CPU + Network benchmark: Kilim Web Server
KWS architecture
KWS application: auto-completion
Results
CPU + Disk: Berkeley DB
Berkeley DB: original architecture
Berkeley DB: Modifications
Berkeley DB: Benchmark and Results
Qualitative Evaluation: Kilim in practice
Conclusions and Future Work
Future Work
Notation and Nomenclature
Bibliography