|| In distributed-memory multiprocessors, shared-memory programs utilize synchronization mechanisms to guarantee the correctness of accessing shared data. Traditionally, the mutually exclusive lock mechanism is the most commonly used method due to its simplicity. In this thesis research, we performed system performance evaluation of our hardware-supported lock management synchronization mechanism. This mechanism can detect the concurrency among critical sections using the same set of shared data. The concurrency detection is based upon the non-intersection of usage data sets and upon the non-conflicting accesses of the shared data. When a critical section releases an accessed data before leaving the critical section, other critical section can immediately be granted to access the data. Thus, two forms of concurrency among critical sections can be utilized.|
We designed a system simulator which consists of two main simulation modules and some other distributed multiprocessor system simulation modules. The first one is the simulation module of hardware lock requester residing in each processor node. The second one is the simulation module of hardware lock manager residing in selected processor nodes. On the software support, a compiler can analyze each critical section in the program on the set of possible utilized shared data and their read/write access types of the critical section. Then, it attaches this information in the machine program. Upon entering a critical section, the hardware lock requestor sends individual lock messages of the accessed shared data to corresponding hardware lock managers in other nodes. Each lock manager determine if some lock requests are conflict free and then rapidly grants the access rights by sending messages to the original lock requesters. The lock requester finally notifies the program with the critical section the permission to use the shared data. In this way, the concurrency among critical sections accessing the same set of shared data can be achieved as much as possible.
In contrast, the mutually exclusive locking mechanism does not exhibit concurrency among critical sections accessing the same set of shared data. The hardware-software concurrency control mechanism studied in our research can detect non-conflicting situations among critical sections. Thus, it can enhance the actual program execution concurrency and improve the execution time of concurrent programs.
In this thesis research, we designed the simulation environment of mesh-connected distributed multiprocessors with these two critical section synchronization mechanisms. We also planed multiple sets of concurrent program workload of various characteristics. We performed the performance experiments to compare these two critical section synchronization methods. It demonstrates that under different situations, our method can improve the execution performance of concurrent programs by various extent.