The Intel® Manycore Testing Lab is a 40 core/80 thread remote access facility that members of the Intel Academic Community sign up for and use (for free). It’s a direct benefit of joining the Intel Academic Community, for use by professors and their students, if those professors want their students to have hands on experience.
The lab has been open generally to the community for just about a year now, and while there have been lots of lessons learned and results shared, I thought I’d take a few moments and highlight three of my personal favorite uses of the Lab and their results for you to check out.
1) Dr. Walter Tichy with David J. Meder: Institute for Program Structures and Data Organization (IPD), University of Karlsruhe, Karlsruhe, Germany; “Parallelizing an Index Generator for Desktop Search Engines”
Dr. Tichy was one of the initial beta testers for the Intel® Manycore Testing Lab, and was the first person on earth (!) to publish a paper that included experimental results from the Lab. My understanding is that Dr. Tichy was already working on this paper when the opportunity for time on the Manycore Testing Lab came his way.
The extremely polished paper presents experience with the parallelization of an index generator for desktop search, noting that “The optimal configurations were not intuitive and markedly different” for the several platforms he tested on. The paper makes several resulting recommendations for parallel software design that follow from this particular case study. Fascinating stuff, you really should read it for yourself: http://www.ipd.uka.de/Tichy/publications.php?id=238&lang=en
2) Nicolas Wolovick: National University of Córdoba, Argentina; “Matrix Multiplication, Performance, and Scalability in OpenMP: Student Challenge.”
The description of this highly innovative classroom use – an student contest! – for the Manycore Testing Lab comes best from professor Wolovick himself:
“This year, a simple matrix multiplication problem was posed to the students and we set up an internal contest, to obtain the fastest serial code. Many versions were submitted, and we finally obtained 20x of improvement over the most naïve implementation. The students learned a lot about compiler optimizations, and above all, the effect of the caches in the performance of the code.
The objective of this exercise was to extrapolate this work to a massive Multicore architecture. Having 32 cores to perform the matrix multiplication under the Quick Path memory communication architecture provided a complex enough scenario to explore different solutions.”
Get it? He ran a contest so that whoever had the best parallel time at the end of the class period won. Besides being a lot of fun, this exercise allowed his students, when it comes time to interview for jobs, to say “Yes. I’ve had hands-on experience working with code in a modern 32-core development environment…”
You can check out Professor Wolovick’s materials and results at Intel’s Education Exchange, here: http://software.intel.com/en-us/courseware/course/view.php?id=503
3) Professor Frank van Breugel, York University, Toronto, Ontario, Canada; Department of Computer Science and Engineering, CSE6490A, Concurrent Object Oriented Languages, four final papers:
- Chen, Parallel Minimum Spanning Tree Algorithm
- Cormie-Bowins, A Symmetric Concurrent B-Tree Algorithm: Java Implementation
- Yang, Implementing and Verifying a Concurrent Heap Algorithm
- Zaman, Parallel First-Fit Graph Coloring in Java
Capstones of a sort – final papers, anyway – professor van Breugel’s students used the Manycore Testing Lab to test theories, establish baselines, and otherwise get some very valuable hands-on time with a modern multicore development environment as they explored some specific concurrency techniques in their classroom.
Check them out: https://wiki.cse.yorku.ca/course_archive/2010-11/W/6490A/final-paper
So when Intel designed its Manycore Testing Lab, we knew professors and their students would be using it to check the scalability of their classroom exemplars, labs, demos, and homework. We know other interests would be served; how interesting to see it work so well for classroom research, contests, and capstones.
If you’re a member of the Intel Academic Community and you haven’t kicked the tires on the Lab to see how it can work for you and your students in your own classroom, it really is time you did. Sign up here: /en-us/articles/intel-many-core-testing-lab/and select “Request Access to the Manycore Testing Lab.”
For more complete information about compiler optimizations, see our Optimization Notice.