Distributed Or Monolithic? a Computational Architecture
Total Page:16
File Type:pdf, Size:1020Kb
TO APPEAR IN IEEE SYSTEMS JOURNAL, DOI: 10.1109/JSYST.2016.2594290 1 Distributed or Monolithic? A Computational Architecture Decision Framework Mohsen Mosleh, Kia Dalili, and Babak Heydari Abstract—Distributed architectures have become ubiquitous in Distributed architecture is a common approach to increase many complex technical and socio-technical systems because of system flexibility and responsiveness. In a distributed architec- their role in improving uncertainty management, accommodating ture, subsystems are often physically separated and exchange multiple stakeholders, and increasing scalability and evolvability. This departure from monolithic architectures provides a system resources through standard interfaces. Advances in networking with more flexibility and robustness in response to uncertainties technology, together with increasing system flexibility require- that it may confront during its lifetime. Distributed architecture ments, has made distributed architecture a ubiquitous theme does not provide benefits only, as it can increase cost and in many complex technical systems. Examples can be seen complexity of the system and result in potential instabilities. in many engineering systems: Distributed Generation, which The mechanisms behind this trade-off, however, are analogous to those of the widely-studied transition from integrated to modular is an approach to employ numerous small-scale decentralized architectures. In this paper, we use a conceptual decision frame- technologies to produce electricity close to the end users of work that unifies modularity and distributed architecture on a power, as opposed to the use of few large-scale monolithic five-stage systems architecture spectrum. We add an extensive and centralized power plants [2]; Wireless Sensor Networks, computational layer to the framework and explain how this can in which spatially distributed autonomous sensors collect data enhance decision making about the level of modularity of the architecture. We then apply it to a simplified demonstration and cooperatively pass information to a main location [3]; of the Defense Advanced Research Projects Agency (DARPA) and Fractionated Satellites, in which a group of small-scale, fractionated satellite program. Through simulation, we calculate distributed, free-flying satellites are designed to accomplish the the net value that is gained (or lost) by migrating from a same goal as the single large-scale monolithic satellite [4]. monolithic architecture to a distributed architecture and show The trend towards distributed architectures is not limited how this value changes as a function of uncertainties in the environment and various system parameters. Additionally, we to technical systems, and can be observed in many social and use Value at Risk as a measure for the risk of losing the value socio-technical systems, such as Open Source Software Devel- of distributed architecture, given its inherent uncertainty. opment [5], in which widely dispersed developers contribute Index Terms—Modularity, fractionation, uncertainty, fraction- collaboratively to source code, and Human-based Computation ated satellites, systems architecture, distributed architecture, (a.k.a. Distributed Thinking), in which systems of computers computational systems architecture, complex systems, uncer- and large numbers of humans work together in order to solve tainty management, modular open systems architecture (MOSA) problems that could not be solved by either computers or humans alone [6]. Despite the differences between the applica- tions of these systems, the underlying forces that drive systems I. INTRODUCTION from monolithic, in which all subsystems are located in a OR many Engineering Systems, dealing with a growing single physical unit, to distributed architectures, consisting of level of uncertainty results in an increase in systems multiple remote physical units, have some fundamental factors arXiv:1608.00944v1 [cs.DC] 2 Aug 2016 F complexity and a host of new challenges in design and in common. For all these systems, distributed architecture architecting such systems. These systems need to respond to a enhances uncertainty management through increased systems set of changes in the market, technology, regulatory landscape, flexibility and resilience, as well as enabling scalability and and budget availability. Changes in these factors are unknown evolvability [7]. to the systems architect not only during the design phase, In spite of the growing trend toward distributed architec- but also during earlier phases, such as concept development ture, studies concerning the systems-level driving forces and and requirements analysis, of the system’s life cycle [1]. The cost/benefit analysis of moving from monolithic to distributed 1 ability to deal with a high level of uncertainty translates into architecture have remained scarce . These studies are essential higher architecture flexibility in engineering systems which to decision models which determine the net value of migrating enables the system to respond to variations more rapidly, with to distributed schemes. As we will argue in this paper and have less cost, or less impact on the system effectiveness. shown in our previous work [9], the fundamental systemic driving forces and trade-offs of moving from monolithic to Mohsen Mosleh and Babak Heydari are with the School of Systems and distributed architecture are essentially similar to those for Enterprises, Stevens Institute of Technology, Hoboken, NJ, 07093 USA (e- mail: [email protected], [email protected]). moving from integrated to modular architectures. In both of Kia Dalili was with the School of Systems and Enterprises, Stevens Institute these two dichotomies, increased uncertainty, often in the of Technology, Hoboken, NJ, 07093 USA. He is now with Facebook Inc., New York, NY 10017. 1One attempt is [8]. However, the authors did not quantify costs/benefits of This work was supported by Defense Advanced Research Projects transition from monolithic to distributed architecture based on systems-level Agency/NASA contract NNA11AB35C. driving forces. TO APPEAR IN IEEE SYSTEMS JOURNAL, DOI: 10.1109/JSYST.2016.2594290 2 environment, is one of the key contributors for pushing a be separated and recombined [22]. The appropriate level of system toward more decentralized scheme of architecture, in modularity is, among other factors such as technical design which subsystems are loosely coupled. For example, consider requirements, determined by the flexibility required for the a processing unit. Depending on the relative rate of change system to deal with the changes and uncertainties that the and uncertainty in the use, technology upgrade or budget, the system confronts during its lifetime. The value that modularity, CPU can be an integrated part of the system (e.g., Smart as a systems mechanism for managing uncertainty, adds to phone), becomes modular at discretion of the user (e.g., the system has a diminishing return. Although a low degree PC), transitions to client-server architecture to accommodate of modularity hampers response to environmental changes, smoother response to technology upgrade, security threads, or over-modularity increases the overall cost of the system, gives computational demand, or migrate to a fully flexible system rise to a host of potential problems at the interfaces. Hence, with dynamic resource-sharing (e.g., Cloud computing). finding the appropriate level of modularity, corresponding to In this paper, we formulate these problems under the underlying forces in the system’s environment, is a crucial step umbrella of the general concept of modularity. Modularity in decision-making under uncertainty from the perspective of has often been recognized as a general set of principles—as system architecture. opposed to a mere design technique—that enhance managing In this paper, we consider distributed architecture as a complex products and organizational systems. Modularity in part of a modular architecture spectrum and analyze the the broadest sense of word, is defined as a mechanism to trade-offs associated with migrating from a monolithic to a break up a complex system into discrete pieces that can then distributed architecture for a real, yet simplified, case of a interact with one another through standardized interfaces [10]. satellite system that was a part of a demonstration for a This broad definition of modularity requires us to think of DARPA/NASA program on fractionated satellites. We use a modularity as a continuous spectrum that includes a wide conceptual framework, developed in our previous work [9], range of architectures which covers integrated, modular yet to enhance architecture decisions according to the level of monolithic, and distributed schemes. This framework can be composition or modularity for systems under uncertainty. We used as a basis for computational methods for deciding about add an extensive computational layer to the framework, apply systems architecture and flexibility calculations related to it in the context of space systems, and analyze the value modularity. We will use this broad definition of modularity of design alternatives for various uncertainty parameters and together with the notion of a modularity spectrum to create subsystems configurations. The proposed framework helps to a framework that can be used as a basis for computational identify design alternatives based on the level of responsive- architecture decision methods and flexibility evaluation for ness to environment uncertainty