CS 704DAdvanced Operating System(Distributed Computing)Debasis Das
Distributed Computing FundamentalsMIT    CS704D Advanced OS           Class of 20112
Motivations for Distributed ComputingFast but inexpensive processors are available aplentyAvailability of cost effective and efficient communication networks Result is ; distributing the computing load even over large geographical distances is an cost effective option now.MIT    CS704D Advanced OS           Class of 20113
Types of Interconnected MultiprocessorsTightly coupled systemsProcessors in the system operate through a common address space(a common main memory)Loosely couple systemEach processor has its own private memory  and are on different address spacesMIT    CS704D Advanced OS           Class of 20114
Block DiagramsMIT    CS704D Advanced OS           Class of 20115Tightly coupledCPUCPUCPUCPUSystemwideShared memoryLocal MemLocal MemLocal MemLocal MemCPUCPUCPUCPUCommunication NetworkLoosely coupled
A Distributed Computing SystemA collection of processorsInterconnected by a networkEach processor has its own local memory & peripheralsCommunication between processors is by messagesA node is a local processor with its own local memory and peripheralsAll others are “remote” nodesMIT    CS704D Advanced OS           Class of 20116
Distributed System ModelsMinicomputer ModelWorkstation ModelWorkstation-server modelProcessor pool ModelHybrid modelMIT    CS704D Advanced OS           Class of 20117
Minicomputer ModelMIT    CS704D Advanced OS           Class of 20118CommunicationnetworkMinicomputerMinicomputerMinicomputerMinicomputer
Mini-computer ModelA user is connected to his local machineCan access to the remote nodesResource sharingMIT    CS704D Advanced OS           Class of 20119
Workstation ModelMIT    CS704D Advanced OS           Class of 201110WorkstationWSWSComunicationnetworkWSWSWS
Workstation ModelUser submits work to the local workstationIf the local station is not able to manage the processing, it will find one idle machines and transfer processes to other workstationsProblems are How to find an idle WSHow to transfer a process & execute itWhat happens to the remote process if user logs on to an WS that was idle until now and was given for a remote process executionMIT    CS704D Advanced OS           Class of 201111
Workstation-Server modelMIT    CS704D Advanced OS           Class of 201112WSWSWSWSWSWSCommunicationnetworkServerServerServer
Workstation-Server modelAdvantages compared to WS modelCheaper to provides servers with the required services than providing it locally. e.g file servicesAny WS can be used to access the file serversWith diskless workstations, it is easier to maintain a few large disks centrallyProcess migration is not necessary, request response protocol (client server model of communication)User gets guaranteed response time as workstations are not used for remote processes, processing power may be wastedMIT    CS704D Advanced OS           Class of 201113
Processor Pool ModelMIT    CS704D Advanced OS           Class of 201114TerminalsNetRunServerFile Server
Processor Pool ModelCompared to WS-Server modelProvides better resource utilizationAdditional services can be provided without the need for more processorsNot very suitable for high performance interactive ( such as graphics & windowing) applications, WS-server models probably will work betterMIT    CS704D Advanced OS           Class of 201115
Hybrid ModelReal models depend of the workload being handled.The work station server is a model suitable model for users doing most work locally, doing a little bit of interactive work, send emails, execute simple programs etc.Workstation-server configurations may have pools of processors. These pools can be used for jobs that are compute intensiveMIT    CS704D Advanced OS           Class of 201116
Advantages of Distributed Computing SystemsDesign of distributed systems are more complex than centralized ones. That’s because communication and security issues have to be handled additionally. Still the advantages are Applications are inherently distributable in many casesInformation sharingResource sharingBetter price performanceShorter response times, higher throughputsHigher reliabilityExtensibility & incremental growthFlexibility in meeting user needsMIT    CS704D Advanced OS           Class of 201117
Inherently Distributed ApplicationsApplications that need local processing as well as global level processing and viewing requirementsEmployee database of a multi branch companyBankingAirlines ticketingMIT    CS704D Advanced OS           Class of 201118
Information Sharing among Distributed UsersPerson to person communication over distance. In a distributed system work at a local node can be easily shared at remote nodes tooThus users distributed at diverse areas can collaborateGroupware is possible and is a natural for distributed computingMIT    CS704D Advanced OS           Class of 201119
Resource SharingBesides informationSoftware in librariesDatabasesHardware resources can be sharedMIT    CS704D Advanced OS           Class of 201120
Better Price PerformanceIncreasing performance yet falling prices of processorsBetter  & higher speed networks being available at higher reliability yet lower pricesBetter resource sharingMIT    CS704D Advanced OS           Class of 201121
Shorter Response & higher ThroughputIf the problem can be split suitablyMore processors will reduce processing timeThroughput will increaseBetter resource utilizationMIT    CS704D Advanced OS           Class of 201122
Higher ReliabilityRedundant drives,  back up copies etc. can be easily arranged in a distributed systemAvailability is better Fail soft is possible etc.MIT    CS704D Advanced OS           Class of 201123
Extensibility & Incremental GrowthAdditional resources can be added incrementallyAdditional processors can be added when neededAddition of resources does not disrupt the work too muchMIT    CS704D Advanced OS           Class of 201124
Flexibility in Meeting User NeedsOrdinary data processingHigh performance computingWork can be distributed to specialized processing unitFor example, interactive jobs can run on local work stations while processor pools can manage compute intensive jobsMIT    CS704D Advanced OS           Class of 201125
What is a Distributed OS?“ An operating System of is a program that controls the resources of a computer system and provides its users with an interface or virtual machine that is more convenient to use than the bare machine.”- Tannenbaum & Van Renesse [1985]Thus what OS needs to do arePresent users with a VM that is easier to program than the underlying hardwareManage resources, keep track of resource users, track requests, account usage, be the umpire in deciding who gets whatMIT    CS704D Advanced OS           Class of 201126
NOS vs. DOSSystem ImageIn case of NOS it is known to the users that distinct machines working cooperatively through a communication system. Whereas a DOS  provides a single machine imageAutonomySystems are autonomous. In DOS the operating system manages all the machinesFault tolerance capabilityNo fault tolerance, DOS provides high levels of toleranceMIT    CS704D Advanced OS           Class of 201127
Definition of a DOSAgain by Tannenbaum & Van RenesseA distributed OS is one that looks to its users like an ordinary centralized operating system but runs on multiple, independent central processing units. The key concept here is transparency. In other words, the use of multiple processors should be invisible(transparent) to the user. Another way of expressing the same idea is to say that the user views the system as a “virtual uniprocessor”, not as a collection of distinct machines.MIT    CS704D Advanced OS           Class of 201128
DifficultiesDo manage resources optimally, the manager must be aware of the accurate status of every resource. However, a distributed system never has thatResources are physically separatedNo common clockDelivery of message may be delayed or even lostNo accurate status information is thus available, yet the OS has to try and run things optimallyMIT    CS704D Advanced OS           Class of 201129
DOS Design IssuesMIT    CS704D Advanced OS           Class of 201130
Features of a DOSTransparencyReliabilityFlexibilityPerformanceScalabilityHeterogeneitySecurityEmulation of existing OSMIT    CS704D Advanced OS           Class of 201131
TransparencyAccess transparencyUniform access whether remote or local; uniform system calls and naming conventionsLocation transparencyName  transparency & user mobilityReplication transparencyNaming & replication controlFailure transparencyRedundancy; servers, communication etc.Migration transparencyAutomatic, no name change, message passing (receiver has migrated)Concurrency transparencyEvent driven ordering, mutual exclusion, no-starvationPerformance transparencyAuto reconfig, scaling should not cause disruptionMIT    CS704D Advanced OS           Class of 201132
ReliabilityFaults can be fail-stop or Byzantine; prevention includesFault AvoidanceGood design practices, low failure components, redundancy etc.Fault ToleranceRedundancy, distributed controlFault Detection & RecoveryAtomic transactions, stateless servers, ack & time out based messagesMIT    CS704D Advanced OS           Class of 201133
FlexibilityEase of modificationsWhen required it should be easy to modify sub-systemsEase of enhancementWhen required it should be easy to enhance featuresStructure of the kernelMonolithic kernel or a microkernelModular, server based services, easy to implement and modifyThere is a small performance penaltyMIT    CS704D Advanced OS           Class of 201134
PerformanceBatch, if possibleCache whenever possibleMinimize copying of dataMinimize network trafficTake advantage of fine grained parallelism for multiprocessingMIT    CS704D Advanced OS           Class of 201135
ScalabilityAvoid centralized entitiesAvoid centralized algorithmsPerform most operations on client workstationsMIT    CS704D Advanced OS           Class of 201136
HeterogeneityFormat related issues could be a big hurdleFormat interchange conversions will have to be supportedBetter to have an intermediate internal formatMIT    CS704D Advanced OS           Class of 201137
SecuritySender needs to know the right receiver received the messageThe receiver needs to have assurance that a genuine sender sent the  messageBoth sender and receiver need to be assured that the contents  of the message was not tampered  with during transmissionMIT    CS704D Advanced OS           Class of 201138
Emulation of Existing Operating SystemNew developments will use the API of the new OSNecessary for the ability to run existing applicationsBackward compatibilityMIT    CS704D Advanced OS           Class of 201139

Cs 704 d set4distributedcomputing-1funda

  • 1.
    CS 704DAdvanced OperatingSystem(Distributed Computing)Debasis Das
  • 2.
    Distributed Computing FundamentalsMIT CS704D Advanced OS Class of 20112
  • 3.
    Motivations for DistributedComputingFast but inexpensive processors are available aplentyAvailability of cost effective and efficient communication networks Result is ; distributing the computing load even over large geographical distances is an cost effective option now.MIT CS704D Advanced OS Class of 20113
  • 4.
    Types of InterconnectedMultiprocessorsTightly coupled systemsProcessors in the system operate through a common address space(a common main memory)Loosely couple systemEach processor has its own private memory and are on different address spacesMIT CS704D Advanced OS Class of 20114
  • 5.
    Block DiagramsMIT CS704D Advanced OS Class of 20115Tightly coupledCPUCPUCPUCPUSystemwideShared memoryLocal MemLocal MemLocal MemLocal MemCPUCPUCPUCPUCommunication NetworkLoosely coupled
  • 6.
    A Distributed ComputingSystemA collection of processorsInterconnected by a networkEach processor has its own local memory & peripheralsCommunication between processors is by messagesA node is a local processor with its own local memory and peripheralsAll others are “remote” nodesMIT CS704D Advanced OS Class of 20116
  • 7.
    Distributed System ModelsMinicomputerModelWorkstation ModelWorkstation-server modelProcessor pool ModelHybrid modelMIT CS704D Advanced OS Class of 20117
  • 8.
    Minicomputer ModelMIT CS704D Advanced OS Class of 20118CommunicationnetworkMinicomputerMinicomputerMinicomputerMinicomputer
  • 9.
    Mini-computer ModelA useris connected to his local machineCan access to the remote nodesResource sharingMIT CS704D Advanced OS Class of 20119
  • 10.
    Workstation ModelMIT CS704D Advanced OS Class of 201110WorkstationWSWSComunicationnetworkWSWSWS
  • 11.
    Workstation ModelUser submitswork to the local workstationIf the local station is not able to manage the processing, it will find one idle machines and transfer processes to other workstationsProblems are How to find an idle WSHow to transfer a process & execute itWhat happens to the remote process if user logs on to an WS that was idle until now and was given for a remote process executionMIT CS704D Advanced OS Class of 201111
  • 12.
    Workstation-Server modelMIT CS704D Advanced OS Class of 201112WSWSWSWSWSWSCommunicationnetworkServerServerServer
  • 13.
    Workstation-Server modelAdvantages comparedto WS modelCheaper to provides servers with the required services than providing it locally. e.g file servicesAny WS can be used to access the file serversWith diskless workstations, it is easier to maintain a few large disks centrallyProcess migration is not necessary, request response protocol (client server model of communication)User gets guaranteed response time as workstations are not used for remote processes, processing power may be wastedMIT CS704D Advanced OS Class of 201113
  • 14.
    Processor Pool ModelMIT CS704D Advanced OS Class of 201114TerminalsNetRunServerFile Server
  • 15.
    Processor Pool ModelComparedto WS-Server modelProvides better resource utilizationAdditional services can be provided without the need for more processorsNot very suitable for high performance interactive ( such as graphics & windowing) applications, WS-server models probably will work betterMIT CS704D Advanced OS Class of 201115
  • 16.
    Hybrid ModelReal modelsdepend of the workload being handled.The work station server is a model suitable model for users doing most work locally, doing a little bit of interactive work, send emails, execute simple programs etc.Workstation-server configurations may have pools of processors. These pools can be used for jobs that are compute intensiveMIT CS704D Advanced OS Class of 201116
  • 17.
    Advantages of DistributedComputing SystemsDesign of distributed systems are more complex than centralized ones. That’s because communication and security issues have to be handled additionally. Still the advantages are Applications are inherently distributable in many casesInformation sharingResource sharingBetter price performanceShorter response times, higher throughputsHigher reliabilityExtensibility & incremental growthFlexibility in meeting user needsMIT CS704D Advanced OS Class of 201117
  • 18.
    Inherently Distributed ApplicationsApplicationsthat need local processing as well as global level processing and viewing requirementsEmployee database of a multi branch companyBankingAirlines ticketingMIT CS704D Advanced OS Class of 201118
  • 19.
    Information Sharing amongDistributed UsersPerson to person communication over distance. In a distributed system work at a local node can be easily shared at remote nodes tooThus users distributed at diverse areas can collaborateGroupware is possible and is a natural for distributed computingMIT CS704D Advanced OS Class of 201119
  • 20.
    Resource SharingBesides informationSoftwarein librariesDatabasesHardware resources can be sharedMIT CS704D Advanced OS Class of 201120
  • 21.
    Better Price PerformanceIncreasingperformance yet falling prices of processorsBetter & higher speed networks being available at higher reliability yet lower pricesBetter resource sharingMIT CS704D Advanced OS Class of 201121
  • 22.
    Shorter Response &higher ThroughputIf the problem can be split suitablyMore processors will reduce processing timeThroughput will increaseBetter resource utilizationMIT CS704D Advanced OS Class of 201122
  • 23.
    Higher ReliabilityRedundant drives, back up copies etc. can be easily arranged in a distributed systemAvailability is better Fail soft is possible etc.MIT CS704D Advanced OS Class of 201123
  • 24.
    Extensibility & IncrementalGrowthAdditional resources can be added incrementallyAdditional processors can be added when neededAddition of resources does not disrupt the work too muchMIT CS704D Advanced OS Class of 201124
  • 25.
    Flexibility in MeetingUser NeedsOrdinary data processingHigh performance computingWork can be distributed to specialized processing unitFor example, interactive jobs can run on local work stations while processor pools can manage compute intensive jobsMIT CS704D Advanced OS Class of 201125
  • 26.
    What is aDistributed OS?“ An operating System of is a program that controls the resources of a computer system and provides its users with an interface or virtual machine that is more convenient to use than the bare machine.”- Tannenbaum & Van Renesse [1985]Thus what OS needs to do arePresent users with a VM that is easier to program than the underlying hardwareManage resources, keep track of resource users, track requests, account usage, be the umpire in deciding who gets whatMIT CS704D Advanced OS Class of 201126
  • 27.
    NOS vs. DOSSystemImageIn case of NOS it is known to the users that distinct machines working cooperatively through a communication system. Whereas a DOS provides a single machine imageAutonomySystems are autonomous. In DOS the operating system manages all the machinesFault tolerance capabilityNo fault tolerance, DOS provides high levels of toleranceMIT CS704D Advanced OS Class of 201127
  • 28.
    Definition of aDOSAgain by Tannenbaum & Van RenesseA distributed OS is one that looks to its users like an ordinary centralized operating system but runs on multiple, independent central processing units. The key concept here is transparency. In other words, the use of multiple processors should be invisible(transparent) to the user. Another way of expressing the same idea is to say that the user views the system as a “virtual uniprocessor”, not as a collection of distinct machines.MIT CS704D Advanced OS Class of 201128
  • 29.
    DifficultiesDo manage resourcesoptimally, the manager must be aware of the accurate status of every resource. However, a distributed system never has thatResources are physically separatedNo common clockDelivery of message may be delayed or even lostNo accurate status information is thus available, yet the OS has to try and run things optimallyMIT CS704D Advanced OS Class of 201129
  • 30.
    DOS Design IssuesMIT CS704D Advanced OS Class of 201130
  • 31.
    Features of aDOSTransparencyReliabilityFlexibilityPerformanceScalabilityHeterogeneitySecurityEmulation of existing OSMIT CS704D Advanced OS Class of 201131
  • 32.
    TransparencyAccess transparencyUniform accesswhether remote or local; uniform system calls and naming conventionsLocation transparencyName transparency & user mobilityReplication transparencyNaming & replication controlFailure transparencyRedundancy; servers, communication etc.Migration transparencyAutomatic, no name change, message passing (receiver has migrated)Concurrency transparencyEvent driven ordering, mutual exclusion, no-starvationPerformance transparencyAuto reconfig, scaling should not cause disruptionMIT CS704D Advanced OS Class of 201132
  • 33.
    ReliabilityFaults can befail-stop or Byzantine; prevention includesFault AvoidanceGood design practices, low failure components, redundancy etc.Fault ToleranceRedundancy, distributed controlFault Detection & RecoveryAtomic transactions, stateless servers, ack & time out based messagesMIT CS704D Advanced OS Class of 201133
  • 34.
    FlexibilityEase of modificationsWhenrequired it should be easy to modify sub-systemsEase of enhancementWhen required it should be easy to enhance featuresStructure of the kernelMonolithic kernel or a microkernelModular, server based services, easy to implement and modifyThere is a small performance penaltyMIT CS704D Advanced OS Class of 201134
  • 35.
    PerformanceBatch, if possibleCachewhenever possibleMinimize copying of dataMinimize network trafficTake advantage of fine grained parallelism for multiprocessingMIT CS704D Advanced OS Class of 201135
  • 36.
    ScalabilityAvoid centralized entitiesAvoidcentralized algorithmsPerform most operations on client workstationsMIT CS704D Advanced OS Class of 201136
  • 37.
    HeterogeneityFormat related issuescould be a big hurdleFormat interchange conversions will have to be supportedBetter to have an intermediate internal formatMIT CS704D Advanced OS Class of 201137
  • 38.
    SecuritySender needs toknow the right receiver received the messageThe receiver needs to have assurance that a genuine sender sent the messageBoth sender and receiver need to be assured that the contents of the message was not tampered with during transmissionMIT CS704D Advanced OS Class of 201138
  • 39.
    Emulation of ExistingOperating SystemNew developments will use the API of the new OSNecessary for the ability to run existing applicationsBackward compatibilityMIT CS704D Advanced OS Class of 201139