Distributed Computing Lecture 4: Distributed Systems Taxonomy Distributed Computing Taxonomy • There are different ways in which we can connect CPUs together.
• According to instruction and data stream,
the most widely used classification Taxonomy - scheme (taxonomy) is that created by DC Flynn in 1972.
MI MD
2 Distributed Computing Taxonomy, contd. • It classifies machines by the number of instruction streams and the number of
data streams.
Taxonomy • Multiple instruction streams means that - different instructions can be executed DC concurrently.
3 • • Flynn’s following Computer system means to
( 1966 classify four )
taxonomy forms
parallel can be fit into one of the :
was developed as a
Flynn’s taxonomy computer architectures Instruction Single
Multiple Single Data Data
Instruction Multiple
4 DC-Taxonomy
• • • • Single data Single instruction Computer: This is (obviously) classic the Deterministic • • • one Only the One Old style
CPU
clock clock cycle instruction instruction stream one
during during any
single input input serial Single Instruction Single
execution
datastream core
(not one
PC
parallel
acted on by CPUs clock clock cycle
for any , e.g. i e.g. , von Neumann ) computer, e.g.: Data (SISD) 486
5 DC-Taxonomy
• • • Single instruction A form of Multiple Multiple data • • • • element operate on a Each clock cycle All modern computers on Nowadays it becomehas common Early the the
processing same
processing unit supercomputers
parallel
instruction Single Instruction Multiple
different
units units
computer execute (PU)can
for anygiven
used this used model this first data GPUs
–
Data (SIMD) e.g., used in in used e.g.,
6 DC-Taxonomy
• • • • Two main e.g. Works Runs more operation Still highly processing. • • Vector pipelines Processor arrays graphics
in in data
well lockstep
types is applied to to keep track of per deterministic
Single Instruction Multiple for
(i.e., all (i.e.,elements all specific
Data (SIMD) (know the
with a with lot of instruction set of synchronized same data regularity
) – , contd.
but but )
;
7 DC-Taxonomy
• • • Processor Vector pipelines Graphics • • ILLIAC IV MasPar Thinking Machine CM NEC SX Fujitsu vector IBM Single Instruction Multiple Data 9000 -
2 MP processor , Hitachi , Hitachi S
, Cray, X arrays - 1 &MP processor
- MP, 820
- units usually use usuallyunits 2
, 2
, ETA, ,
, (SIMD) Examples
10
SIMD MasPar MP Cray X -
MP - 1
8 DC-Taxonomy
•
class Few actual examples thisof have ever • • streams independently Each processing Single
of processing parallel
data stream
existed Multiple Instruction Single
units
computer
via via
unit independent fed works
into
multiple on on Data (MISD) data
instruction
9 DC-Taxonomy
Simultaneously • • Possible Possible • • workingthe Different Mayberedundant … = A x then If A example uses setof Multiple Instruction Single the the same CPU min ? Somewhat ? signal 1 and and ! Data (MISD) Example signal … = A x then If A>x x = application max - Ainput = processing MAXINT input, and do and a input, stream CPU intellectual 2 operations : … x +A = x = sum 0 of inputs ? CPU . 3 10 DC-Taxonomy • • • Multiple Multiple category) late model computers, Intel e.g. Core Duo, in this The most • • working Every Each a different processor processor Data Instruction with with a common Multiple Instruction Multiple instruction instruction stream different canbe maybe type executing datastream of parallel Data (MIMD) computer (most 11 DC-Taxonomy • deterministic synchronous Execution Multiple Instruction Multiple can be ; non asynchronous - deterministic Data (MIMD) or or or , contd . 12 DC-Taxonomy • • all all the models. other e.g., MIMD Examples • • • • • • • Multiple Instruction Multiple Data but but to it same apply the MISD apply to different data SIMD SISD multi SMP Networked Many of current the – – – computers - just one just one architectures architectures could include core all all CPUs CPUs PCs parallel CPU load different load same the load active, others running NOP running others active, computer computer data supercomputers instruction instructions clusters (MIMD) but AMD AMD Opteron , contd. IBM IBM BlueGene 13 DC-Taxonomy Distributed Computing Taxonomy, Contd. • Computers can perform various functions and each unit in a distributed system may be responsible for only a set number of Taxonomy functions in an organization. - DC We consider the concept of service models as a taxonomy of system configurations. 14 Distributed System Models • Distributed programming falls into one of several basic models: • Client-Server • Peer-to-Peer Taxonomy - • Services provided by multiple servers DC • Proxy servers and caches • Mobile code and mobile agents • Thin clients and mobile devices 15 Client-server model •Clients Invoke Individual Servers Taxonomy - DC • The easiest form of distributed systems • Resources are centralized on servers • Large number of clients access them through 16 request-reply interactions Peer-to-peer Systems • A peer-to-peer system is a collection of peer nodes . • Each peer is both a server and a client (“servant”). • Provides resources to other peers • Consumes resources from other peers. • Characteristics: Taxonomy • Put together resources at the - edge of the Internet DC • Share resources by direct exchange between nodes. • Perform critical functions in a decentralized manner. 17 Client-Server vs. Peer-to-Peer Computing Taxonomy - DC 18 A Service by Multiple Servers • Partition the set of objects and distribute them between themselves Taxonomy - • maintain DC replicated copies • Web -SUN Network Information 19 Service Web Proxy Server •A cache is a storage facility of recently used data objects that is closer to the objects themselves. •Web proxy servers provide a shared cache of web resources for the client machines at a site or across Taxonomy - several sites. DC • Increase availability • Increase performance • Reduce the load on the WAN and web server 20 Mobile Code - Web Applets • The service is provided using a procedure. • executed by a process in the server node. Taxonomy a) Client request results in the - • downloaded to the client and downloading of applet code DC executed locally • push service: the initiator is the server 21 b) Client interacts with the applet Thin Clients and Compute Servers Compute server Network computer or PC Thin network Application Client Process Taxonomy - DC • A thin client is a lightweight computer that is purpose-built for remoting into a server (typically cloud or desktop virtualization environments). • It depends heavily on another computer (its 22 server) to fulfill its computational roles. Mobile Agents • A mobile agent is a running program that travels from one computer to another in a network carrying out a task on someone’s behalf. Taxonomy - • It has the following features: DC • Autonomy • Cooperativeness • Mobility • Agents can continue to process tasks by migration with their 23 state. Mobile Agents, contd. • A mobile agent may make many invocations to local resources at each site it visits (e.g., access to individual database entries). • Might be used to: • Taxonomy install software on the computers of an organization - • compare the prices of products of vendors DC • Negative aspects • They are a potential security threat to the resources • they can be themselves vulnerable (they may not be able to complete their tasks if they are refused 24 access to the information needed) Client-Server System vs. Mobile Agent System Taxonomy - DC 25