Systematic performance evaluation using component-in-the-loop approach

Timeliness and throughput critical applications require a framework offering predictable temporal characteristics. The best practice for estimating a prediction of the system dynamics relies on benchmarking. Each novel middleware solution needs such an evaluation as part of the development process to assure an appropriate throughput in the future use. General purpose blockchain frameworks are viable replacements for many current systems in several sectors by providing a fully distributed, secure, and non-repudiable ledger as a service. Blockchain technologies target domains with a large number of interactions, thus demanding strict performance guarantees. Engineering for performance targets in a trustworthy manner requires performance models. However, performance characteristics of blockchain systems are highly unexplored due to the novelty of the technology. This paper proposes a general-purpose, systematic methodology for the performance analysis of complex systems, aided by a component-in-the-loop approach. The Linux foundation-hosted hyperledger fabric serves as a case study for the presented methodology.

[1]  Tai-hoon Kim,et al.  A Survey of Consistency Checking Techniques for UML Models , 2008, 2008 Advanced Software Engineering and Its Applications.

[2]  Andrew Birrell,et al.  Implementing Remote procedure calls , 1983, SOSP '83.

[3]  Nikolai Tillmann,et al.  An empirical study of testing file-system-dependent software with mock objects , 2009, 2009 ICSE Workshop on Automation of Software Test.

[4]  Gianfranco Ciardo,et al.  Saturation: An Efficient Iteration Strategy for Symbolic State-Space Generation , 2001, TACAS.

[5]  E. D. S. E. Silva,et al.  Transient Solutions for Markov Chains , 2000 .

[6]  Trish Hogan Overview of TPC Benchmark E: The Next Generation of OLTP Benchmarks , 2009, TPCTC.

[7]  Jan Mendling,et al.  Untrusted Business Process Monitoring and Execution Using Blockchain , 2016, BPM.

[8]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[9]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[10]  Joost-Pieter Katoen,et al.  Model-checking large structured Markov chains , 2003, J. Log. Algebraic Methods Program..

[11]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[12]  Marco Vieira,et al.  A Dependability Benchmark for OLTP Application Environments , 2003, VLDB.

[13]  Elaine Shi,et al.  On Scaling Decentralized Blockchains - (A Position Paper) , 2016, Financial Cryptography Workshops.

[14]  Amiram Yehudai,et al.  Behavioral consistency validation of UML diagrams , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[15]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[16]  Calton Pu,et al.  Understanding Performance Interference of I/O Workload in Virtualized Cloud Environments , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[17]  Michael Devetsikiotis,et al.  Blockchains and Smart Contracts for the Internet of Things , 2016, IEEE Access.

[18]  Arshdeep Bahga,et al.  Synthetic Workload Generation for Cloud Computing Applications , 2011, J. Softw. Eng. Appl..

[19]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[20]  Dirk Merkel,et al.  Docker: lightweight Linux containers for consistent development and deployment , 2014 .

[21]  C. Murray Woodside,et al.  Performance modeling from software components , 2004, WOSP '04.

[22]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[23]  Luisa Turrin Fernholz,et al.  Exploratory data analysis , 2018 .

[24]  Kishor S. Trivedi,et al.  A Best Practice Guide to Resource Forecasting for Computing Systems , 2007, IEEE Transactions on Reliability.

[25]  D. Williamson,et al.  The box plot: a simple visual method to interpret data. , 1989, Annals of internal medicine.

[26]  Emin Gün Sirer,et al.  Majority Is Not Enough: Bitcoin Mining Is Vulnerable , 2013, Financial Cryptography.