OD-1 CSE333 Architectural Specification Architectural Specification and Optimal Deployment of and Optimal Deployment of Distributed Systems Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering Department The University of Connecticut 371 Fairfield Road, Box U-2155 Storrs, CT 06269-2155 [email protected]http://www.engr.uconn.edu/ ~steve (860) 486 - 4818 Prof. María Cecilia Bastarrica Department of Computer Science The University of Chile Santiago, Chile [email protected]http://www.dcc.uchile.cl/~cecilia/
125
Embed
OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
OD-1
CSE333
Architectural Specification and Optimal Architectural Specification and Optimal Deployment of Distributed SystemsDeployment of Distributed Systems
Profs. S. Demurjian and A. ShvartsmanComputer Science & Engineering Department
The University of Connecticut371 Fairfield Road, Box U-2155
What are the Elements What are the Elements in a Distributed System?in a Distributed System?
Application ComponentsApplication Components New Software Legacy, COTS, Databases, etc.
Relationship Between ComponentsRelationship Between Components Different Implementations of “Same” Component Different Implementations of “Same” Component
on Different Hardware Platformson Different Hardware Platforms ConfigurationConfiguration Node Types in the NetworkNode Types in the Network Components’ DeploymentComponents’ Deployment More?More?
OD-3
CSE333
Graphical Modeling (Object-Oriented)Graphical Modeling (Object-Oriented) Manual Documentation of the Objects InteractionManual Documentation of the Objects Interaction Ad HocAd Hoc Specification of Types and Classes Specification of Types and Classes Formal Specification of InterfacesFormal Specification of Interfaces Description of Algorithms and ProtocolsDescription of Algorithms and Protocols Specification of Configuration and DeploymentSpecification of Configuration and Deployment
The Best Current PracticeThe Best Current Practice
OD-4
CSE333
Problem and IssuesProblem and Issues
What is the Best Way of Deploying a Distributed What is the Best Way of Deploying a Distributed Application? Application?
Problems With the Problem Problems With the Problem What is a Distributed Application ? Where is This Application to Be Deployed? What Do We Mean by Best Deployment? How Do We Get the Best Deployment?
OD-5
CSE333
Distributed ApplicationDistributed Application
A Distributed Application is a Set of Components A Distributed Application is a Set of Components Deployed Over a Network That Communicate.Deployed Over a Network That Communicate.
Components May Be:Components May Be: Data Types Executable Programs
Legacy or COTS Clients/Servers
Databases, Etc.
OD-6
CSE333
NetworkNetwork
A Network is a Set of A Network is a Set of Computers Connected So Computers Connected So They Can CommunicateThey Can Communicate
Computers & Connections Computers & Connections May Have Different May Have Different Characteristics That Affect Characteristics That Affect Their Usage Their Usage Speed Storage Bandwidth
OD-7
CSE333
Best DeploymentBest Deployment
A Distributed System is A Distributed System is Optimally Deployed if it Optimally Deployed if it Yields the Best PerformanceYields the Best Performance
Performance: Efficient Use Performance: Efficient Use of Resourcesof Resources Throughput Response Time Number of Messages
OD-8
CSE333
Understanding the Problem via UMLUnderstanding the Problem via UML
Consider an Application with a UML DesignConsider an Application with a UML Design Class Diagram and Object Diagram Sequence Diagrams Component Diagrams (Hardware & Software) (see Next Three Slides)
Questions:Questions: How do I Determine the Best Placements of the
Components (Classes) on the Hardware? How does the Object Interactions Influence the
Placement? Are any Instances Replicated? Fixed to
Particular Hardware Locations? How Do I Decide on Optimality?
OD-9
CSE333
Software and Hardware Component TypesSoftware and Hardware Component Types
Relationship of Relationship of Software and Hardware ClassesSoftware and Hardware Classes
OD-13
CSE333
Instances of Software ClassesInstances of Software Classes
OD-14
CSE333
Instances of Hardware ClassesInstances of Hardware Classes
OD-15
CSE333
Critical Step: Mapping Software Instances Critical Step: Mapping Software Instances to Hardware Locations with Restrictionsto Hardware Locations with Restrictions
Software (Left) and Hardware (Right) InstancesSoftware (Left) and Hardware (Right) Instances Restrictions on Restrictions on
Which Software Instance can be Deployed on Which Hardware Instance
Which Software Instances Deployed Together Which Software Instances Must be Separate
OD-16
CSE333
Objective Objective Determine the Optimal Deployment? Determine the Optimal Deployment?
OD-17
CSE333
softwareelements
hardwareelements
protocolsinterfaces
interactionpatterns
connectionsSpecification
Distributed Systems SpecificationDistributed Systems SpecificationCombinations of RequirementsCombinations of Requirements
OD-18
CSE333
Performance
algorithms
middleware
underlyingnetwork
usagepatterns
deployment
softwarearchitecture
replicationdegree
processingnodes
Distributed System Optimal DeploymentDistributed System Optimal DeploymentInfluenced by Many FactorsInfluenced by Many Factors
OD-19
CSE333
Integrated Framework for Integrated Framework for Design and DeploymentDesign and Deployment
SOFTWARE HARDWARE
Dependencies
Deployment
PERFORMANCE
OD-20
CSE333
Two-Fold Focus of the WorkTwo-Fold Focus of the Work
II55
An Architectural Specification Framework Specifically for Distributed Systems Including Software and Hardware Features Textual and Graphical Notations.
Optimization ModelOptimization Model Binary Integer Programming Model Architectural Information + Usage Patterns As
Parameters Possibility of Optimizing According to
Different Criteria
OD-21
CSE333
Graphical Specification
Textual Specification
Extended TextualSpecification
Optimal Deployment
TransformationProcedures
Usage PatternsInformation
BIP Model
The Complete CycleThe Complete Cycle
OD-22
CSE333
Outline or Remainder of TalkOutline or Remainder of Talk
Motivation and BackgroundMotivation and Background Overview of Architectural Styles OSF’s I4DL UML and Design Concepts
The I5 FrameworkThe I5 Framework A First Look at I5’s Levels Different Levels Graphical and Textual Notations
Conclusions and Future WorkConclusions and Future Work
OD-23
CSE333
Overview of Architectural StylesOverview of Architectural Styles
UML is Intended for Specifying OO and UML is Intended for Specifying OO and Component-based SystemsComponent-based Systems Define Business Processes (Use Cases) Track Specification/Document
CORBA Assumes an OO Architectural StyleCORBA Assumes an OO Architectural Style Other Architectural Styles Can Be Derived From Other Architectural Styles Can Be Derived From
the OO Stylethe OO Style Z Has Been Used to Specify Software Z Has Been Used to Specify Software
ArchitecturesArchitectures Formal Basis for Describing System Mathematically Sound
We’ll Employ both UML and Z!We’ll Employ both UML and Z!
OD-24
CSE333
II55 : Background and Sources : Background and Sources
OSF’s I4DL- Distributed Systems Defined With 4 OSF’s I4DL- Distributed Systems Defined With 4 Definition Languages (2 Pages):Definition Languages (2 Pages): Interface Inheritance Implementation Instantiation
Five Definition LanguagesFive Definition Languages Interface Inheritance Implementation Instantiation Installation
Five Formal Integrated Graphical Languages Five Formal Integrated Graphical Languages Based on UML’s Implementation DiagramsBased on UML’s Implementation Diagrams
The Application, Network, Dependencies and the The Application, Network, Dependencies and the Deployment are Part of an Integrated FrameworkDeployment are Part of an Integrated Framework
new DL
refine and expand DLs
What is What is II55??
OD-26
CSE333
Interface (I1)Interface (I1) - Types of Components, Nodes and - Types of Components, Nodes and ConnectorsConnectors
Implementation (I2)Implementation (I2) - Classes of Components, - Classes of Components, Nodes and ConnectorsNodes and Connectors
Integration (I3)Integration (I3) - Dependencies Between - Dependencies Between Component and Node ClassesComponent and Node Classes
Instantiation (I4)Instantiation (I4) - Instances of Each Class - Instances of Each Class DefinitionDefinition
Installation (I5)Installation (I5) - Deployment of Each Instance - Deployment of Each Instance (Requirements and Complete Deployment)(Requirements and Complete Deployment)
The Five Levels of The Five Levels of II55
OD-27
CSE333
TypesTypes - Generic Definition of Components, Nodes, - Generic Definition of Components, Nodes, and Connectors According to Their Roleand Connectors According to Their Role Defined in I1 Used in I2 to Define Classes
ClassesClasses - Different Implementations of the Types - Different Implementations of the Types Defined in I2 Used in I3 to Associate Software Components
and Hardware Artifacts and I4 to Define Instances InstancesInstances - Identical Copies of the Different Classes - Identical Copies of the Different Classes
Defined in I4 Used in I5 to Deploy Instances Across Nodes
Levels of Specification in Levels of Specification in II55
OD-28
CSE333
UMLUML
UML is a Set of Graphical Specification UML is a Set of Graphical Specification Languages (OMG’s Standard Design Language Languages (OMG’s Standard Design Language Since November, 1997)Since November, 1997)
Show the Physical Structure of the Code in Terms of Code Components and Their Dependencies
Deployment Diagrams: Show the Physical Architecture of the Hardware
and Software in the System.
They Have a Type and an Instance Version.
OD-29
CSE333
UMLUML
When to Use Deployment Diagrams When to Use Deployment Diagrams “… “… In practice, I haven’t seen this kind of diagram used much. In practice, I haven’t seen this kind of diagram used much.
Most people do draw diagrams to show this kind of Most people do draw diagrams to show this kind of information but they are informal cartoons. On the whole, I information but they are informal cartoons. On the whole, I don’t have a problem with that since each system has its don’t have a problem with that since each system has its own physical characteristics that your want to emphasize. own physical characteristics that your want to emphasize. As we wrestle more and more with distributed systems, As we wrestle more and more with distributed systems, however, I’m sure we will require more formality as we however, I’m sure we will require more formality as we understand better which issues need to be highlighted in understand better which issues need to be highlighted in deployment diagrams.”deployment diagrams.”
From “UML Distilled. Applying the Standard Object From “UML Distilled. Applying the Standard Object Modeling Language”, by Martin Fowler. Addison-Wesley, Modeling Language”, by Martin Fowler. Addison-Wesley, Object Technology Series, 7th. Reprint June, 1998.Object Technology Series, 7th. Reprint June, 1998.
OD-30
CSE333
Pros and Cons ofPros and Cons ofGraphical ModelingGraphical Modeling
Advantages:Advantages: Clear to Show
Structure Excellent
Communication Vehicle
Addresses Different Aspects of Modeling in an Integrated Fashion
DisadvantagesDisadvantages:: Shows Little (or No)
Details There is a Big Gap
Between Specification and Implementation
Limited by Screen Size & Printable Page
Solution: Associate a Complete Textual Solution: Associate a Complete Textual Specification to Graphical Model that Contains Specification to Graphical Model that Contains the Necessary Details for Each Elementthe Necessary Details for Each Element
OD-31
CSE333
Design ConceptsDesign Concepts
Interface Interaction With the Outer World Interface Interaction With the Outer World Signature + Requested ServicesSignature + Requested Services
TypeType: Abstract Entity - Interface + Semantics: Abstract Entity - Interface + Semantics SubtypeSubtype: Inherits the Supertype Definition: Inherits the Supertype Definition ClassClass: Implementation of a Type: Implementation of a Type RealizationRealization: Relation Between a Type and a Class : Relation Between a Type and a Class
That Implements ItThat Implements It SubclassSubclass: Inherits the Superclass Implementation: Inherits the Superclass Implementation InstanceInstance: Element of a Class: Element of a Class
OD-32
CSE333
Design Concepts in UML DiagramsDesign Concepts in UML DiagramsComponent Types and ClassesComponent Types and Classes
T1
T2
C1
C2.1
C2.2
I2
I2
I2
I2
I2
I4 I4
I4
types
classes
realization
subtype
subclass
interface
OD-33
CSE333
TheThe I I5 5 FrameworkFramework
An An IntegratedIntegrated Specification Framework for Specification Framework for Distributed SystemsDistributed Systems Support for the Architectural Specification of
OO and Component Based Distributed Systems Heterogeneous Network - Platforms
A Five Level Framework for Defining Software A Five Level Framework for Defining Software and Hardware (Platforms) With a and Hardware (Platforms) With a UniformUniform Notation and With Different Levels of AbstractionNotation and With Different Levels of Abstraction
Specified Textually in Z or Graphically in UMLSpecified Textually in Z or Graphically in UML Emphasis on Implementation Diagrams
Please See http://www.engr.uconn.edu/~ceciliaPlease See http://www.engr.uconn.edu/~cecilia
OD-34
CSE333
Interplay ofInterplay ofGraphical and Textual NotationsGraphical and Textual Notations
Well-formed
Consistent
graphical
textual
OD-35
CSE333
Benefits of Benefits of II55
Organizes the Design of New Systems and the Organizes the Design of New Systems and the Documentation of Existing Distributed SystemsDocumentation of Existing Distributed Systems
More Traceability, Important for Maintenance More Traceability, Important for Maintenance
Firm Base for Configuration ManagementFirm Base for Configuration Management
The Implicit Methodology Makes Use of the The Implicit Methodology Makes Use of the Knowledge Shared by the Trained UML Users Knowledge Shared by the Trained UML Users CommunityCommunity
We’ll Transition from We’ll Transition from II55 to Optimal Deployment! to Optimal Deployment!
OD-36
CSE333Interface
Implementation
Integration
Instantiation
InstallationAb
str
acti
on
Deta
il
The Five Levels of The Five Levels of II55
OD-37
CSE333
A First Look at A First Look at the Interface Levelthe Interface Level
Component and Node Component and Node TypesTypes Are Specified As Are Specified As Well As Their Connections.Well As Their Connections.
A First Look at the A First Look at the Implementation LevelImplementation Level
Implementation Constraints State the Class of Implementation Constraints State the Class of Node Where Each Implementation Class of Node Where Each Implementation Class of Component Should RunComponent Should Run
A First Look at the A First Look at the Instantiation LevelInstantiation Level
Instantiation Identifies the Instance Components Instantiation Identifies the Instance Components and Computers of Each Class That Form Part of and Computers of Each Class That Form Part of the Actual Systemthe Actual System
A First Look at the A First Look at the Instantiation LevelInstantiation Level
Only Instances of the Only Instances of the Implementation Classes Implementation Classes Already Identified Can Already Identified Can Be Part of the SystemBe Part of the System
Instances Must Preserve Instances Must Preserve the Dependencies the Dependencies Specified in the Interface Specified in the Interface LevelLevel
A First Look at the A First Look at the Installation LevelInstallation Level
Deployment of the Instance Components Over the Deployment of the Instance Components Over the Instance ComputersInstance Computers
Installation Has Two Facets:Installation Has Two Facets: Installation Requirements Complete Installation
All Instances Identified in the Instantiation Level All Instances Identified in the Instantiation Level Must Be Part of the Complete InstallationMust Be Part of the Complete Installation
A Set of Component Instances Must Be A Set of Component Instances Must Be Deployed Together or SeparatedDeployed Together or Separated
Fix the Location of Some Component InstancesFix the Location of Some Component Instances
All Installation Requirements Must Be All Installation Requirements Must Be Consistent With the Requirements Imposed by Consistent With the Requirements Imposed by All the Previous Specification LevelsAll the Previous Specification Levels
All Node and Component Instances Form the All Node and Component Instances Form the Complete InstallationComplete Installation
Each Component Instance is Deployed to One and Each Component Instance is Deployed to One and Only One Node in the NetworkOnly One Node in the Network
Node Classes Must Support the Class of Node Classes Must Support the Class of Components It is AssignedComponents It is Assigned
It Must Satisfy the Installation RequirementsIt Must Satisfy the Installation Requirements
(We Postpone the Graphical Representation(We Postpone the Graphical Representation Until We Calculate the Optimal Deployment) Until We Calculate the Optimal Deployment)
OD-75
CSE333
I5I4together : P (P Inst_Comp)separated : P (P Inst_Comp)fix : Inst_Comp Inst_Nodedeployment : Inst_Comp Inst_Node
Distributed Systems Deployment GoalDistributed Systems Deployment Goal
Premise:Premise: Distributed Application Comprised of Multiple
Interacting Components Target Platform of Networked Computing
Nodes Problem:Problem:
Is it possible to Deploy Components Onto Targeted Platform in an Optimal Fashion?
Can Optimal Deployment that Satisfies Both Software Requirements and Hardware Limits be Attained?
Approach: Focus on Messages - Both Throughput Approach: Focus on Messages - Both Throughput and Frequencyand Frequency
OD-77
CSE333
Optimizing with the BIP ModelOptimizing with the BIP Model
An Initial Deployment is Suggested by the ModelAn Initial Deployment is Suggested by the Model Optimization is Only With Respect to the Chosen Optimization is Only With Respect to the Chosen
CriterionCriterion Complexity of the Algorithm Makes the Procedure Complexity of the Algorithm Makes the Procedure
Useful for Small SystemsUseful for Small Systems Fixing the Location of Some Components Fixing the Location of Some Components
Dramatically Reduces the Search SpaceDramatically Reduces the Search Space
We Think That the Most Important Application for We Think That the Most Important Application for Our BIP Model is the Study of What If CasesOur BIP Model is the Study of What If Cases
OD-78
CSE333
Two Optimization ModelsTwo Optimization Modelsand Their Criteriaand Their Criteria
OptimizationCriteria
SoftwareRequirements
HardwareLimitations
Model 1 MinimizeRemoteCommunicationThroughput
Number OfBytes InRemoteMessages.
Storage NeedForComponents.
ConnectorCapacity.
Node StorageAvailability.
Model 2 Minimize TheNumber OfRemoteMessages
Number OfMessagesBetweenComponents.
ComponentClasses OnlyRun On CertainNode Classes.
Hops BetweenPairs Of Nodes.
OD-79
CSE333
Model 1: Local vs. Remote Model 1: Local vs. Remote CommunicationCommunication
LocalLocal
Less ExpensiveLess ExpensiveFasterFasterSaferSafer
RemoteRemote
More ExpensiveMore ExpensiveSlowerSlowerFault ProneFault Prone
But Distribution Improves the Opportunities But Distribution Improves the Opportunities for Parallelism and Availability of Resources for Parallelism and Availability of Resources Where They Are NecessaryWhere They Are Necessary
OD-80
CSE333
Units Storage:Units Storage:
Communication Between Units:Communication Between Units:
Node Storage and Connector CapacityNode Storage and Connector Capacity
Model 1: ParametersModel 1: ParametersStorage and CommunicationStorage and Communication
instancesistateiiUS .*.)(
listexportsjmjm.target
listi.usesm
instancesifrequencymsizemjiCOMM
_.
_
.*.*.),(
jendciendccapacitycjiCONN
storageiiNS
2.,1.|.),(
.)(
OD-81
CSE333
Model 1: Deployment ConstraintsModel 1: Deployment Constraints
General:General: Each Unit is Deployed to Only One NodeEach Unit is Deployed to Only One Node Storage for All Units Deployed to the Same Node Storage for All Units Deployed to the Same Node
Does Not Exceed the Node’s Available StorageDoes Not Exceed the Node’s Available Storage Communication Occurs Through Direct Communication Occurs Through Direct
Connectors Between NodesConnectors Between Nodes No Connector’s Throughput Exceeds Its CapacityNo Connector’s Throughput Exceeds Its Capacity
Particular:Particular: Any Unit’s Location Can Be Fixed to a Certain Any Unit’s Location Can Be Fixed to a Certain
Node (or a Set of Nodes)Node (or a Set of Nodes)
OD-82
CSE333
Model 1: BIP Model for Optimal Model 1: BIP Model for Optimal DeploymentDeployment
Decision Variables:Decision Variables:xxij ij = = 1 if component 1 if component ii is assigned to node is assigned to node jj
0 otherwise0 otherwise
1 if component 1 if component aa is assigned to node is assigned to node ii yyaibjaibj = = and component and component bb is assigned to node is assigned to node jj
Model 2:Model 2: Derived EquationsDerived Equations
XXijij and and YYaibjaibj Are Related:Are Related:
and This Relationship Can Be Restated Linearly and This Relationship Can Be Restated Linearly
As Follows:As Follows:
bjaiaibj xxy
bjaiaibj
bjaibj
aiaibj
xxy
xy
xy
1
OD-92
CSE333
Model 2:Model 2: Equations: System’s ConstraintsEquations: System’s Constraints
CompletenessCompleteness - All Instance Components Must - All Instance Components Must Be Deployed & Only Over Instance NodesBe Deployed & Only Over Instance Nodes
SupportabilitySupportability - Instance Nodes Must Support - Instance Nodes Must Support the Components Assignedthe Components Assigned
Requirements Requirements - Complete Deployment Must - Complete Deployment Must Satisfy the Fix, Separated & Together Satisfy the Fix, Separated & Together Installation RequirementsInstallation Requirements
N
jjix
1, 1
),(, jiSUPPx ji
11
,
N
j Tajax
Sa
jax 1,
OD-93
CSE333
Model 2:Model 2: Objective FunctionObjective Function
C
a
N
i
C
b
N
jaibjyjiHOPSbaMSGSZ
1 1 1 1
),(),(
OD-94
CSE333
A Second Example in A Second Example in II55 Modeling a SystemModeling a System
Conceptually Based on an Essentially Serializable Conceptually Based on an Essentially Serializable Data Service (ESDS)Data Service (ESDS)
Demonstration ofDemonstration of Modeling Capabilities of I5
Verification of Work Utilizing Genetic Algorithm
Joint Research with Bastarrica and Cabellero Published in Software Engineering/Knowledge
Engineering Conference 01 See Course web page for paper
OD-95
CSE333
What is ESDS?What is ESDS?
ESDS is a Replicated Data Service Dealing withESDS is a Replicated Data Service Dealing with Replicated Objects Allowing clients of Service
to Relax Consistency Requirements for Improved Responsiveness
Simultaneously Provide Guarantees of Eventual Consistency of Replicated Data
ESDS Implementation IncludesESDS Implementation Includes Parameterizable Number of Client, Front-End,
and Replicated Components Each can have Different Communication
Patterns Each can be Individually Deployed in a Target
Network
OD-96
CSE333
Modeling ESDS using Modeling ESDS using II55
ESDS Deals with Replicated Objects and Trades ESDS Deals with Replicated Objects and Trades Short-Term Consistency (lack of) for PerformanceShort-Term Consistency (lack of) for Performance
ESDS Guarantees Eventual Consistency of ESDS Guarantees Eventual Consistency of ReplicasReplicas
In ESDS Replicas In ESDS Replicas Keep Order of Known Data Operations Implemented as Individually Deployable
Components Periodically Exchange Knowledge in Gossip
Messages Clients Interact with Users of the ServiceClients Interact with Users of the Service Front-Ends Broker Communication Between Front-Ends Broker Communication Between
Communication Frequency Between Client and Communication Frequency Between Client and FrontEnd Components in ESDSFrontEnd Components in ESDS
Components that Must be Separated and FixedComponents that Must be Separated and Fixed
OD-105
CSE333
SUPP MatrixSUPP Matrix
Matrix of Software Components Supported by Matrix of Software Components Supported by Hardware NodesHardware Nodes
OD-106
CSE333
MSGS MatrixMSGS Matrix
Only One Types of Message Between Every Pair of Only One Types of Message Between Every Pair of Component Instances in ESDSComponent Instances in ESDS
As a Consequence, the Value is the As a Consequence, the Value is the frequencyfrequency of the of the MessageMessage
OD-107
CSE333
The HOPS MatrixThe HOPS Matrix
Contains the Minimum Number of Hops Between Contains the Minimum Number of Hops Between Every Pair of Modes by Examining the ESDS Every Pair of Modes by Examining the ESDS Hardware Instantiation Previously ShownHardware Instantiation Previously Shown
OD-108
CSE333
BIP Optimal DeploymentBIP Optimal Deployment
Given the Above Tables, we can Apply the Given the Above Tables, we can Apply the Previously Described Model 2Previously Described Model 2
BIP Performs Exhaustive SearchBIP Performs Exhaustive Search Utilizes Branch and Bound Algorithm Complexity is O(NC) - Exponential
Execution Time:Execution Time: C Program Required 2 Hours of Computation
Time for Optimal Solution on Model 2 GAMS Package Executed for Entire Day
without Results Even for “Small” Problem, Optimal Deployment is Even for “Small” Problem, Optimal Deployment is
a Complex Taska Complex Task
OD-109
CSE333
Installation: I5Installation: I5What is the Optimal Deployment? What is the Optimal Deployment?
OD-110
CSE333
Utilize Genetic Algorithm for DeploymentUtilize Genetic Algorithm for Deployment
Genetic Algorithms (GAs) are Stochastic Search Genetic Algorithms (GAs) are Stochastic Search Techniques Inspired by EvolutionTechniques Inspired by Evolution
GAs Used to Find Global or Near Optimal GAs Used to Find Global or Near Optimal Solution for Complex Multi-Dimensional SpacesSolution for Complex Multi-Dimensional Spaces
GA Utilizes Operations for: Selection, Crossover, GA Utilizes Operations for: Selection, Crossover, and Mutation to Simulate the Evolutionary Processand Mutation to Simulate the Evolutionary Process Manipulate Individuals of Population Each Generation of Population is Replaced via
a Fitness Function Fitness Function Evaluates Degree that
Chromosome Meets Solution In Our Case, Fitness Function Evaluates Optimal In Our Case, Fitness Function Evaluates Optimal
Deployment by Focusing on MSGSs/HOPSDeployment by Focusing on MSGSs/HOPS
GA for Evaluating Optimal Deployment of GA for Evaluating Optimal Deployment of Components on NodesComponents on Nodes
Run Multiple Experiments, and For Each Run, Run Multiple Experiments, and For Each Run, May Identify Multiple SolutionsMay Identify Multiple Solutions On Average, First Solution (194 messages)
found in Generation 29 Same Solution as BIP Due to Symmetry of Problem, GA found Many
Other Solutions for 194 Messages Why GA over BIP?Why GA over BIP?
Performance, Performance, Performance Ability to Work on Scaled up Problems
OD-112
CSE333
Performance of GAPerformance of GA
Table Below Summarizes the Results of Multiple Table Below Summarizes the Results of Multiple GA ExperimentsGA Experiments
Note that 13.1 Seconds (GA) vs. 2 hrs. (BIP)for Note that 13.1 Seconds (GA) vs. 2 hrs. (BIP)for Problem as Presented in this PaperProblem as Presented in this Paper
Other Case Increased Components and/or Increased Other Case Increased Components and/or Increased NodesNodes
Notice that Increasing Nodes with 12 Components Notice that Increasing Nodes with 12 Components Doesn’t Alter Optimal Solution (194 messages)Doesn’t Alter Optimal Solution (194 messages)
OD-113
CSE333
Conclusion: Model 2 - BIP vs. GAConclusion: Model 2 - BIP vs. GA
BIP vs. GABIP vs. GA BIP Yields Optimal Solutions at a Cost
However, Problem is Intractable as System Grows in Terms of Components and/or Nodes
GA Doesn’t Guarantee Optimality However, Can Provide Solution in Reasonable Time for Larger Scale Problems
MoralMoral Optimal Deployment is an Important Problem
for Distributed Applications However, must use MNGA without Guarantee
of Optimality May be Only Choice as Complexity Grows
OD-114
CSE333
A Third Example in A Third Example in II55 Modeling a SystemModeling a System
Conceptually Based on the Virginia-class Conceptually Based on the Virginia-class Submarine Data Distribution SystemSubmarine Data Distribution System
Composed of Several SubsystemsComposed of Several Subsystems Consumers Are Decoupled From Suppliers Using Consumers Are Decoupled From Suppliers Using
a Typed Event Channel: a Typed Event Channel: One Supplier Pushes Event Data to Multiple
Consumers Servers Use Typed Event Channels to Distribute Servers Use Typed Event Channels to Distribute
Notifications of Changes to Available DataNotifications of Changes to Available Data Typed Event Channels Are Also Used to Deliver Typed Event Channels Are Also Used to Deliver
Signals and Distribute Periodic UpdatesSignals and Distribute Periodic Updates
Conclusions on this Example Conclusions on this Example
The The II55 Textual Notation Was Used to Specify a Textual Notation Was Used to Specify a Corba-based Distributed SystemCorba-based Distributed System
Documenting the Design of New and Existing Documenting the Design of New and Existing Distributed SystemsDistributed Systems
Precision in Inheritance Hierarchy SpecificationsPrecision in Inheritance Hierarchy Specifications Traceability -- Important for Maintenance Traceability -- Important for Maintenance
Configuration ManagementConfiguration Management
Leveraging UMLLeveraging UML
OD-124
CSE333
Prototyping ExamplePrototyping Example
Current UML Tools Have Weak Support for Current UML Tools Have Weak Support for Diagrams Used for the Diagrams Used for the II55 Graphical Notation Graphical Notation
Developed a Graphical Tool to Support Developed a Graphical Tool to Support II55 Prototype Tool with Basic I5 Capabilities Revealed Limitations in the Ability of UML to
Capture All Aspects of the Textual Notation Work was HaltedWork was Halted Still Interested in Pursuing Given Current Still Interested in Pursuing Given Current
Capabilities of UML Tools and their ExtensibilityCapabilities of UML Tools and their Extensibility
OD-125
CSE333
Conclusions and Future WorkConclusions and Future Work
An Integrated Framework for Designing and An Integrated Framework for Designing and Deploying Distributed SystemsDeploying Distributed Systems
A Consistent Methodology for Using UML’s A Consistent Methodology for Using UML’s Implementation DiagramsImplementation Diagrams
A Concrete Measure of Performance for a A Concrete Measure of Performance for a Distributed SystemDistributed System
Utilizing the Prediction of Performance of a Utilizing the Prediction of Performance of a Distributed System to Assist in its DeploymentDistributed System to Assist in its Deployment