The software-oriented, multi-processor database systems are characterized by a set of processing elements (PEs) which run identical software and operate on a partitioned database in parallel. Performance improvements and capacity growth can be achieved in this type of system by adding PEs to the configuration and replicating the existing software on the added PEs. Much work has been done applying graph theory, queuing theory, algorithmic approaches, and analytical techniques towards the design of multi-processor database systems. This paper describes a simulation approach and the application of a simulation language, SLAM, to the design and performance analysis of one such multi-processor database system. The system, relational replicated database system (RRDS), was developed using a five-phase design process. Simulation and analytical techniques were used throughout the development to determine critical elements, components, and design issues, and to evaluate proposed solutions. RRDS was modeled as an open queuing system with SLAM service times determined analytically. The model consisted of a workload scenario generator, a query processing module, and a statistics collection module. In phase one of the simulation study, different hardware organizations were evaluated. Results indicated that the RRDS approach performs approximately three times better than other approaches such as SIMD, MIMD, and functional specialization. In phase two, algorithms and mechanisms for data access were developed. Results favored the B +-tree approach over the clustering approach. A data placement strategy was determined in phase three. Results indicated that the value range partitioning (VRP) approach is more desirable than the round-robin (RR) approach. In phase four, a directory management strategy was selected. Results favored a partitioned and parallel-processed directory, as opposed to a rotating approach. Finally, phase five consisted reveal system strengths and weaknesses, and gain insight into optimal RRDS operating environments. This approach to database system design is both iterative and evolutionary, and can be applied regardless of the type of system being considered. Simulation can be a useful tool in all phases of database system design, from the actual physical hardware architecture to the resolution of software design questions. It plays an important role in predictive performance analysis to determine the extent to which original design goals are achieved.
Read full abstract