Skip to main content

Distributed object versus multiprocessor architecture

Short answer

Multiprocessor architecture uses processes on different processors with direct message passing. Distributed object architecture uses objects on networked computers via middleware, offering flexibility and openness but greater complexity.

Provide a brief comparison of distributed object versus multiprocessor architecture.

A multiprocessor architecture is a system of cooperating processes that run on different processors, usually in one real-time system (e.g. traffic control with separate sensor, flow and light-control processors). A distributed object architecture treats the system as a set of objects that provide services through interfaces and talk to each other through middleware (an object request broker such as CORBA), with no fixed client or server roles.

PointMultiprocessor architectureDistributed object architecture
Basic unitProcessObject (service provider)
DistributionProcesses on different processors, usually one machine or a closely coupled setObjects spread over many networked computers
CommunicationDirect message passing or shared memoryThrough middleware / ORB (e.g. CORBA, Java RMI)
AllocationFixed in advance or by a dispatcherObjects can be moved or reconfigured at run time
Client/server rolesNot relevantNo distinction; any object can call any other
Typical useLarge real-time and control systemsOpen, scalable business and data-mining systems
Openness / scalabilityLimited, hardware dependentHigh; new objects added easily
Design complexitySimplerMore complex to design and test

In short: a multiprocessor architecture spreads processes of one system across processors to meet performance and timing needs. A distributed object architecture spreads objects across a network and uses middleware, which makes it more flexible and open, but harder to design.

✓ Answer checked by Claude Sonnet 5.5

All Software Engineering chapter 3 questions →