Skip to main content

Multiprocessor versus client-server architecture

Short answer

Multiprocessor architecture spreads processes of one system across processors for speed and timing, used in real-time control; client-server separates service providers and users over a network for sharing services. Multiprocessor uses message passing or shared memory with peer processes, while client-server uses request-reply between fixed client and server roles, scaling easily for many users.

Provide brief comparison of multiprocessor and client-server architecture.

A multiprocessor architecture is a system made of several processes that run on different processors, each processor doing a dedicated part of the work (typical in real-time control systems). A client-server architecture organises the system as servers that provide services and clients that request them over a network.

PointMultiprocessorClient-server
Basic ideaProcesses of one system spread across processorsServices provided by servers, used by clients
RolesPeer processes, each with a fixed taskFixed client and server roles
CommunicationMessage passing or shared memory, often high speedRequest–reply over a network (LAN/Internet)
AllocationPre-determined or by a dispatcherClients and servers on separate machines by design
Number of usersUsually none or few operatorsMany users through many clients
Typical useReal-time systems: traffic control, process controlBusiness and web systems: banking, e-mail, file sharing
ScalabilityLimited by hardware and processor countEasy to add servers or clients
Main concernMeeting timing and performance needsSharing data and services among users

Example:

  • Multiprocessor: a traffic control system with a sensor processor, a traffic-flow processor and a traffic-light control processor.
  • Client-server: an internet banking system where browsers (clients) use a web server and a database server.

Both are distributed system architectures; multiprocessor focuses on dividing processing for speed and timing, while client-server focuses on sharing services among many users.

✓ Answer checked by Claude Sonnet 5.5

All Software Engineering chapter 3 questions →