TY - JOUR
T1 - Tsumiki
T2 - A meta-platform for building your own testbed
AU - Cappos, Justin
AU - Zhuang, Yanyan
AU - Rafetseder, Albert
AU - Beschastnikh, Ivan
N1 - Funding Information:
We would like to thank the 100+ people who have made improvements to the Tsumiki code base, particularly the Seattle project, and over 4K people who have used our testbeds. This work has been extensively supported by NSF, grant numbers 1547290, 1405904, 1405907, 1205415, 0834243, and 1223588. This work has also been supported by an NSERC Postdoctoral Fellowship.
Publisher Copyright:
© 1990-2012 IEEE.
PY - 2018/12/1
Y1 - 2018/12/1
N2 - Network testbeds are essential research tools that have been responsible for valuable network measurements and major advances in distributed systems research. However, no single testbed can satisfy the requirements of every research project, prompting continual efforts to develop new testbeds. The common practice is to re-implement functionality anew for each testbed. This work introduces a set of ready-to-use software components and interfaces called Tsumiki to help researchers to rapidly prototype custom networked testbeds without substantial effort. We derive Tsumiki's design using a set of component and interface design principles, and demonstrate that Tsumiki can be used to implement new, diverse, and useful testbeds. We detail a few such testbeds: A testbed composed of Android devices, a testbed that uses Docker for sandboxing, and a testbed that shares computation and storage resources among Facebook friends. A user study demonstrated that students with no prior experience with networked testbeds were able to use Tsumiki to create a testbed with new functionality and run an experiment on this testbed in under an hour. Furthermore, Tsumiki has been used in production in multiple testbeds, resulting in installations on tens of thousands of devices and use by thousands of researchers.
AB - Network testbeds are essential research tools that have been responsible for valuable network measurements and major advances in distributed systems research. However, no single testbed can satisfy the requirements of every research project, prompting continual efforts to develop new testbeds. The common practice is to re-implement functionality anew for each testbed. This work introduces a set of ready-to-use software components and interfaces called Tsumiki to help researchers to rapidly prototype custom networked testbeds without substantial effort. We derive Tsumiki's design using a set of component and interface design principles, and demonstrate that Tsumiki can be used to implement new, diverse, and useful testbeds. We detail a few such testbeds: A testbed composed of Android devices, a testbed that uses Docker for sandboxing, and a testbed that shares computation and storage resources among Facebook friends. A user study demonstrated that students with no prior experience with networked testbeds were able to use Tsumiki to create a testbed with new functionality and run an experiment on this testbed in under an hour. Furthermore, Tsumiki has been used in production in multiple testbeds, resulting in installations on tens of thousands of devices and use by thousands of researchers.
KW - Networked testbeds
KW - distributed systems
UR - http://www.scopus.com/inward/record.url?scp=85048584434&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85048584434&partnerID=8YFLogxK
U2 - 10.1109/TPDS.2018.2846242
DO - 10.1109/TPDS.2018.2846242
M3 - Article
AN - SCOPUS:85048584434
SN - 1045-9219
VL - 29
SP - 2863
EP - 2881
JO - IEEE Transactions on Parallel and Distributed Systems
JF - IEEE Transactions on Parallel and Distributed Systems
IS - 12
M1 - 8382260
ER -