Font Size: a A A

A case study of the Mstack cross-platform benchmark on the Cray MTA-2

Posted on:2009-01-30Degree:M.S.E.C.EType:Thesis
University:University of DelawareCandidate:Pellegrini, MarkFull Text:PDF
GTID:2448390002491655Subject:Engineering
Abstract/Summary:
Frequency scaling is a technique of increasing a processor's performance by ramping its frequency. Frequency scaling was, for many years, the dominant technique in the industry for increasing processor performance. However, frequency scaling has a number of associated difficulties, particularly with increasing design complexity and power usage---the so-called "heat problem.";The end of frequency scaling has led to the rise of "parallelism scaling," an emphasis on increasing performance by exploiting parallelism inherent in most programs. This in turn has spurred the development of many new parallel architectures, ranging from mainstream x86-64 multicore CPUs to more exotic, specialized types. The disparate nature of these architectures has made comparing them difficult.;To address this, the Mstack benchmark was created. Mstack is a lightweight benchmark based on the median stacking signal processing technique used in the oil industry for analyzing noisy seismic data. This data is collected by means of seismic reflection, where sound waves are bounced off a series of undersea points and measured by hydrophones. This is the application Mstack seeks to mimic. Once these values are collected, they are merged by means of sorting them, and selecting the median value. The sort used in the benchmark is a bubblesort, owing to the fact that (a) it is what is actually used in the literature on the subject, and (b) for small lists, its performance is comparable to other sorts.;Mstack was designed to be simple and easy to port from one platform to another. The benchmark's philosophy is neither take-it-as-it-is nor pencil-and-paper, but somewhere in between. That is to say, end-users are allowed some degree of freedom to modify the code to optimize it for some particular architecture, provided that these changes adhere to the spirit of the benchmark.;This thesis describes the efforts to implement Mstack on the Cray MTA-2. The MTA-2 is an exotic parallel computer, a successor to the Tera multithreaded architecture. The MTA-2 is designed to exploit highly parallel code by having many operations in flight to the memory at once. The key to achieving good performance on the MTA-2 is to provide the compiler with program code it can auto-parallelize. To this end, several variants of the benchmark were created. These versions eliminate critical false dependencies in the benchmark, making it easier for the MTA-2 compiler to auto-parallelize them, in turn leading to better performance on the MTA-2.;One version of the mstack code (mstackomta2) was highly scalable but had poor performance for the numbers of processors available; another version (mstackpomta) which used an odd-even transposition sort (a parallel bubblesort) had the best absolute performance.
Keywords/Search Tags:Mstack, MTA-2, Performance, Benchmark, Frequency scaling, Increasing, Parallel, Used
Related items