Download presentation
Presentation is loading. Please wait.
Published byHerman Budiono Modified over 5 years ago
1
Cluster Computing on the Cloud with StackIQ Rocks+
Dr. Guy Tel-Zur
2
Connecting to EC2 C:\Users\telzur\Documents\MTA\CloudComputing2012B\Software\StackIQ
11
[root@ip-10-17-24-123 ~]# rocks set attr ec2_key_pair c3-keypair
~]# rocks add instance compute count=4
12
After 5-10 minutes…
14
After 5-10 minutes…
15
Head node + 4 computing nodes, 5X16 cores
16
MPI tests
17
#include <stdio.h>
#include <stdlib.h> #include "mpi.h" int main(int argc, char *argv[]) { MPI_Request sendreq; MPI_Request recvreq; MPI_Status status; int numprocs; int myid; int namelen; int left, right; int bufsize; char processor_name[MPI_MAX_PROCESSOR_NAME]; char *sendbuf, *recvbuf; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Comm_rank(MPI_COMM_WORLD, &myid); MPI_Get_processor_name(processor_name, &namelen);
18
fprintf(stderr,"Process %d on %s\n", myid, processor_name);
right = (myid + 1) % numprocs; if (myid == 0) { left = numprocs - 1; } else { left = (myid - 1) % numprocs; } if (argc == 2) { bufsize = atoi(argv[1]); bufsize = 1024 * 1024; if ((sendbuf = (char *)malloc(bufsize)) == NULL) { fprintf(stderr,"Process %d on %s:malloc failed\n", myid, processor_name); MPI_Finalize(); exit(-1);
19
if ((recvbuf = (char *)malloc(bufsize)) == NULL) {
fprintf(stderr,"Process %d on %s:malloc failed\n", myid, processor_name); MPI_Finalize(); exit(-1); } if (MPI_Isend(sendbuf, bufsize, MPI_CHAR, right, 1, MPI_COMM_WORLD, &sendreq) != MPI_SUCCESS) { fprintf(stderr,"Process %d on %s:MPI_Isend failed\n", if (MPI_Irecv(recvbuf, bufsize, MPI_CHAR, left, 1, MPI_COMM_WORLD, &recvreq) != MPI_SUCCESS) { fprintf(stderr,"Process %d on %s:MPI_Irecv failed\n",
20
myid, processor_name);
MPI_Finalize(); exit(-1); } if (MPI_Wait(&sendreq, &status) != MPI_SUCCESS) { fprintf(stderr,"Process %d on %s:MPI_Wait failed:sendreq\n", fprintf(stderr, "Process %d on %s:successfully sent (%d) bytes to id (%d)\n", myid, processor_name, bufsize, right); if (MPI_Wait(&recvreq, &status) != MPI_SUCCESS) {
21
MPI_Finalize(); exit(-1); } fprintf(stderr, "Process %d on %s:successfully received (%d) bytes from id (%d)\n", myid, processor_name, bufsize, left); MPI_Barrier(MPI_COMM_WORLD);
22
MPI tests
24
Termination: init 0
25
References Videos How to set up a cluster in Amazon EC2 using Rocks+ How to setup Hadoop inside Amazon EC2 using Rocks+ Web Community Cloud Computing
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.