Professional Documents
Culture Documents
Master of Technology
in
Computer Science and Engineering
by
Neeru Goswami
(Roll No.- 1320310007)
under the supervision of
ABSTRACT
This paper presents the concepts of distributed systems as well as the overview of the
use of Unified Modeling Language (UML) as a standard notation in developing object
oriented design methodology for computer applications.
In this, a detailed study of dynamic interconnection networks has done for the
Distributed Computer Systems. A comparative study is done for Bus, Cross-bar and
Multistage network topologies and their performance is also evaluated after designing
Object, Interaction and Use-case diagrams for the same.
Keywords : Network Topology, Object Diagram, Interaction Diagram and Use-case Diagram
ACKNOWLEDGEMENT
Many people have helped me in the course of this project. It is a pleasure to acknowledge them.
I would like to express our gratitude to Dr. R.M Shukla, dean academics and Mr R.K . Shukla,
H.O.D of Computer Science Department for providing me an opportunity to do my research
work on Object Oriented Interaction by UML in Distributed Environment.
For several fruitful discussions, doubt clearing sessions and lectures, I thank Mr. Anil Pandey of
CS department who is our project guide.
I thank all staff members of the Computer Science Engineering department, for all their support
and cooperation,
I thank all my friends, for their support and cooperation.
CONTENTS
1.
Introduction
1
1.1 Overview of UML
1
1.2 Overview of Network Topologies
2. Literature Study
2
2.1 Interconnection Netwoks
2.2 Network Topologies 4
9
3.1 Parallel Architecture & Memory Organization
9
3.2 Conflicts in Parallel Architecture
12
3.3 SMP....................................................................................................................................
4. Interconnection Network 15
4.1 Characteristics of Interconnection Network 15
4.2 Related Definition
15
4.3 Classification of Interconnection Network.......................................................................17
.21
21
37
7. Process 38
7.1. Process
Topologies...........................................................................................................39
8. UML Diagrams
40
42
10.Conclusion
References 48
47
LIST OF FIGURES
LIST
Figure 5.1
Figure 6.1
Figure 6.2
Figure 6.3
Figure 6.4
FIGURE
Distributed System Representation Framework
Distributed Computer System
Distributed Representation model
Process Component Representation
Process Topology
Page No
28
30
33
35
37
1. INTRODUCTION
1.1 OVERVIEW OF UML
High Performance computation is required for many engineering problems. A popular
approach for computing in nowadays is distributed computer system as it delivers high
end performance. A lot of work on UML modeling have been done by various
researchers, but limited research papers are available for distributed computer systems
related to the UML modeling. UML is used as a standard notation for modeling the
different real-world objects. It is used as an standard modeling language with a graphical
notation, and set of diagrams and elements.
UML is the most visual presentation platform for modeling the real-world problems and
is developed by Booch et al. [1]. The extensions in UML for modeling the design issues
related to any web application architecture are defined by Conallen [2]. The UML is a
very expressive language, addressing all the views needed to develop and then deploy
such systems. It is easy to understand. The major challenges regarding the distributed
system through architecture is explored by Coulouris, G. et al. [3], where various
technologies and case studies on Ethernet and ATM are also discussed. The performance
of ring and tree based topologies for the distributed systems is compared by Huang and
Bode [4]. The way by which one can do the UML modeling for high performance
applications, is suggested by Pllana and Fahringer [8].
What is UML?
Unified Modeling Language or UML is defined as a standardized general-purpose modeling
language in the field of object-oriented software engineering. The standard is managed, and was
created, by the Object Management Group (OMG). It was first added to the list of OMG adopted
technologies in 1997, and has since become the industry standard for modeling softwareintensive systems [2]. It includes a set of graphic notation techniques to create visual models of
object-oriented software-intensive systems.
The UML is a tool for specifying and visualizing software systems. It includes standardized
diagram types that describe and visually map a computer application or a database systems
design and structure. The use of UML as a tool for defining the structure of a system is a very
useful way to manage large, complex systems. Having a clearly visible structure makes it easy to
introduce new people to an existing project [4].
The UML is used to specify, visualize, modify, construct and document the artifacts of an objectoriented software-intensive system under development. It offers a standard way to visualize a
system's architectural blueprints, including elements such as [2]:
activities
actors
business processes
database schemas
(logical) components
programming language statements
reusable software components.
The UML combines techniques and processes from the data modeling (entity relationship
diagrams), business modeling (work flows), object modeling, and component modeling. It can be
used with all processes, throughout the software development life cycle, and across different
implementation technologies [2].
compared in
a distributed
done in this,
by using the
The interconnection network is responsible for fast and reliable communication among
processing nodes in any parallel computer. The demands on the network depend on the parallel
computer architecture in which the network is used. Two main parallel computer architectures
exist (1).
In the physically shared-memory parallel computer, N processors access M memory modules
over an interconnection network. In the physically distributed-memory parallel computer, a
processor and a memory module form a processormemory pair that is called processing element
(PE). All N PEs are interconnected via an interconnection network as depicted in Fig. 1(b). In a
message-passing system, PEs communicate by sending and receiving single messages (2), while
in a distributed-shared-memory system, the distributed PE memory modules act as a single
shared address space in which a processor can access any memory cell (3). This cell will either
be in the memory module local to the processor, or be in a different PE that has to be accessed
over the interconnection network.
2. LITERATURE STUDY
The UML defines nine diagram types, which allow different aspects of a system to be expressed.
Each diagram type describes a system or parts of it from a certain point of view. For the purpose
of modeling performance-oriented distributed and parallel applications we concentrate on a
subset of the UML that consists of class, activity and collaboration diagrams. In this section we
present some background information that will be helpful to understand the remainder of this
paper.
A comprehensive discussion on UML can be found in Rumbaugh et al. (1999). Our approach
relies on the UML extension mechanisms to customize UML for the domain of performance
oriented parallel and distributed computing. The UML extension mechanisms(OMG2001)
describe how to customize specific UML model elements and how to extend them with new
semantics by using stereotypes, constraints, tag definitions, and tagged values.
Stereotypes are used to define specialized model elements based on a core UML model element.
A stereotype refers to a base class in the UML metamodel (see Figure 2.a), which indicates the
element to be stereotyped. stereotype may introduce additional values, additional constraints,
and a new graphical representation. Stereotypes are notated by the stereotype name enclosed in
guillemets << >> or by a graphic icon. We are employing stereotypes to define modeling
elements for constructs such as SEND, RECEIVE, PARALLEL, CRITICAL, etc. UML
properties in form of a list of tag-value pairs are introduced to attach additional information
to modeling elements.
A tag represents the name of an arbitrary property with a given value and may appear at most
once in a property list of any modeling element. It is recommended to define tags within the
context of a stereotype. The notation of tags follows a specific syntax: {tag = value}, for
instance, {time=10}. A constraint allows to linguistically specify new semantics for
a model element by using expressions in a designated constraint language.
The usage of UML extension mechanisms is illustrated in Figure 2. Figure 2.a depicts the
definition of the modeling element action+ by stereotyping the base class ActionState. An
ActionState is used to model a step in the execution of an algorithm.
The compartment of the stereotype action+ named Tags specifies a list of tag definitions which
includes id, type, and time. Tag id can be used to uniquely identify the modeling element
action+; tag type specifies the type of action+, and tag time the time spent to complete action+.
We are using action+ (see example in Figure 2.b) to model various types of single-entry singleexit code regions, whereas tags are employed to describe performance relevant information,
such as estimated or measured execution times.
The set of the tag definitions is not limited to those shown in Figure 2.a but can be arbitrarily
extended to suffice a modeling objective. In the remainder of this paper, programming language
constructs will be denoted with capital letters, for instance non-blocking SEND, and UML
modeling elements with small letters, for instance nbsend. For the sake of simplicity, in some
examples the properties of a modeling element are suppressed.
These networks can be divided into two classes: direct and indirect networks. In direct networks,
each switch has a direct link to a processing node or is simply incorporated directly into the
processing node. In indirect networks, this one-to-one correspondence between switches and
nodes need not exist, and many switches in the network may be attached only to other switches.
Direct and indirect network topologies are discussed in the following section.
The mechanism to transfer a message through a network is called switching. A section below is
devoted to switching techniques. Switching does not take into consideration the actual route that
a message will take through a network. This mechanism is termed routing, and will be discussed
in turn. In indirect networks, active switch boxes are used to transfer messages. Switch box
architectures are discussed in a final section.
NETWORK TOPOLOGIES
Direct Networks
Direct networks consist of physical interconnection links that connect the nodes (typically PEs)
in a parallel computer. Each node is connected to one or more of those interconnection links.
Because the network consists of links only, routing decisions have to be made in the nodes.
In many systems, dedicated router (switch) hardware is used in each node to select one of the
interconnection links to send a message to its destination. Because a node is normally not
directly connected to all other nodes in the parallel computer, a message transfer from a source to
a destination node may require several steps through intermediate nodes to reach its destination
node. These steps are called hops.
Two topology parameters that characterize direct networksare the degree and the network
diameter. The degreeG of a node is defined as the number of interconnection linksto which a
node is connected. Herein, we generally assume that direct network links are bidirectional,
although this need not always be the case. Networks in which all nodes
have the same degree n are called n-regular networks.
The network diameter F is the maximum distance between two nodes in a network. This is equal
to the maximum number of hops that a message needs to be transferred from any source to any
destination node. The degree relates the network topology to its hardware requirements (number
of links per node), while the diameter is related to the transfer delay of a message (number of
hops through the network). The two parameters depend on each other. In most direct network, a
higher degree implies a smaller diameter because with increasing degree, a node is connected
to more other nodes, so that the maximum distance between two nodes will decrease.
Many different direct network topologies have been proposed. In the following, only the basic
topologies are studied. Further discussion of other topologies can be found in Refs. 79. In a ring
network connecting N nodes, each node is connected to only two neighbors (G 2), with PE i
connected to PEs i _ 1 mod N and i 1 mod N. However, the network has a large diameter of F
bN/2c (assuming bidirectional links). Thus, global communication performance
Indirect Networks
In indirect networks, each processing node is connected to a network of switches over one or
more (often bidirectional) links. Typically, this network consists of one or more stages of switch
boxes; a network stage is connected to its successor and predecessor stage via a set of
interconnection links.
Depending on the number of stages, the number of switch boxes per stage, and the interstage
interconnection topology, indirect networks provide exactly one path (single path networks) or
multiple paths (multipath networks) from each source to each destination.
Many different indirect network topologies have been proposed. This section is a brief
introduction to multistage cube and fat-tree networks. Further discussion of these and
other topologies can be found in Refs. 1417.
One important indirect single-path network topology is the generalized-cube network topology
(10), based on the cube interconnection function. A generalized-cube network that connects N
2n sources with N destinations consists of s logB N stages of B _ B switch boxes. The stages
are numbered from s _ 1 (stage next to the sources) to 0 (stage next to the destination).
Each stage consists of N/B switch boxes; two consecutive stages are connected via N
interconnection links. In Fig. 4(a), an 8 _ 8 generalized-cube network comprising 2 _ 2 switch
boxes is shown, while Fig. 4(b) depicts a 16 _ 16 generalized-cube network with 4 _ 4 switches.
Consider the link labeling depicted in Fig. 4(a). The labels at the input (and output) side of each
switch box differ in exactly one bit, which is bit k in stage k. Thus, if a message is routed straight
through a switch box, its link Figure 3.
Communication subsystems play a very significant role in the todays parallel computers. These
subsystems are used to interconnect the various processors, memories, disks and other
peripherals. The specific requirements of these communications subsystems depend on the
architecture of the parallel computer.
Multistage Interconnection Networks (MINs) are widely used in parallel multiprocessors systems
to connect processors to processors and/or to memory modules. Their popularity is due to the
high switching cost of crossbar networks. Various topologies of MINs have been proposed ad
studied in the last few decades. Most of these topologies are derived from the well know
undirected graph topologies including mesh, star, shuffle exchange, tree networks and cubeconnected networks, among various others.
In an unbuffered system, or in case of full buffer, conflicts cause only one message to pass and
other messages are rejected and can be retransmitted later. Three types of conflicts can occur in
parallel computers [22] : Network conflicts, bank busy conflicts, and simultaneous bank
conflicts. The last two can be grouped as to form memory conflicts.
The memory conflicts can be removed by a technique called data skewing [7] which causes data
arrangement in memory. When a memory conflict is unavoidable, consistency rules are used.
One rule is the EREW(Exclusive Read, Exclusive Write) where only one processor can execute
an R/W operation on the same memory bank at the same time. On the other hand, CRCW
(Concurrent Read, Concurrent Write) enables more than one processor to read/write data from/to
the same memory module at the same time. Conflicts on write requests can be solved by special
algorithms. A practical solution is the usage of CREW (Concurrent Read Exclusive Write)
mechanism.
Practical parallel systems use different techniques in order to avoid or resolve conflict issues.
Some practical examples are given below to give an idea about the differences present between
machines belonging to same family or having same architecture model. We focus on two
architecture families: SMP Machines and MPSoCs.
3.3 SMP
SMP (Symmetric Multiprocessors or Shared Memory processors according to some references)
architectures as well as their NUMA extensions are used to build nearly all parallel servers. They
have advantages of symmetry, unique address space and low communication latency.
SMP also do not suffer from the problems of Asymmetrical parallel systems where the
unavailability of the master processor may lead to a degradation of system performance or even
total system blockage. Communications in SMP are simple load/store operations.
Cache coherence is controlled, generally, by the hardware. For multicomputer systems,
communication tasks may be more difficult, as they have to take place between different
processors. A detailed example of an SMP architecture performance evaluation study can be
found in [26].
There are also cases of SMP machines, where the communication system is a simple or improved
bus. An example is of the Intel Standard High-Volume (SHV) Server. Figure.3 shows only the
communication system to connect the processors to the memory modules. The system supports
cache coherence.
It was the result of collaboration between Microsoft and Intel which led the latter to built
Windows NT SHV systems with more than 4 processors [27] . However due to scalability
problems with NT, Windows 2000 was selected as it had better processor and memory managing
capabilities. Yet due to traffic bottle neck on the bus, most of the systems supporting this
technology are limited to 4 or 8 processors.
In order to avoid the bottleneck caused by the use of bus, IBM proposed an architecture with
a bus for the snoopy and a switch (crossbar) used for the interconnections among the processors
as well as their communications with the memory [16]. This was a Crossbar-Bus Hybrid
structure. The switch allows multiple parallel communications which are faster than those that
can be routed on a bus. The use of a crossbar allows increasing of the memory bandwidth by
providing multiple buses.
However, this task is a complicated one, due to the complexity/performance tradeoff that must be
made. Use of bus architectures is not a practical solution, because bus is only a good choice
when the number of connected components is small. However, as the number of components in
SoC is increasing with time, it seems that a simple bus is no longer a preferable solution for SoC
interconnection requirements.
They are not scalable, testable and have lack of modularity, resulting in poor fault tolerance
performance of buses. On the other hand, a crossbar as shown in figure.4, which provides full
interconnection between all the nodes of a system is deemed very complex, expensive to design,
and hard to control. For this reason, Interconnection Networks (INs) [31] are considered a good
communication medium for parallel systems. They limit the paths between different
communicating nodes in order to minimize the switch complexity, while giving a certain level of
parallelism which is superior to that of a bus.
Functionally, the role of an IN in a parallel system is to transfer information between the source
nodes to the destination nodes. The following section lists the most important characteristics of
an IN from a high level architecture point of view. An architectural classification of INs is
proposed and then it is surveyed. After that, some networks of special interest for the
dissertation, are presented in detail.
Topology
The physical structure of an Interconnection network is defined by its topology. The topology of
an Interconnection network is defined mathematically by a graph G = (V,E), where V is a set of
nodes (processors, memory modules, computers and/or intermediate SEs) and E is a set of links.
It is evident that the routing algorithm, which defines the path of a message to be routed between
a source and a destination, depends largely on the network topology.
Switching Strategy
Basically, two switching strategies are used, circuit switching and packet switching. In the
former, the whole path between the source and the destination of a message has to be reserved
before the communication takes place and this reservation has to be valid until the message
reaches its destination.
In the latter, a message is divided into a number of information sequences, of the same or
different sizes called packets. These packets are routed individually to their destinations. The
transmission is established by steps. Only the path between intermediate nodes must be reserved
at each step of a communication.
While modern telephone switching systems use packet switching, circuit switching was largely
used for INs. Today, modern optical parallel and communication systems use circuit switching
because of technical difficulties imposed by packet switching in optical systems. Improved
communication strategies based on these basic strategies can be found in literature.
Synchronization
In a synchronized interconnection network, a central clock controls the operation of SEs and I/O
nodes. Handshaking strategies are needed in asynchronous systems.
Control Strategy
The control of a network can be centralized or distributed. In a centralized control strategy, a
central controller must have at each moment, all the information concerning the global state of
the system. It will generate and send control signals to different nodes of the network according
to its collected information. Obviously, the complexity of such a system increases rapidly with
the increase in the number of nodes and its breakdown causes the whole system to stop. In
contrast, routed messageson non centralized networks (also called self routing) contain necessary
routing information. This information is added to the message and will be read and used by the
SEs [35].
Routing Algorithm
The routing algorithm defines, depending on the source and destination of the message, the
interconnection links to be used while traversing through the network. Routing can be adaptive
or deterministic. Paths with deterministic routing mechanisms can not be changed according to
the existent traffic in the network.
Before describing the architecture of Interconnection networks, some classical definitions must
be mentioned. They are presented in the following section.
number of inputs and outputs of the network. An IN is characterized by its size and degree. By
size, we mean the number of inputs and outputs of an IN where as the degree of a IN is defined
as the size of SEs used to build it.
Node Degree: (the number of links connected to the node linking the node to its neighbors);
Diameter: (the maximum distance between two nodes in the network);
Regularity: (a network is regular when all its nodes have the same degree);
Symmetry: (a network is symmetric when it looks the same from each nodes perspective) and
Orthogonal property: (a network is orthogonal if its nodes and interconnecting links can be
arranged in n dimensions such that the link is placed in exactly one dimension). In a weakly
orthogonal topology, some nodes may not have any link in some dimensions.
In static networks, the paths for message transmission are selected by routing algorithms. The
switching mechanisms determine how inputs are connected to outputs in a node. All the
switching techniques can be used in direct networks.
The simplest static network is the bus. As described earlier, the use of a simple bus is not a
practical choice for parallel computers as only one message can be transferred at a time and
improved bus architectures such as hierarchical buses, cannot afford acceptable level of
parallelism.
Other static INs such as shown in fig.6 can contain among others, linear arrays, rings, meshes,
hypercube, trees, etc. In a linear array, each processor is connected to its two neighbors.
1. Blocking: A connection between free input/output pair is not always possible because of
conflicts with existing connections. Typically, there is a unique path between every input/output
pair, thus minimizing the number of switches and stages. A uni-path network is also called a
Banyan Network.
A Banyan network is defined as a class of multistage interconnection networks in which there
is one and only one path from any input node to any output node.
One of the most critical issues concerning an IN topology is the existence or absence of multiple
paths. By providing multiple paths in Blocking networks, conflicts can be reduced and fault
tolerance can be increased. These Blocking networks are also known as multipath networks.
2. Non Blocking: Any input can be connected to any free output port without affecting the
existing connections. They require extra stages and have multiple paths between every input and
output. A popular example of Non-blocking networks is a Clos network [9].
3. Rearrangable : Any input port can be connected to any free output. However the existing
connections may require rearrangement of paths. These networks also require multiple paths
between every input and output, but the number of paths and the cost is smaller than in the
case of Non blocking networks.
Depending on the kind of channels and switches, MINs can be either:
1. Unidirectional MINs. Channels and switches are unidirectional.
2. Bidirectional MINs. Channels and switches are bidirectional. This implies that information
can be transmitted simultaneously in opposite directions between neighboring switches.
Additionally, each channel can be either multiplexed or be replaced by two or more channels.
The latter case is referred to as a dilated MIN. Since we are concerned only with unidirectional
Delta Square Uniform Banyan networks which are a subset of Banyan networks, we only specify
the characteristics of unidirectional MINs now.
In the formal definition given by Patel [28, 29], Delta networks are built using an bn (where n
is the number of stages) digit controlled crossbars of which no input and output can be left
unconnected.
The total number of crossbars required to construct a Delta MIN is:
It should be noted that a N-node Delta Network (N = kn) contains n stages where each stage
contains N k switches. The delta or self routing property of Delta MINs allows automatic self
routing of messages from a source to a destination.
The self routing property of Delta networks as shown in figure.13 allows the routing decision to
be determined by the destination address, regardless of the source address. Self-routing is
performed by using routing tags. For a k k switch, there are k output ports. If the value of the
corresponding routing tag is i where 0 i k 1, the corresponding packet will be forwarded via
port i. For an n-stage MIN, the routing tag is T = tn1 . . . t1 t0, where ti controls the switch at
stage Ci. A mathematical generalization of Delta property is given in [1].
There may exist, large numbers of link patterns available for an bn delta network. It should be
noted that the probability of acceptance or blocking of messages is identical in all delta networks.
That means one type of Delta network can be replaced by another one.
As a result, each different setting of a b switch generates (b!)nbn1 distinct permutations. This
is a small fraction of possible permutations. For example, the probability that a random
permutation of 32 inputs can be generated by a 25 25 delta network is 4.6 1012 [28].
In order to simplify the construction of a Delta MIN as well as the design of a routing algorithm,
Patel proposed a regular link pattern which can be used between all stages and thus avoid the
difficult construction procedure for every different delta network.
Patel termed the regular link pattern : the q-shuffle. The q-shuffle of a group of qr elements is a
permutation of these elements defined by:
S qr(i) = (qi +
i
r
) mod qr; 0 i qr 1 (5)
Alternatively, the same function can be expressed as:
S qr(i) = qi mod (qr 1); 0 i < qr 1 (6)
= i i = qr 1 (7)
A q-shuffle of qr playing cards can be viewed as follows. Divide the deck of qr cards into q piles
of r cards each; top r cards in the first pile, next r cards in the second pile and so on. Now pick
the cards, one at a time, from the top of each file; the first card from the top of pile one, second
pile from the top of pile two, and so on in a circular fashion until all the cards are picked up. This
new order of cards represent a S qr permutation of the previous order. For determining the
values of q and r for an Delta MIN of size N M, we use the formula S abn1 , and a and b
corresponding to the inputs and outputs of the crossbar, and n corresponding to the number
of stages. The final values in place of a and bn1 are taken as values of q and r for the qshufe formula. Consider, a Delta MIN of size
16 9 as shown in the fig.14, i.e. a 42 32.
Putting the values in the formula, we obtain the values of 4 and 3 for q and r respectively. Thus
we obtain a S 43 function, figure.15 shows an example of 4-Shuffle of 12 indices, which
corresponds to the S 43 function. As it can be observed, the link pattern is the same in both
figure.14 and figure.15.
Furthermore, applying the q-shuffle function on a number represented in base q corresponds to
the application of a cyclic shift on said numbers. This leads to a construction of a class of MINs
called shuffle-exchange MINs [28], [37]. Omega networks [24] which were first defined by
Laurie, and one of the most popular types of Delta networks are usually described as shuffle
exchange MINs.
In fact all delta networks are shuffle-exchange MINS. An exchange function is defined by
changing the least significant digit of the output address [19].
because the last four types are mirror images of the first four types respectively, (i.e. Flip
network is a reverse image of Omega network and so on). In the report, we also explain the last
four types in the respective sections of the first four types.
We assume that these networks are built using k k switches, and that there are N = kn inputs
and outputs, however some of the permutations for the interconnection links are only defined for
the case where N is a power of 2. With N = kn ports,
Let X = xn1 xn2 . . . x0 be an arbitrary port number, 0 X N 1 where 0 xi k 1 and
0 i n 1.
C0, _k
0;Ci(1 i n),_k1 (11)
Fig.19 shows a Flip (8,2) network.
In a Baseline network [42], the ith kary baseline permutation _ i , for 0 i n1, is defined by
_k i (xn1 xn2 . . . xi+1 xi xi1 . . . x1 x0) = xn1 xn2 . . . xi+1 x0 xi xi1 . . . x1 (15)
The ith baseline permutation performs a cyclic shifting of the i+1 least significant digits in the
index to the right for one position. It should be observed that _k 0 also defines the identity
permutation I. The patterns for the baseline network can be summed up as
C0,_k;Ci(1 i n), _k ni
(16)
Thus the initial pattern from the sources to the first switching stage is an omega
permutation and
the rest are according to the baseline permutation. A Baseline network is also composed
recursively
like a butterfly network. Fig.24 shows a Baseline (8,2) network.
For a Reverse Baseline network, the reverse baseline permutation for 0 i n 1, is defined by
_k1 i (xn1 xn2.... xi+1 xi xi1.... x1 x0) = xn1 xn2.... xi+1 xi1.... x1 x0 xi
(17)
Thus the patterns for the reverse baseline network can be summed up as
Ci(0 i n 1), _k1
i ;Cn,_k1
(18)
Thus the final pattern from the last switching stage to the destinations is a flip permutation. The
Figure of a Reverse Baseline (8,2) network is shown in the fig.25.
(19)
The ith cube permutation complements the ith bit of the index. The permutation E0 is also called
exchange permutation.
For a cube MIN (or Multistage cube network [33]), connection pattern Ci is described by the n ith butterfly permutation _k ni for 1 i n . Connection pattern C0 is selected to be _k.
Therefore
the connection patterns can be summed up as
C0,_k;Ci(1in),_kni
(20)
The topological equivalence of these MINs can be viewed as follows: consider that each input
link to the first stage is numbered using a string on n digits sn1 sn2 . . . s1 s0, where 1 si k
1, for 0 i n 1. The least significant digit s0 gives the address of the input port at the
corresponding switch, and the address of the switch is given by sn1 sn2 . . . s1.
At each stage, a given switch is able to connect any input port with any output port. This can be
viewed as changing the value of the least significant digit of the address. For the connection to
work, it should be possible to change the values of all the digits. As each switch only changes the
value of the least significant digit of the address, connection patterns between stages are
specified so that the position of digits is permuted; and after n stages, all the digits have occupied
the least significant position.
Thus the difference of the above mention types of delta networks is the order in which the
digits occupy the least significant position.
structural diagrams are Object Diagram, Component Diagram, Class Diagram, Package Diagram,
Composite Structure Diagram, and Deployment Diagram etc.
2. Behavioral diagram: behavioral diagrams describe the interaction in the system. It represents
the interaction among the structural diagram. Behavioral diagram shows the dynamic nature of
the system. Some of behavioral diagrams are Activity Diagram, Use Case Diagram, and State
Machine Diagram etc.
3. Interaction diagrams : It highlights the of data and control among the things present in the
system being modeled. Some of interaction diagrams are Interaction Overview Diagram,
Sequence Diagram, Communication Diagram, Timing Diagram and etc.
and replication. Resources (e.g. processes and data) and the way they interact are already
described through application view.
Physical view provides for network infrastructure modeling. The site and physical view
correspond to application and network architecture respectively, thus they are interrelated. This
interrelation must be reflected to the corresponding UML diagram entities to ensure distributed
system performance. Both site and physical views are decomposed into hierarchical levels of
detail. At the lower level, network nodes are related to process/data replicas.
A UML profile is introduced to implement the distributed system model. This profile, called
Distributed System Modeling, is imported within Rational Rose platform ([17]), which acts as
the user interface for the system designer (figure 1). In order to model all aspects of distributed
system configuration process, different UML diagrams are integrated and properly extended.
The stereotype mechanism was efficient to create the distributed system meta-model. Physical
view refers to the aggregate network. Network is a composite entity, which is repeatedly refined
to represent network topology. Network nodes are either workstations allocated to users or
server stations, running server processes. Specifically, nodes consist of one processing, one
storage and one communication element. UML deployment diagrams are commonly used to
represent network architectures [6]. In the proposed model, physical view is represented as a
deployment diagram.
No additional stereotypes are needed to represent network architecture, thus physical view is not
further discussed. Instead, we focus on application architecture and functionality representation.
The corresponding model supported during configuration stages is presented in figure 2, as a
UML class diagram.
All classes of the model are related to stereotypes defined within different system UML views.
Stereotypes are illustrated by shaded boxes. The model classes retrieve data from the stereotypes,
excluding though the representation information. Based on this class diagram, distributed system
models, generated using Rational Rose, are exported and imported in XML format.
6.2. Application View
Application view comprises all the applications supported by the distributed system, as well as
the interactions among them. Applications are conceived as sets of interacting processes and data
repositories (i.e. files) accessed by them. A process, which can be either server or client, consists
of components, each representing the specific set of tasks (or operations) executed when the
process is activated in a certain way (based on its input parameters).
Thus, components stand for all alternative activation ways. Component implementation consists
of simple tasks occurring upon process activation, called operations. These are selected from a
predefined operation set, that is, the operation dictionary.
User behavior is also described in the application view, through user profiles activating clients.
Each profile includes user requests, which invoke specific components of client processes
operating on the users workstation.
6.3 Representation Model
Client and server processes are modeled as package stereotypes, depicted by rounded rectangles
respectively labeled. Process components are illustrated using a double-lined use case icon.
Arrows between use cases, denote the interaction among components and hence among
processes.
User profiles are illustrated using UML actor icon. Each use case conceals the internal actions
occurring when the process is activated through the respective component interface
Internal actions are illustrated by a UML activity diagram which appears, as shown in figure 3,
when selecting the corresponding name from a menu that opens up when right clicking on a
component use case.
Actions included in this activity diagram are selected from the operation dictionary through a
submenu (figure 4). Depending on the operation selected, a form appears containing the
parameters of the specific operation. Through this form, the system designer may specify a value
for every parameter.
In figure 4, the UML activity diagram for the Simple Search component of Web Client process is
depicted. The form_access (form_name, no_fields, avg_fsize, processing) operation concerns
accessing, activating and processing of a web form. For the operations that invoke other
components, the target process component is specified through the same form.
This information enables the automatic generation of arrows among components in the external
part of the application view when the activity diagram window is closed. Arrows are labeled
using the name and the id of the operation initiating process activation.
The stereotype Invokes concerns the relationship among components. If, for example, component
Simple Search invokes component Get Page (figure 3), it is entailed that Simple Search requires
Get Page in order to be accomplished. This implies a dependency relationship among operations,
as opposed to use cases in UML use case diagrams which may be connected to each other only
by Extend, Include and Generalization relationships.
Thus, we have defined Invokes relationship as a stereotype of UML Dependency and more
specifically of Usage. Usage is a kind of dependency in which one element requires another for
its full implementation. This is exactly the case with the relationship between components.
The stereotype Invokes includes two additional attributes, namely the operationId and the
operationName, i.e. the id and name of the internal action that initiates the invocation.
The stereotype UserProfileActor is a specialization of the Actor classifier of the UML metamodel with additional properties, as activationProbabilities. ApplicationView, formed of
ProcessPackages, UserProfileActors, ComponentUseCases and Invokes relationships among
them, constitutes a stereotype of Model.
Component implementation is represented through an activity graph, hence the relation between
ActivityNode and ComponentUseCase in figure 5.
Each component implementation maps to a UML activity with the differentiation that it is not
composed of activities in general, but specifically of operations that have been defined in the
Operation Dictionary (figure 6). ComponentImplementation is formed of OperationActivities.
The stereotype OperationActivity extends the semantics of ActivityNode with the additional
properties valueList and targetProcessComponent. These properties have been described in the
previous section (see 3.1.1).
As indicated in figure 7, sites are modeled using UML packages. At the lowest level, server and
client processes are illustrated as UML components, the shaded ones standing for client
processes, while UML actor icon is used to represent user profiles.
These stereotypes extend the semantics of Component by including the additional attribute
numberOfInstances. User profile has been defined as a stereotype of Actor, named
UserProfileActor, including the same attribute.
7. PROCESS
The concept of a process originates from the field of operating systems where it is
generally defined as a program in execution, that is, a program that is currently being
executed on one of the operating system's virtual processors. A process is the basic entity
of execution in any distributed computing environment.
It is a macro, subprogram, subroutine or block of code, consists of an identification
number called a process_id.Specialized model elements which are based on a core UML
model element are defined by stereotypes. A stereotype is a base class is the UML meta
model, as shown in Figure, which indicates the element to be stereotyped.
Additional values, additional constraints and a new graphical representation may also
introduced by stereotypes. They are notated by the stereotype name enclosed in guillemets
<<....>> or by a graphic ion.Figure 2.a defines the modeling element action+ by
stereotyping the base class ActionState, a class ActionState is used to model a step in
the execution of an algorithm. A stereotype parallel region UML class diagram is made
and associated activities representation is also given. For defining specialized model
elements based on a core UML model element, we are using stereotypes.
p1
p4
p2
p5
p3
p6
M2
P1
P2
P3
M3
In this, different types of topologies are used for setting the labs for distributed
computations. A process execution time can be saved by using these topologies since they
are executed in concurrent fashion
The topological arrangement of a network may be physical or logical. In physical
topology, various components of a network are placed, it also includes device location
and cable installation, while logical topology explain the flow of data in a network,
regardless of its physical design.
A process topology is a
group of processes that have a predefined regular
interconnection topology such as a farm, ring, 2D mesh or tree. The process topology is
machine-independent and depends on the application. The process can access the code
region as per the availability of the resources, for faster execution by using the topology.
Bus-based networks are one of the simplest and efficient solution when the cost and a
moderate number of processors is involved.
Crossbar networks are those in which all the processors have dedicated buses directly
connected to all memory blocks. They are non-blocking network , as a connection of a
processor to a memory does not block the connection of any other processor to any
other memory block.
Multi-stage Interconnection Network connects a number of processors to a number of
memory banks by using a number of switches organized in layer.
P000
S2
S1
S0
P001
M000
M001
P010
M010
S2
S1
S0
M110
P011
P100
P101
M100
S2
S1
S0
M101
M110
P110
S2
S1
S0
M111
P111
I_Cache
D_Cache
PROCESS
Process_Execution_Contr
oller
Processor
COMMUNICATIONLINE
Memory
SIGNAL
NETWORK TOPOLOGY
Bus
CrossBar
MultiStage
Therefore, an object diagram, expresses the static part of an interaction, consisting of the
objects that collaborate but without any of the messages passed among them. Graphically,
an object diagram is a collection of vertices and arcs. It is a special kind of diagram
and shares the same common properties like a name and graphical contents that are a
projection into a model. The messages in the distributed computing environment, get
communicated to and from the nodes in the form of signals for the process
synchronization.
In the above figure, one can see that the object Process_Execution_Controller (PEC) is
directly linked with the object Process, Communication_Line, Processor, Memory and
D_Cache (Data Cache) , I_Cache (Instruction_Cache). Here, object I_Cache is responsible
for caching the instructions whereas D_Cache is responsible for caching the data.
Here, PEC is responsible for any process like storing and searching the needed
instruction or data during the process execution with the help of Processor and Memory.
The object Communication_Lines is directly linked with the object Network_Topology
because for sending a message for communicating with the other object in the distributed
environment, it needs a topology. So, adopting the network topology for the
communication is one of a key point for measuring the performance of any distributed
computer system.
Here in the figure, one can also see that the object Process is directly communicating or
linked with the object Communication_Line for sending and receiving messages to or
from other processes running concurrently in the distributed environment. Also the object
Communication_Line is directly linked with the object Signal and Network_Topology, for
getting the signal and topological specification of communication network.
The object Processor is directly linked with the object Memory, through which it can
take space whenever needed for executing the instructions, which is further linked with
the object Processor_Execution_Controller
Communication_Line
I_Cache
get message
send message
1.3: loading instructions
loading complete
send instructions
Process
process retrieval
loading complete
send data
1.4: start decoding of instructions
Processor
Figure : Interaction Diagram For Process Execution under distributed computer environment
The interaction diagrams are used for modeling the flow of control by time sequence,
for modeling the flow of control by structural organization and for forward and reverse
engineering.
The messages are carrying through the communication channels in the form of signals
among the processes in order to execute concurrently in the distributed computing
environment. In Figure, it is shown how the messages are passing among various classes
Use-case diagrams are considered for high level requirement analysis of a system. So, we
can say that the use cases are the system functionalities written in an organized manner.
Now, the other thing which is relevant to the use cases is the actor. Actors can be
defined as something that interacts with the system. The actors can be human user, some
internal or external applications.
Use-case diagrams specifies the events of a system and their flows. They never describes
hoe they are implemented. It can be imagined as a black box where only the input,
output and the function of the black box is known.
WIRE COST
SWITCH COST
BUS
CROSSBAR
N^2
MULTISTAGE
N Log N
N Log N
No. Of Nodes
Wire Cost
Switch Cost
2*2
2*3
2*4
2*5
10
2*6
12
2*7
14
2*8
16
No. Of Nodes
Wire Cost
Switch Cost
2*2
2*3
2*4
16
2*5
10
25
2*6
12
36
2*7
14
49
2*8
16
64
No.
Nodes
Of
Wire Cost
Switch Cost
2*2
2*3
2*4
2*5
10
2*6
12
2*7
14
2*8
16
On the basis of Table 1, Table 2, 3 and 4 are designed, which shows the comparison of
cost performance as the number of nodes in the network system under distributed
environment is increasing. As nodes are increasing, the performance of Bus topology
comes best over the Cross-bar and Multistage since the cost is low in case of Bus
topology for wires as well as for switches.
In case of wire cost , the behavior of Cross-bar is better than that of Multistage network
topologies whereas, in case of Switch cost Multistage topologies perform well than those
of Cross-bar network topologies.
10. Conclusion
From the above work, it is concluded that UML is one of the important modeling languages
used for the visual representation of research problem/software design. In this paper,
performance of three kinds of topologies i.e. Bus, Crossbar, Multistage is considered under
the distributed environment and it is concluded that the Bus topology is the best kind
of arrangement of computer system under distributed environment since the space complexity is
less as the nodes are increasing in comparison with other topologies. Since the present work
is only confined to the dynamic interconnection of the network topologies, this research work
can also be extended further, by considering the Combination of both static and dynamic of
interconnection of computer network.
REFERENCES
[1] BOOCH, G., RUMBAUGH, J., JACOBSON, I., The Unified Modeling Language User
Guide, Addison Wesley, Reading, MA, 1999.
[2]
CONALLEN, J., Modeling Web Application
Communications of the ACM 42(10), (1999), pp. 63-70.
Architectures
with
UML.
[3] COULOURIS, G., DOLLIMORE, J., KINDBERG, T., Distributed Systems, Concepts
and Design, Third Edition, Addison Wesley, 2000.
[4] HUANG, M., BODE, B., A Performance Comparison of Tree and Ring Topologies
in Distributed System.
[5]
OMG, Unified Modeling
http://www.omg.org(2001).
Language
Specification.
Available
online
via
[6] PLLANA, S., FAHRINGER T., On Customizing the UML for Modeling Performanceoriented Applications. Proceedings of the <<UML>>2002. " Model Engineering Concepts
and Tools", Springer-Verlag, (2002), Dresden, Germany.
[7] L.N. Bhuyan, R.R. Iyer, T. Askar, A.K. Nanda, and M. Kumar. Performance of Multistage
BusNetwork for a Distributed Shared Memory Multiprocessor. IEEE Transactions on Parallel
and Distributed Systems, 8(1):8295, Jan. 1997.
[8] OMG Architecture Board. Model Driven Architecture (MDA). Technical Report ormsc/200107-01, OMG, 2001.
[9] A. Borodin and J.E. Hopcroft. Routing, merging, and sorting on parallel models of
computation. In 14th Annual ACM Symp. on Theory of Computing, pages 338344, 1982.
[10] P. Boulet, C. Dumoulin, and A. Honore. From MDD concepts to experiments and
illustrations,chapter Model Driven Engineering for System-on-Chip Design. pub-iste, sept 2006.
[11] P. Budnick and D.J. Kuck. The organization and use of parallel memories. IEEE Trans.
Comput.,C-20:15661569, Dec. 1971.
[12] J.R. Burke. Performance analysis of single stage interconnection networks. IEEE Trans. on
Comp., 40(3):357365, Mar. 1991.
[13] C. Clos. A study of non-blocking switching networks. Bell system tech. journal, 32(2):406
424, Mar. 1953.
[14] M. Collier. A systematic analysis of equivalence in Multistage Networks. Lightwave
Technology,20(9), sep 2002.