Distributed ComputingSlide 2Issues of Distributed ComputingSupport ModelApplication SupportUser Level SupportKernel SupportThree SolutionsThree Solutions - continuedPVM - Parallel Virtual MachinePVM - continuedMPI or LAMMPI - LAM - continuedSlide 14MOSIX and Linux 2.2.7Mosix - continuedMosix - ContinuedSlide 18MOSIX - Migrated ProcessBad MosixYou’re a good audienceDistributed ComputingDistributed ComputingSoftware based solutions to Software based solutions to Parallel ComputingParallel ComputingDistributed ComputingDistributed ComputingCluster based computingCluster based computingNetwork of WorkstationsNetwork of Workstations•Duality of standalone workstation Vs. Duality of standalone workstation Vs. parallel computing environment.parallel computing environment.Distributed ApplicationsDistributed Applications•RC5 ClientsRC5 Clients•SETI ClientsSETI ClientsIssues of Distributed Issues of Distributed ComputingComputingHomogeneous networksHomogeneous networks•Networks of similar machines. Requires only Networks of similar machines. Requires only one version of executables. one version of executables. Heterogeneous networksHeterogeneous networks•Different Architectures of machines. Different Architectures of machines. (Alpha,x86]. Each architecture requires its (Alpha,x86]. Each architecture requires its own version of executables.own version of executables.Issues of data representation, system Issues of data representation, system level interface differences, and suitability.level interface differences, and suitability.Support ModelSupport ModelApplication support is critcal.Application support is critcal.Three basic modelsThree basic models•Application is built with full awareness Application is built with full awareness and supportand support•User land facilities are provided to User land facilities are provided to facilitate awareness and supportfacilitate awareness and support•Kernel level supportKernel level supportApplication SupportApplication SupportApplication modeled as self-contained Application modeled as self-contained entity capable of client-server, peer-entity capable of client-server, peer-peer cooperation models.peer cooperation models.•RC5 clientRC5 client•SETI clientSETI clientSupport can be streamlinedSupport can be streamlinedLoss of transparency, load Loss of transparency, load balancing,lower QoS.balancing,lower QoS.User Level SupportUser Level SupportProvide basic parallel mechanismsProvide basic parallel mechanisms•Message/Data passingMessage/Data passing•SynchronizationSynchronization•Process HandlingProcess Handling–Rough controlRough controlProvides greater transparencyProvides greater transparency•Less dependence on architecture, Less dependence on architecture, transparency supports heterogeneous transparency supports heterogeneous solutionssolutionsKernel SupportKernel SupportProvides system level supportProvides system level support•SchedulingScheduling–Load BalancingLoad Balancing–Process MigrationProcess Migration•Resource AllocationResource AllocationDoesn’t work well in heterogeneous Doesn’t work well in heterogeneous configurations.configurations.Process Migration increases Process Migration increases communication costscommunication costsThree SolutionsThree SolutionsPVM - Parallel Virtual MachinePVM - Parallel Virtual Machine•User Land Parallel SolutionUser Land Parallel Solution•Message PassingMessage PassingMPI - Message Passing InterfaceMPI - Message Passing Interface•StandardStandard•Several ImplementationsSeveral Implementations•User Land SupportUser Land SupportThree Solutions - Three Solutions - continuedcontinuedMOSIX - Linux Kernel ExtensionsMOSIX - Linux Kernel Extensions•Provide dynamic schedulingProvide dynamic scheduling•process migrationprocess migration•system level integrationsystem level integrationPVM - Parallel Virtual PVM - Parallel Virtual MachineMachineMessage Passing ParadigmMessage Passing ParadigmHeterogeneous ComputingHeterogeneous Computing•Deals effectively with data Deals effectively with data representation issuesrepresentation issuesSupports variety of systems including Supports variety of systems including MPP’s, SMP’s, and vector machinesMPP’s, SMP’s, and vector machinesUses a daemon to provide parallel Uses a daemon to provide parallel facilitiesfacilitiesPVM - continuedPVM - continuedTracks tasks using a unique system Tracks tasks using a unique system assigned ID called a TIDassigned ID called a TIDSupports grouping, and group level Supports grouping, and group level activities.activities.MPI or LAMMPI or LAMMessage Passing InterfaceMessage Passing InterfaceMPI is the standard, several MPI is the standard, several implementations exist. One is LAM implementations exist. One is LAM and is maintained by Notre Dame.and is maintained by Notre Dame.Similar to PVMSimilar to PVM•HeterogeneousHeterogeneous•Uses a daemon, also includes a peer-Uses a daemon, also includes a peer-peer mode.peer mode.MPI - LAM - continuedMPI - LAM - continuedLAM environment must be started LAM environment must be started explicitlyexplicitlyProvides compiler shells to handle Provides compiler shells to handle program compilationprogram compilationNodes are dynamicNodes are dynamicSuite of utilities to maintain the Suite of utilities to maintain the message passing virtual machine.message passing virtual machine.The parallelism is explicitly programmedThe parallelism is explicitly programmedMPI - LAM - continuedMPI - LAM - continuedMPI addresses resource limitations. MPI addresses resource limitations. Uses a property called Guaranteed Uses a property called Guaranteed Envelope Resources to maintain Envelope Resources to maintain integrity of processes.integrity of processes.MOSIX and Linux 2.2.7MOSIX and Linux 2.2.7Linux, not much more to say.Linux, not much more to say.Mosix is developed to extend Mosix is developed to extend several unix operating systemsseveral unix operating systemsHomogeneousHomogeneousTransparent and Preemptive Transparent and Preemptive process migrationprocess migrationDynamic process reassignmentDynamic process reassignmentMosix - continuedMosix - continuedGlobal resource assignmentGlobal resource assignmentIdeal for cluster based computingIdeal for cluster based computingOffers memory usheringOffers
View Full Document