THREAD-LEVEL AUTOMATIC PARALLELIZATION IN THE ELBRUS OPTIMIZING COMPILER L. Mukhanov P. Ilyin A. Ermolitsky A. Grabezhnoy Software department Software department Software department Software department MCST MCST MCST MCST Moscow,Russia Moscow,Russia Moscow,Russia Moscow,Russia email:
[email protected] email:
[email protected] email:
[email protected] email: grab
[email protected] S. Shlykov A. Breger Software department Software department MCST MCST Moscow,Russia Moscow,Russia email:
[email protected] email:
[email protected] ABSTRACT improvements can increase clock frequencies. In practice, Most microprocessor manufacturers are currently moving it takes a great deal of effort to achieve these improvements. toward multi-core and multiprocessing systems, because Because of these challenges, most manufacturers are aim- it is becoming very difficult to increase the performance ing for multi-core and multiprocessing systems. Multi-core of a single-core microprocessor. To enjoy the advantages and multiprocessing systems can use Thread Level Par- of multi-core and multiprocessing systems in applications, allelism (TLP). Using TLP requires an application to be software engineers must redesign these applications with built with corresponding tools for thread level paralleliza- appropriate tools. For some applications, such redesign tion. The problem is that many applications are written for could be very complex and thus expensive. As a result, uniprocessor systems. Some applications would be com- most microprocessor manufacturers are trying to develop plex and difficult to redesign. Because of this difficulty, the thread-level automatic parallelization functionality in their problem of thread-level automatic parallelization in opti- optimizing compilers. Such compilers allow application mizing compilers is actual. developers to enjoy all the advantages of multi-core and multiprocessing systems without redesigning their applica- tions.