In this thesis we develop an analytical performance model for parallel computer systems. This model is built on three abstract performance elements; loading intensity, contention, and delay. These elements correspond to performance measures that are the outcome of features of both software and hardware components of a computing system. The profile of these components can in turn be derived from an analysis of the performance-related behaviour of the individual processes that constitute a complete system. We show how such models of particular systems can be used for performance prediction. They can be used to predict the performance of a specified number of processors, derive the maximum expectation in terms of performance, as the number of processors increases, and predict the amount of latency hiding required to achieve a particular performance profile. We illustrate the use of the model with a particular concrete application. The interaction between the three performance elements is examined, with particular attention being paid to the relationship between loading intensity and delay in certain classes of parallel system. We examine the consequences that this relationship has on the ability to measure certain types of performance data. In examining the relationship between delay and performance elements we also look at the effect of allocating many processes to each processor. As a consequence of using this modelling technique on a particular parallel system, individual behaviour characteristics of the real system may need to be approximated. We examine the effects of this approximation, looking at the particular circumstances under which our model may not give appropriate quantitative results for the individual system.