What Did DTrace Get Right and Wrong About Distributed Tracing?
Graeme JenkinsonAffiliated Lecturer and Senior Research Associate, University of Cambridge Department of Computer Science and Technology
Abstract: DTrace was designed and developed by Sun Microsystems to solve a particular problem, being able to instrument systems that were currently deployed, without requiring the recompilation of any code. Despite the focus on tracing within a single-node, DTrace‘s design addresses a variety of classical distributed systems concerns. However, in doing so it makes a number of implicit assumptions and guarantees. In this talk I’ll consider the original DTrace design as a particular model of partial computation (split between kernel and userspace) exploring how changes to that model for example, to adapt DTrace to more distributed settings interact with those implicit guarantees and assumptions. Lessons learned from the development of a prototype, asynchronous, distributed DTrace will be presented and future research directions will be discussed.
Bio: Graeme Jenkinson is an Affiliated Lecturer and Senior Research Associate at the University of Cambridge Department of Computer Science and Technology. Starting out as electronic engineer he soon swapped a basic incompetency with a soldering iron for a passion for engineering safety critical and secure software. He held senior technical positions in the Automotive and Defense industries before returning to academia in 2016, working on systems as diverse as interior lighting for Jaguar cars, communications between coalition partners, and wearable authentication tokens.