Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cluster Computing on the Cloud with StackIQ Rocks+

Similar presentations


Presentation on theme: "Cluster Computing on the Cloud with StackIQ Rocks+"— Presentation transcript:

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

3

4

5

6

7

8

9

10

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…

13

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

23

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


Download ppt "Cluster Computing on the Cloud with StackIQ Rocks+"

Similar presentations


Ads by Google