SlideShare a Scribd company logo
GRID COMPUTING FRAMEWORK ANIL HARWANI KALPESH KAGRESHA YASH LONDHE GAURAV MENGHANI (Group No. 33) Under the guidance of Ms. Sakshi Surve Assistant Professor, Computer Engineering Department
Grid Computing Grid computing  (or the use of computational grids) is the combination of computer resources from multiple administrative domains applied to a common task, usually to a scientific, technical or business problem that requires a great number of computer processing cycles or the need to process large amounts of data. The primary goal of a Grid is to form a loosely coupled system of computers[clients] over a LAN or Internet which are capable of performing tasks issued by the server. Clients can join or leave the grid at any point of time.
Applications & Benefits Computationally intensive tasks such as brute-forcing over a symmetric encryption key space, simulation of natural forces, prediction of cyclones, etc. If the problem to be solved is inherently parallel in nature then the scaling provided by Grids can easily introduce a speed up factor, which is roughly proportional to the number of clients participating in the Grid. The performance of some large Grids are comparable to some of the fastest supercomputers and hence Grids are a feasible cheaper substitute.
Concerns Setup of a grid is a complicated process, and hence is not considered a serious option. Almost all grid computing middleware use a complicated structure and use resources of computers spread around the globe, and hence dependent on voluntary commitment of resources by unknown machines. This might not always be suitable. Academic institutions don’t have access to easy-to-deploy grid computing middleware.
Grid Computing Framework These concerns would be addressed in our project,  Grid Computing Framework. This Framework is a Third Party Application which helps the developer in rapidly deploying a flexible, reliable and efficient Grid.
Goals To Create a  Open Source  Linux-based Grid Computing Framework which works on a moderately sized LAN and, is: Easy to Deploy Easy to Use Easy to Maintain Efficient and reliable with good performance scaling
Plan of Action Accept the problem to be solved from the user, consisting of parallel code units called Tasks, dependency matrix of tasks, etc. Distribute these tasks while taking in consideration the inter-dependency of tasks, and using a load-balancing algorithm. Solve tasks at clients; record the output and errors (if any). Send the output and the error and performance logs to the server.  Collect outputs and logs from clients. Update client performance statistics.  Arrange outputs as desired by the user and present it to the user.
Submission of the Problem The user submits the  Problem  at the server. A problem is described using: Problem Solving Schema (PSS) Task File(s) Task File Input Set(s) Result Compilation Program (RCP)
Division of Tasks The server apportions tasks to the clients using a load balancing algorithm. Each  Task  has the following: Task File Task Input Task Priority Task Timeout
Execution at Client-side The client-side module parses the tasks being given to it, executes them and sends a packet of information called  Task Execution Result . It comprises of: Task Output   Error Log   Statistics
Result Compilation Task Execution Results are received by the Server and are processed by the Result Compilation Program. Finally, the following are presented to the user Problem Output (Generated by RCP) Task Execution Results Error Logs Statistics
Client-side State Transition Diagram
Server-side State Transition Diagram
Platform  Open Source Technologies What is Linux? Why Linux? Ubuntu - Debian Linux distribution
Programming on Linux   GNU project A free software project started in 1983 Provide tools for: development( GCC), graphical desktop(GTK+), applications and utilities(GNUzilla) GCC Tool for writing, compiling and executing a code Supports various programming languages like C, C++,etc.
GTK+ 2.0 Tool for designing a GUI( Graphical User Interface) Objects used: GtkObject GtkWidget GtkContainer GtkWindow GtkFrame GtkButton GtkComboBox GtkBox GtkVBox GtkHBox GtkNotebook GtkTextView GtkTextBuffer
Compiling a Single Source File  Example:  source file name: main.c gcc -c main.c   (to compile main.c      and create an object    file) gcc -o main1 main.o  (to link the object file    and create an   executable file) Both the above tasks can be done in a single step:  gcc -o main1 main.c . /main1  (to run the executable     file)
Threads Process A running instance of a program is called a process Threads Two or more concurrently running tasks spawned by a process A process and its thread(s) share the same memory space and address space Context switching between threads is faster than between processes
Thread Creation  Each thread in a process is identified by a thread ID include the header file: “pthread.h” Declare a thread variable: “ pthread_t thread1 ” Create a thread:  int pthread_create(pthread_t  thread1 , const pthread_attr_t * attr , void (* start_routine )(void*), void * arg )   The above function returns 0 on successful thread creation Compile and link such a source file:  gcc -o threadoutput threadsource.c –lpthread
Joining Threads For synchronized/sequential execution of threads  Threads are joined as:  int pthread_join(pthread_t  thread , void ** value_ptr) suspends execution of the calling thread until the target thread terminates
Socket Programming What is Socket ? Writing client and server programs TCP or UDP servers  Sockets are implemented using the Berkeley Sockets API library
Client Server Model What is client server model? Establishing a socket on the server side  Establishing a socket on the client side
Client/Server relationship of sockets APIs for TCP
Sockets API Functions int socket(int domain, int type, int protocol); int bind(int sockfd, struct sockaddr *my_addr, int addrlen); int listen(int sockfd, int backlog); int accept(int sockfd, struct sockaddr *addr, int *addrlen); int connect(int sockfd, struct sockaddr *serv_addr, int addrlen);
Sockets API Functions int send(int sockfd, const void *msg, int len, int flags); int recv(int sockfd, void *buf, int len, unsigned int flags); ssize_t write(int fd, const void *buf, size_t count); ssize_t read(int fd, void *buf, size_t count); int close(int sockfd);
Work Done So Far A basic client-server module has been implemented. The client connects with the server, and the server maintains the list of the clients. The server keeps record of the performance metric (to judge the computing power) and network metric (to find if the node is congested) of the connected clients. A GUI was designed for the server module.
GUI
Further Work The server module needs to be extended to accept the problem and distribute the tasks, and retrieve and present the results. The client module needs to be extended to accept tasks, process and send back the results. An efficient load balancing algorithm needs to be designed. Rigorous testing needs to be done, and any required optimizations need to be made.
Thank You

More Related Content

What's hot (20)

PPTX
An optimized scientific workflow scheduling in cloud computing
DIGVIJAY SHINDE
 
PPTX
Task scheduling Survey in Cloud Computing
Ramandeep Kaur
 
PPT
Chapter 3 pc
Hanif Durad
 
PPT
Chap5 slides
BaliThorat1
 
PPT
Load Balancing In Cloud Computing newppt
Utshab Saha
 
PPT
Chapter 4 pc
Hanif Durad
 
PDF
Fault tolerant mechanisms in Big Data
Karan Pardeshi
 
PPT
Chapter 1 pc
Hanif Durad
 
PPTX
Parallel algorithms
Danish Javed
 
PPTX
Scalable Parallel Computing on Clouds
Thilina Gunarathne
 
PDF
Transfer Learning for Software Performance Analysis: An Exploratory Analysis
Pooyan Jamshidi
 
PDF
MapReduce: Ordering and Large-Scale Indexing on Large Clusters
IRJET Journal
 
PPTX
SparkNet presentation
Sneh Pahilwani
 
PDF
Capacity Planning for Linux Systems
Rodrigo Campos
 
PPTX
Load balancing
Pooja Dixit
 
PPS
PRAM algorithms from deepika
guest1f4fb3
 
PPT
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
bhavikpooja
 
PDF
Performance Comparision of Dynamic Load Balancing Algorithm in Cloud Computing
Eswar Publications
 
PPT
REVIEW PAPER on Scheduling in Cloud Computing
Jaya Gautam
 
PDF
E01113138
IOSR Journals
 
An optimized scientific workflow scheduling in cloud computing
DIGVIJAY SHINDE
 
Task scheduling Survey in Cloud Computing
Ramandeep Kaur
 
Chapter 3 pc
Hanif Durad
 
Chap5 slides
BaliThorat1
 
Load Balancing In Cloud Computing newppt
Utshab Saha
 
Chapter 4 pc
Hanif Durad
 
Fault tolerant mechanisms in Big Data
Karan Pardeshi
 
Chapter 1 pc
Hanif Durad
 
Parallel algorithms
Danish Javed
 
Scalable Parallel Computing on Clouds
Thilina Gunarathne
 
Transfer Learning for Software Performance Analysis: An Exploratory Analysis
Pooyan Jamshidi
 
MapReduce: Ordering and Large-Scale Indexing on Large Clusters
IRJET Journal
 
SparkNet presentation
Sneh Pahilwani
 
Capacity Planning for Linux Systems
Rodrigo Campos
 
Load balancing
Pooja Dixit
 
PRAM algorithms from deepika
guest1f4fb3
 
An efficient approach for load balancing using dynamic ab algorithm in cloud ...
bhavikpooja
 
Performance Comparision of Dynamic Load Balancing Algorithm in Cloud Computing
Eswar Publications
 
REVIEW PAPER on Scheduling in Cloud Computing
Jaya Gautam
 
E01113138
IOSR Journals
 

Viewers also liked (8)

PPT
Pebble Grid Computing Framework
Kartik Kumar Perisetla
 
PPTX
Introduction to Grid computing and e-infrastructures
Leandro Ciuffo
 
PPT
Globus toolkit in grid
Deevena Dayaal
 
PPTX
Grid computing
Shashwat Shriparv
 
PPT
Grid computing
Dikshita_Viradia
 
PPT
Grid computing by vaishali sahare [katkar]
vaishalisahare123
 
PPTX
Grid computing
Chanchal Sachdeva
 
PPTX
Grid computing Seminar PPT
Upender Upr
 
Pebble Grid Computing Framework
Kartik Kumar Perisetla
 
Introduction to Grid computing and e-infrastructures
Leandro Ciuffo
 
Globus toolkit in grid
Deevena Dayaal
 
Grid computing
Shashwat Shriparv
 
Grid computing
Dikshita_Viradia
 
Grid computing by vaishali sahare [katkar]
vaishalisahare123
 
Grid computing
Chanchal Sachdeva
 
Grid computing Seminar PPT
Upender Upr
 
Ad

Similar to GCF (20)

PPTX
Task programming
Yogendra Tamang
 
PPTX
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...
Dr. Thippeswamy S.
 
PDF
Linux-Based Data Acquisition and Processing On Palmtop Computer
IOSR Journals
 
PDF
Linux-Based Data Acquisition and Processing On Palmtop Computer
IOSR Journals
 
PDF
UDP Report
James Dianics
 
PDF
Programming IoT Gateways with macchina.io
Günter Obiltschnig
 
PDF
Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”
Databricks
 
PDF
Data mining model for the data retrieval from central server configuration
ijcsit
 
PPT
Vedic Calculator
divyang_panchasara
 
PPTX
5.7 Parallel Processing - Reactive Programming.pdf.pptx
MohamedBilal73
 
PDF
Mapreduce2008 cacm
lmphuong06
 
PDF
Cisco project ideas
VIT University
 
PDF
FPGA IMPLEMENTATION OF APPROXIMATE SOFTMAX FUNCTION FOR EFFICIENT CNN INFERENCE
International Research Journal of Modernization in Engineering Technology and Science
 
PPTX
NodeJS guide for beginners
Enoch Joshua
 
PDF
Automatically partitioning packet processing applications for pipelined archi...
Ashley Carter
 
PDF
CHAT APPLICATION THROUGH CLIENT SERVER MANAGEMENT SYSTEM PROJECT REPORT
Kamal Acharya
 
PDF
Disadvantages Of Robotium
Susan Tullis
 
DOCX
Computers in management
Kinshook Chaturvedi
 
PDF
PARKING ALLOTMENT SYSTEM PROJECT REPORT REPORT.
Kamal Acharya
 
Task programming
Yogendra Tamang
 
djypllh5r1gjbaekxgwv-signature-cc6692615bbc55079760b9b0c6636bc58ec509cd0446cb...
Dr. Thippeswamy S.
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
IOSR Journals
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
IOSR Journals
 
UDP Report
James Dianics
 
Programming IoT Gateways with macchina.io
Günter Obiltschnig
 
Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”
Databricks
 
Data mining model for the data retrieval from central server configuration
ijcsit
 
Vedic Calculator
divyang_panchasara
 
5.7 Parallel Processing - Reactive Programming.pdf.pptx
MohamedBilal73
 
Mapreduce2008 cacm
lmphuong06
 
Cisco project ideas
VIT University
 
FPGA IMPLEMENTATION OF APPROXIMATE SOFTMAX FUNCTION FOR EFFICIENT CNN INFERENCE
International Research Journal of Modernization in Engineering Technology and Science
 
NodeJS guide for beginners
Enoch Joshua
 
Automatically partitioning packet processing applications for pipelined archi...
Ashley Carter
 
CHAT APPLICATION THROUGH CLIENT SERVER MANAGEMENT SYSTEM PROJECT REPORT
Kamal Acharya
 
Disadvantages Of Robotium
Susan Tullis
 
Computers in management
Kinshook Chaturvedi
 
PARKING ALLOTMENT SYSTEM PROJECT REPORT REPORT.
Kamal Acharya
 
Ad

Recently uploaded (20)

PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 

GCF

  • 1. GRID COMPUTING FRAMEWORK ANIL HARWANI KALPESH KAGRESHA YASH LONDHE GAURAV MENGHANI (Group No. 33) Under the guidance of Ms. Sakshi Surve Assistant Professor, Computer Engineering Department
  • 2. Grid Computing Grid computing (or the use of computational grids) is the combination of computer resources from multiple administrative domains applied to a common task, usually to a scientific, technical or business problem that requires a great number of computer processing cycles or the need to process large amounts of data. The primary goal of a Grid is to form a loosely coupled system of computers[clients] over a LAN or Internet which are capable of performing tasks issued by the server. Clients can join or leave the grid at any point of time.
  • 3. Applications & Benefits Computationally intensive tasks such as brute-forcing over a symmetric encryption key space, simulation of natural forces, prediction of cyclones, etc. If the problem to be solved is inherently parallel in nature then the scaling provided by Grids can easily introduce a speed up factor, which is roughly proportional to the number of clients participating in the Grid. The performance of some large Grids are comparable to some of the fastest supercomputers and hence Grids are a feasible cheaper substitute.
  • 4. Concerns Setup of a grid is a complicated process, and hence is not considered a serious option. Almost all grid computing middleware use a complicated structure and use resources of computers spread around the globe, and hence dependent on voluntary commitment of resources by unknown machines. This might not always be suitable. Academic institutions don’t have access to easy-to-deploy grid computing middleware.
  • 5. Grid Computing Framework These concerns would be addressed in our project, Grid Computing Framework. This Framework is a Third Party Application which helps the developer in rapidly deploying a flexible, reliable and efficient Grid.
  • 6. Goals To Create a Open Source Linux-based Grid Computing Framework which works on a moderately sized LAN and, is: Easy to Deploy Easy to Use Easy to Maintain Efficient and reliable with good performance scaling
  • 7. Plan of Action Accept the problem to be solved from the user, consisting of parallel code units called Tasks, dependency matrix of tasks, etc. Distribute these tasks while taking in consideration the inter-dependency of tasks, and using a load-balancing algorithm. Solve tasks at clients; record the output and errors (if any). Send the output and the error and performance logs to the server. Collect outputs and logs from clients. Update client performance statistics. Arrange outputs as desired by the user and present it to the user.
  • 8. Submission of the Problem The user submits the Problem at the server. A problem is described using: Problem Solving Schema (PSS) Task File(s) Task File Input Set(s) Result Compilation Program (RCP)
  • 9. Division of Tasks The server apportions tasks to the clients using a load balancing algorithm. Each Task has the following: Task File Task Input Task Priority Task Timeout
  • 10. Execution at Client-side The client-side module parses the tasks being given to it, executes them and sends a packet of information called Task Execution Result . It comprises of: Task Output Error Log Statistics
  • 11. Result Compilation Task Execution Results are received by the Server and are processed by the Result Compilation Program. Finally, the following are presented to the user Problem Output (Generated by RCP) Task Execution Results Error Logs Statistics
  • 14. Platform Open Source Technologies What is Linux? Why Linux? Ubuntu - Debian Linux distribution
  • 15. Programming on Linux GNU project A free software project started in 1983 Provide tools for: development( GCC), graphical desktop(GTK+), applications and utilities(GNUzilla) GCC Tool for writing, compiling and executing a code Supports various programming languages like C, C++,etc.
  • 16. GTK+ 2.0 Tool for designing a GUI( Graphical User Interface) Objects used: GtkObject GtkWidget GtkContainer GtkWindow GtkFrame GtkButton GtkComboBox GtkBox GtkVBox GtkHBox GtkNotebook GtkTextView GtkTextBuffer
  • 17. Compiling a Single Source File Example: source file name: main.c gcc -c main.c (to compile main.c and create an object file) gcc -o main1 main.o (to link the object file and create an executable file) Both the above tasks can be done in a single step: gcc -o main1 main.c . /main1 (to run the executable file)
  • 18. Threads Process A running instance of a program is called a process Threads Two or more concurrently running tasks spawned by a process A process and its thread(s) share the same memory space and address space Context switching between threads is faster than between processes
  • 19. Thread Creation Each thread in a process is identified by a thread ID include the header file: “pthread.h” Declare a thread variable: “ pthread_t thread1 ” Create a thread: int pthread_create(pthread_t thread1 , const pthread_attr_t * attr , void (* start_routine )(void*), void * arg ) The above function returns 0 on successful thread creation Compile and link such a source file: gcc -o threadoutput threadsource.c –lpthread
  • 20. Joining Threads For synchronized/sequential execution of threads Threads are joined as: int pthread_join(pthread_t thread , void ** value_ptr) suspends execution of the calling thread until the target thread terminates
  • 21. Socket Programming What is Socket ? Writing client and server programs TCP or UDP servers Sockets are implemented using the Berkeley Sockets API library
  • 22. Client Server Model What is client server model? Establishing a socket on the server side Establishing a socket on the client side
  • 23. Client/Server relationship of sockets APIs for TCP
  • 24. Sockets API Functions int socket(int domain, int type, int protocol); int bind(int sockfd, struct sockaddr *my_addr, int addrlen); int listen(int sockfd, int backlog); int accept(int sockfd, struct sockaddr *addr, int *addrlen); int connect(int sockfd, struct sockaddr *serv_addr, int addrlen);
  • 25. Sockets API Functions int send(int sockfd, const void *msg, int len, int flags); int recv(int sockfd, void *buf, int len, unsigned int flags); ssize_t write(int fd, const void *buf, size_t count); ssize_t read(int fd, void *buf, size_t count); int close(int sockfd);
  • 26. Work Done So Far A basic client-server module has been implemented. The client connects with the server, and the server maintains the list of the clients. The server keeps record of the performance metric (to judge the computing power) and network metric (to find if the node is congested) of the connected clients. A GUI was designed for the server module.
  • 27. GUI
  • 28. Further Work The server module needs to be extended to accept the problem and distribute the tasks, and retrieve and present the results. The client module needs to be extended to accept tasks, process and send back the results. An efficient load balancing algorithm needs to be designed. Rigorous testing needs to be done, and any required optimizations need to be made.