Dynamic software coordination across scalable hardware: A study on software architecture
Kuittinen, Annemari (2026)
Kuittinen, Annemari
2026
Tietojenkäsittelyopin maisteriohjelma - Master's Programme in Computer Science
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2026-06-05
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202605306610
https://urn.fi/URN:NBN:fi:tuni-202605306610
Tiivistelmä
Scaling a real-time system across multiple identical hardware within the same composite system introduces a conflict between autonomous operation and synchronization requirements. While nodes operate within a finite number of defined states, every unit must simultaneously maintain a consistent system state to ensure system operates correctly. This thesis investigates the software architectural trade-offs of adapting an existing control system to support horizontal hardware scaling, while preserving its original operational features on a system scale. To address the relationship between scalability and synchronized state from a software engineering perspective, this research evaluates three deployment topologies: the monolith, peer-to-peer, and the orchestrator.
To map the communication, coordination mechanics, and structural limits of each topology, this study utilizes UML deployment and sequence diagrams. Main focus being on how each deployment topology coordinates, the analysis centers on the coupling between hardware and the control layer, identifying how different coordination approaches alter performance, lifecycle factors, and developer experience. Notably, monolith and peer-to-peer require source code modifications, whereas using an orchestrator makes it possible to leave the original software unchanged through externalizing coordination to dedicated software.
The trade-off analysis indicates that the monolith is the most effective for coordination due to avoiding demerits of distributed systems, but is limited to centralized deployment. Conversely, distributed deployment introduces scaling disadvantages when applied to composite hardware in real-time environments. Fixed I/O interfaces prevent the peer-to-peer and orchestrator deployment topologies from attaining the expected benefits of distributed systems, such as resource sharing or fault tolerance. Furthermore, the system state space is expanded and coordination complexity grows when coordination logic is distributed across multiple deployments. Ultimately, the hardware dictates the viable software architecture, demonstrating that in distributed systems, software engineering solutions alone cannot be used to overcome constraints at the hardware level.
To map the communication, coordination mechanics, and structural limits of each topology, this study utilizes UML deployment and sequence diagrams. Main focus being on how each deployment topology coordinates, the analysis centers on the coupling between hardware and the control layer, identifying how different coordination approaches alter performance, lifecycle factors, and developer experience. Notably, monolith and peer-to-peer require source code modifications, whereas using an orchestrator makes it possible to leave the original software unchanged through externalizing coordination to dedicated software.
The trade-off analysis indicates that the monolith is the most effective for coordination due to avoiding demerits of distributed systems, but is limited to centralized deployment. Conversely, distributed deployment introduces scaling disadvantages when applied to composite hardware in real-time environments. Fixed I/O interfaces prevent the peer-to-peer and orchestrator deployment topologies from attaining the expected benefits of distributed systems, such as resource sharing or fault tolerance. Furthermore, the system state space is expanded and coordination complexity grows when coordination logic is distributed across multiple deployments. Ultimately, the hardware dictates the viable software architecture, demonstrating that in distributed systems, software engineering solutions alone cannot be used to overcome constraints at the hardware level.
