Abstract

Because of the trend toward multi-core machines, a number of practical computer applications have started to support parallel computing in order to maximize performance efficiency, especially in applications which need a lot of computing resources, such as 3D games; nevertheless with a parallel computing supported applications executed in a multi-core environment, how to do the concurrency control on shared resources could be an important factor related to the performance and accuracy. To protect the shared resources in a parallel computing environment, well- known mechanisms such as locks, semaphores, or monitors have been widely used in many applications, but they may lead to problems such like deadlock, lacking composability, etc. Thus, researchers have developed a new mechanism called Transactional Memory (TM). TM provides safe characteristics that include atomicity, consistency, isolation, which means serializability for using shared resources and also ease the programming difficulty for programmers. However, in applications like 3D games, the performance of TM in most research studies has been relatively poorer than traditional methods, and that is why we still use the locks to handle the concurrency control nowadays. In this thesis, in order to achieve better performance with ensuring correctness of concurrent accesses of shared resources in a multi-player game server system, we have designed two mechanisms named Barrier Transactional Memory and Aggregate Physics Update. The Barrier TM utilizes the good characteristics of transactional memory to detect and release signals without conflict, and Aggregate Physics Update can update all calculation results using parallel multi-threading, aiming to speed up overall performance of a parallel multiple-player game server system. To test and verify our mechanism, we conduct simulation experiments that compare Barrier TM and Aggregate Physics Update to traditional locking mechanism and single thread update to see if we can gain more efficiency for the overall system. Our results show that it is possible to improve the performance of a game server system, especially in the area of physics calculations and updating, and also that it is possible to provide a safe shared resource that can be applied in a parallel game server computing environment.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call