Distributing systems have emerged as a cost-effective and scalable solution to the increasing demand for computing resources. A distributed system consists of several resources which are connected via a communication network. In order to maximize the efficiency of such a system, a proper scheduling algorithm is necessary. The scheduling algorithm is responsible for allocating the available system resources to the existing jobs. An effective way of examining an algorithms performance is by implementing a simulation model and then running simulation experiments. Topics of interest that are currently examined by means of simulation are: Quality of Service (QoS) in grid and cluster systems, scheduling policies for heterogeneous systems and performance analysis of distributed systems.