Authors
Koskinen, Eric and Jannotti, John
Date
EuroSys 2008
Novel Idea
The novel idea of this work is that it does exact tracing of requests
by interposing a shim between library calls so that a collection of
protocol processors can log the message stream in a coordinated
fashion. By carefully managing the flow of messages in the system,
BorderPatrol can trace the system exactly. BorderPatrol also makes a
number of reasonable assumptions about how the black boxes are
programmed, namely that they are programmed using common software
design patterns.
Main Results
The BorderPatrol system and collection of protocol processors (HTTP,
FastCGI, PostgresSQL, X11, DNS, etc.) are presented.
Impact
Unknown.
Evidence
The authors trace the website dearinter.net using BorderPatrol, then
add confessional debugging to the software stack in order to confirm
BorderPatrol's traces. They also show that BorderPatrol can trace
closed-source software such as the Zeus webserver; while they can't
prove that the Zeus trace is 100% accurate, it does produce reasonable
results.
Prior Work
BorderPatrol builds upon prior work in tracing such as Pip, Magpie,
Traceback, and Project5 from HP Labs.
Competitive Work
PinPoint, Causeway, and X-Trace can be considered the competitive
works because they are also pervasive frameworks which are producing
traces, although not always through several layers.
Reproducibility
Yes! The BorderPatrol system is publicly available.
Question/Criticism
What can be done about the performance hits? Some of those are quite
heavy. Also, in the left-most benchmark in Figure 11, was BorderPatrol
also writing to the same disk? If so, that might have skewed the test
rsults
Ideas for further work
None.
Novel Idea
BorderPatrol is a system that is able to obtain request traces through
black-box systems without instrumenting or modifying the underlying
code. Through some protocol specific knowledge combined with wrappers
for standard library functions BorderPatrol is able to reconstruct a
trace through various programs. This is made possible by several
assumptions about the underlying black boxes, that they are honest,
immediate, and independent.
Main Result(s)
The authors find that they tracing execution through various programs,
even when no source code is available, is indeed possible. They are
able to trace events through the Zeus webserver, a program with no
public source code available for instrumentation. The overhead
involved seems to be fairly low, although CPU bound workloads do not
seem to scale as well as other loads.
Impact
BorderPatrol seems like it could easily become a standard part of a
debugging toolkit for developers.
Evidence
The authors conduct a case study for dearinter.net as well as use a
test computer under "realistic workloads"
Prior Work
Besides approaches requiring access to sourcecode, BorderPatrol
improves upon methods of making traces using statistical methods
(which may have errors).
Reproducibility
Given access to BorderPatrol, yes.
Question
How should BorderPatrol be deployed? It is said to be production
environment ready, but do we really need such a program on all
production servers all the time?
Criticism
A 10-15% overhead does not seem as low as the authors suggest, and
border patrol does increase the latency in some workloads (like exec
bound workloads) enough that in systems requiring low latency,
BorderPatrol may only be able to be run part time or on some servers.
Ideas for further work
No