Design, Performance and Scalability of the Distributed Enterprise Systems


Janusz S. Kowalik


Enterprise systems supporting business processes in large companies and organizations, are critical for their business survival, and expensive to build and run. In this special issue we have collected several papers which describe successful approaches to designing, and tuning for performance, large enterprise systems. In contrast to earlier mainframes, the modern distributed systems contain large numbers of components and simple capacity planning methods, applicable to mainframes, cannot be used for design or tuning of complex distributed systems. Methods that have proven to be successful are based on building predictive models that take into account key characteristics of hardware, software, data and communications.

The first paper by V. Kotov provides a good introduction to enterprise system issues and sets the stage for discussing various solution techniques. The paper has a section on e-commerce and e-services which require end-to-end performance among other important requirements. The author introduces the concept of System of Systems and offers an approach for optimizing and analyzing System of Systems by using communicating structures, a hierarchical distributed structure that represents the system components and communications between them.

A brief description of business enterprise systems and related implementation issues is contained in the second paper by Aries, et al. The authors report their favorable experience with simulation modeling and related tools. They also emphasize the importance of workload characterization and data required for building accurate predictive simulation models.

The next contribution (by Brittan et. al.) is a ground breaking approach to designing distributed systems that involves the simulated annealing method for solving combinatorial optimization problems that represent mathematical formulations for the design of large distributed systems.

A paper by C. U. Smith and L. G. Williams advocates a Software Performance Engineering (SPE) method for constructing distributed systems. SPE is a method for constructing software systems to meet performance and scalability objectives. The paper illustrates the construction of simple performance and scalability models for distributed systems. It also describes a modeling tool called SPE�ED. The authors point out that most performance failures are due to a lack of performance consideration in the early stages of distributed software architecture.

An important enterprise system design issue is determining capacity of system servers. The paper by Nezlek deals with this problem. It offers an approach to estimating server capacities and an application to a real life case. Distributed system server capacity estimation is a key operation required for purchasing specific hardware which is the last step in system design or re-engineering.

In the last paper M. Nagasawa et al. propose a design tool called WISE which combines simulation modeling with genetic algorithm for solving discrete optimization problems. This is a very tempting idea which naturally fits the objectives of distributed system design. The challenge is to restrict its use to cases which are computationally realistic. The approach if not applied carefully could easily result in prohibitive amounts of computing.

Guest Editor
Janusz Kowalik


Introduction to the Special Issue