Chapter 17
On Performance: From Hardware
up to Distributed Systems
Igor Schagaev, Hao Cai and Simon Monkman
Abstract Nothing is easy nowadays: frequency of processors increased thousand
times, system performance as a whole sometimes tripled. Complexity of the system
became uncontrollable with zillions of processes and elements to juggle increased
unconsciously, leaving for us some comfort but at an astronomical cost. What it
means? We are doing something seriously wrong and doing it consistently and
persistently. Thus, authors of this work have decided to put together our own discussions and estimations we did since 2002 up to now. We show that system performance depends on user, hardware, and software, structure or architecture of a
system and its topology. We propose to see performance analysis a bit wider, thinking
systematically what various zones of computer or distributed system can bring or
contribute, including the role of processor, structure of system software and overvalued parallelization (try to eat and dance at the same time—it might be fun). We
have introduced a kind of virtual architecture through which see instruction execution
considering what is in there for us and what system requires for itself. The observation
is rather pessimistic. We have briefly demonstrated what simplest architecture if
carefully designed can give regarding performance, reliability and energy efficiency
AT THE SAME TIME! Regarding distributed systems, we show that Amdahl Law is
also very overoptimistic mostly serves to promote parallel architectures and distributed systems. Simple model that we have explained for kids from British primary
school and even did field study with them so-called “fence model” made clear that the
limit of performance or simply overall reasonably good design is unachievable until
we start rethinking the whole architecture and its main element interaction—human,
hardware and system software together, pursuing three nonfunctional requirements,
performance, reliability, and energy efficiency in concert.
As it was presented and argued in [1–6] any system should be considered from the
first sketch down to maintenance using the following nonfunctional requirements:
Performance;
Reliability;
Efficiency (cost, energy).
© Springer Nature Switzerland AG 2020
I. Schagaev et al., Software Design for Resilient Computer Systems,
https://doi.org/10.1007/978-3-030-21244-5_17
221
Précédent

- 229/315

Suivant