Platform Resources
What is a "Platform resource?"
A platform resource is a physical or virtual platform for running parallel computations. Each Parallel Platform Package (PPP) library works with particular platform resources. By combining a PPP with a platform resource, educators and students can use the teaching modules in order to gain experience with parallel computing. The following are possible physical and virtual platform resources for the PPP libraries, with links and documentation for installing and configuring the PPP for your specific setup.
Single Computer (Simulated Cluster)
Individual machines can have varying numbers of cores and can be used as shared memory, multi-threaded machines or to simulate a cluster environment. We have developed documentation for running hadoop and WebMapReduce on a single machine.
Local Cluster
You may consider building or already have a cluster of workstations set up for distributed computations. You can use that with the following teaching modules and corresponding libraries:
Each of these modules uses the WebMapReduce Parallel Platform Package library. See the WebMapReduce Adminstration Guide for installing WebMapReduce on your local cluster.
Want to build a cluster? Follow our story of how we are building a cluster of virtual machines on linux boxes at Macalester College.
Remote Cluster
You may have been granted access to a cluster with some of our suggested parallel platform packages installed. If so, you can use the modules listed above under local cluster.
Cloud
Amazon Web Services (AWS) Elastic Compute Cloud (EC2) is a relatively cheap way to get cluster services in the cloud to use the modules. Specifically, we provide instructions for setting up WebMapReduce on EC2.
Multicore
Intel provides access to 32-core manycore testing lab machines (now unavailable) running Linux or Windows -- CS educators can apply for access to use one of them in a course. You may also have access to machines on your campus with smaller numbers of cores. Parallel platform package libraries that can be used on these machines include OpenMP, Threaded Building Blocks, and MPI, and java.util.concurrent.