Out line • Overview CS4513 • Goals • Sof t war e Dist ribut ed Comput er • Client Server Syst ems I nt roduct ion (Ch 1: 1.1-1.2, 1.4-1.5) Def init ion of a Dist ribut ed Syst em The Rise of Dist r ibut ed Syst ems • Comput er har dwar e pr ices f alling, power incr easing Examples: – I f cars t he same, Rolls Royce would cost 1 dollar and -The Web get 1 billion miles per gallon (wit h 200 page manual t o -Pr ocessor Pool open t he door) -Air line Reservat ion • Net wor k connect ivit y incr easing – Everyone is connect ed wit h f at pipes • I t is easy t o connect har dwar e t oget her • Def init ion: a dist r ibut ed syst em is A dist ribut ed syst em organized as middleware. – A collect ion of independent comput ers t hat appears Not e t hat t he middleware layer ext ends over mult iple machines. t o it s users as a single coherent syst em. Users can int eract wit h t he syst em in a consist ent way, regardless of where t he int eract ion t akes place Transparency in a Dist ribut ed Syst em Scalabilit y Problems • As dist r ibut ed syst ems gr ow, cent r alized solut ions Transparency Description are limit ed Hide differences in data representation and how a resource is Access accessed – Consider LAN name resolut ion vs. WAN Location Hide where a resource is located Concept Example Migration Hide that a resource may move to another location Cent r alized ser vices A single server f or all users Hide that a resource may be moved to another location while Relocation in use Cent ralized dat a A single on-line t elephone book Hide that a resource may be shared by several competitive Replication users Doing r out ing based on complet e Cent ralized algorit hms inf or mat ion Hide that a resource may be shared by several competitive Concurrency users • Somet imes, har d t o avoid (consider a bank) Failure Hide the failure and recovery of a resource • Need t o collect inf or mat ion in dist r ibut ed f ashion Persistence Hide whether a (software) resource is in memory or on disk and dist r ibut ed in a dist r ibut ed f ashion • Challenges: Dif f erent f orms of t ransparency in a dist ribut ed syst em. – geography, ownership domains, t ime synchronizat ion 1
Scaling Techniques: Hiding Scaling Techniques: Dist ribut ion Communicat ion Lat ency • Especially import ant f or int eract ive applicat ions • I f possible, do asynchronous communicat ion - Not always possible when client has not hing t o do 1.5 Example: DNS name space int o zones ( nl.vu.cs.fluit – z1 gives addr ess of vu gives addr ess of cs) • Instead, can hide latencies Example: The Web Scaling Techniques: Replicat ion Out line • Copy of inf ormat ion t o increase availabilit y • Overview (done) and decrease cent ralized load • Goals – Example: P2P net wor ks (Gnut ella +) (done) dist ribut e copies unif ormly or in proport ion ← ← • Sof t war e t o use • Client Server – Example: akamai – Example: Caching is a replicat ion decision made by client • I ssue: Consist ency of replicat ed inf or mat ion – Example: Web Br owser cache Uniprocessor Operat ing Syst ems Sof t ware Concept s System Description Main Goal Tightly-coupled operating system for multi - Hide and manage DOS processors and homogeneous multicomputers hardware resources Loosely -coupled operating system for Offer local services NOS heterogeneous multicomputers (LAN and to remote clients WAN) Additional layer atop of NOS implementing Provide distribution Middleware general -purpose services transparency • DOS (Dist ribut ed Operat ing Syst ems) • NOS (Net wor k Oper at ing Syst ems) • Separ at ing applicat ions f r om oper at ing • Middleware syst em code t hr ough a micr oker nel – Can ext end t o mult iple comput ers 2
Mult icomput er Operat ing Syst ems Mult icomput er Operat ing Syst ems (optional) (optional) • But no longer have shared memory • Message passing primit ives vary widely bet ween syst ems – Can t ry t o provide dist ribut ed shared memory • Tough, coming up – Example: consider buf f ering and synchronizat ion – Can provide message passing Dist ribut ed Shared Memory Syst ems Mult icomput er Operat ing Syst ems a) Pages of addr ess space dist r ibut ed Reliable comm. Synchronization point Send buffer among f our guaranteed? machines Block sender until buffer not full Yes Not necessary Block sender until message sent No Not necessary b) Sit uat ion af t er Block sender until message received No Necessary CPU 1 r ef er ences Block sender until message delivered No Necessary page 10 • Relat ion bet ween blocking , buf f ering , and reliable communicat ions . c) Sit uat ion if page • These issues make synchronizat ion harder. I t was easier when 10 is r ead only we had shared memory. and r eplicat ion is – So … dist ribut ed shared memory used Dist ribut ed Shared Memory Syst ems Net wor k Oper at ing Syst em • I ssue: how large should page sizes be? What are t he t radeof f s? • OSes can be dif f er ent (Windows or Linux) • Over all, DSM syst ems have st r uggled t o pr ovide ef f iciency and • Typical ser vices: r login, r cp convenience (and been ar ound 15 year s) – For higher-per f or mance, t ypically st ill do message passing – Fairly primit ive way t o share f iles – Likely will remain t hat way 3
Net wor k Oper at ing Syst em Net wor k Oper at ing Syst em • Can have one comput er pr ovide f iles t r anspar ent ly • f or ot her s (NFS) Dif f erent client s may mount t he servers in dif f erent places • – (t ry a “ df” on t he WP I host s t o see. Similar t o a “mount I nconsist encies in view make NOSes harder, in general f or net work drive” in Windows) users t han DOSes. – But easier t o scale by adding comput ers Posit ioning Middleware Middleware and Openness • Net wor k OS not t r anspar ent . Dist r ibut ed OS not independent comput er s. – Middleware can help 1.23 • I n an open middleware-based dist ribut ed syst em, t he prot ocols used by each middleware layer should be t he same, as well as t he int erf aces t hey of f er t o applicat ions. – I f dif f erent , compat ibilit y issues • Much middleware built in-house to help use networked – I f incomplet e, t hen users build t heir own or use lower - layer operating systems(distributed transactions, better comm, RPC) services (f rowned upon) • Unfortunately, many different standards Compar ison bet ween Syst ems Out line Distributed OS Netw ork Middleware- I tem • Overview OS based OS Multiproc. Multicomp. (done) Degree of transparency Very High High Low High • Goals (done) Same OS on all nodes Yes Yes No No • Sof t war e Number of copies of OS 1 N N N (done) Basis for communication Shared memory Messages Files Model specific ← ← • Client Server Resource management Global, central Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open • DOS most t ransparent , but closed and only moderat ely scalable • NOS not so t ransparent , but open and scalable • Middleware provides a bit more t ransparency t han NOS 4
Example Client and Ser ver : Header Client s and Ser ver s • Thus f ar , have not t alked about or ganizat ion of pr ocesses – Again, many choices but most agree upon client -server • I f can do so wit hout connect ion, quit e simple • I f underlying connect ion is unreliable, not t rivial • Resend? What if receive t wice • Use TCP f or r eliable connect ion (apps on I nt er net ) • Used by bot h t he client and ser ver . • Not always appropriat e f or high-speed LAN connect ion (4513) Example Client and Server: Client Example Client and Ser ver : Ser ver • One issue, is how t o clearly dif f erent iat e Client -Server I mplement at ion Levels Mult it ier ed Ar chit ect ur es • Example of an I nt ernet search engine – UI on client • Thin client (a) t o Fat client (e) – P rocessing can be on client or server – Dat a level is server, keeps consist ency – (d) and (e) popular f or NOS environment s 5
Mult it ier ed Ar chit ect ur es: 3 t ier s Modern Archit ect ures: Horizont al • Rat her t han ver t ical, dist r ibut e ser ver s acr oss • Ser ver may act as a client nodes – Example would be t ransact ion monit or across – Example of Web server “f arm” f or load balancing mult iple dat abases – Client s, t oo (peer-to-peer syst ems) 6
Recommend
More recommend