TY - GEN
T1 - Defined
T2 - 2013 USENIX Annual Technical Conference, USENIX ATC 2013
AU - Lin, Chia Chi
AU - Jalaparti, Virajith
AU - Caesar, Matthew
AU - Van Der Merwe, Jacobus
N1 - Publisher Copyright:
© USENIX Annual Technical Conference, USENIX ATC 2013. All rights reserved.
PY - 2019
Y1 - 2019
N2 - Large-scale networks are among the most complex software infrastructures in existence. Unfortunately, the extreme complexity of their basis, the control-plane software, leads to a rich variety of nondeterministic failure modes and anomalies. Research on debugging modern control-plane software has focused on designing comprehensive record and replay systems, but the large volumes of recordings often hinder the scalability of these designs. Here, we argue for a different approach. Namely, we take the position that deterministic network execution would vastly simplify the control-plane debugging process. This paper presents the design and implementation of DEFINED, a user-space substrate for interactive debugging that provides deterministic execution of networks in highly distributed and dynamic environments. We demonstrate our system's advantages by reproducing discovery of known ordering and timing bugs in popular software routing platforms, XORP and Quagga. Using Rocketfuel topologies and routing data from a Tier-1 backbone, we show DEFINED is practical and scalable for interactive fault diagnosis in large networks.
AB - Large-scale networks are among the most complex software infrastructures in existence. Unfortunately, the extreme complexity of their basis, the control-plane software, leads to a rich variety of nondeterministic failure modes and anomalies. Research on debugging modern control-plane software has focused on designing comprehensive record and replay systems, but the large volumes of recordings often hinder the scalability of these designs. Here, we argue for a different approach. Namely, we take the position that deterministic network execution would vastly simplify the control-plane debugging process. This paper presents the design and implementation of DEFINED, a user-space substrate for interactive debugging that provides deterministic execution of networks in highly distributed and dynamic environments. We demonstrate our system's advantages by reproducing discovery of known ordering and timing bugs in popular software routing platforms, XORP and Quagga. Using Rocketfuel topologies and routing data from a Tier-1 backbone, we show DEFINED is practical and scalable for interactive fault diagnosis in large networks.
UR - http://www.scopus.com/inward/record.url?scp=85077192375&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85077192375&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85077192375
T3 - Proceedings of the 2013 USENIX Annual Technical Conference, USENIX ATC 2013
SP - 347
EP - 358
BT - Proceedings of the 2013 USENIX Annual Technical Conference, USENIX ATC 2013
PB - USENIX Association
Y2 - 26 June 2013 through 28 June 2013
ER -