
- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What is the Client-Server Framework for Parallel Applications in Computer Architecture?
Parallel applications can be designed using the client/server model. A client may divide a big application into several smaller problems that can be processed by multiple servers simultaneously. All the servers compute the solution to their respective problems and send their results to the client.
The client assembles the results from each server and outputs the final result to the user. The client acts as the master (supervisor) while the servers act as the slaves (workers) in the master-slave (supervisor-workers) model as shown in the figure. The steps are taken at the client and each server is summarized as follows.
Client (Supervisor)
- Client creates an array of sockets and input/output data streams with all the servers. Optimally, the client should spawn a thread for each available server, which would then make connections with an individual server.
- Client passes control to the client body, which contains the code specific to the application being executed in parallel. Mainly, it divides the main task into smaller portions and passes one small portion of the task to each server. It then waits for all the servers to send back the result of their smaller computations. Finally, it merges the results of each server and computes the final solution to the big problem.
- Client closes all the streams and sockets with all the servers.
Server (Worker)
- Server creates a server socket on an unused port number.
- Server waits for connections on that port. Once it gets a request from a client, it accepts that connection.
- Server creates input and output data streams for that socket. This establishes the foundation for communication between the server socket and the client.
- Server passes control to the server body, which contains the code specific to the application executed in parallel. The main server would accept the connection from the client, create a socket, and invoke the server body thread to handle that client.
- Server goes back and waits for another connection from a client.
- Related Questions & Answers
- What is Client-Server Architecture in Computer Network?
- What is Parallel Decoding in Computer Architecture?
- What is Parallel Execution in Computer Architecture?
- What is Computer Architecture as a Multilevel Hierarchical Framework?
- What is the difference between Concurrency and Parallel Execution in Computer Architecture?
- What are the types of Parallel Processor System in Computer Architecture?
- What are different methods of parallelism in Parallel Computer Architecture?
- What is a client-server system?
- What is computer architecture?
- What is Hierarchical architecture in parallel databases?
- What is Parallel Transmission in Computer Network?
- What is shared memory architecture in parallel databases?
- What is shared disk architecture in parallel databases?
- What is shared nothing architecture in parallel databases?
- What is Computer Network Architecture?
Advertisements