550 likes | 564 Views
Explore the need for high-performance computing in modern applications such as weather prediction, aerodynamics, and artificial intelligence. Discover the advancements in technology that have led to faster processors and high-speed computer networks. Learn about the benefits and challenges of distributed systems.
E N D
The Tim Allen View of Computing • Faster!!! • Bigger Problems • I want 7 days of weather not 2 • I want 1024x1024x16-bit color • … • Most modern applications such as weather prediction, aerodynamics and artificial intelligence are very computationally intensive DOS 1 - Introduction
Why High Performance? • To calculate a 24 hour forecast for the UK requires about 1012 operations to be performed • Takes about 2.7 hours on a machine capable of 108 operations per second • What about a 7 day forecast? • Okay so buy a faster computer … • The speed of light is 3x108m/s. Consider two electronic devices (each capable of performing 1012 operations/second) 0.5mm apart. It takes longer for the signal to travel between them than it takes for either of them to process it. DOS 1 - Introduction
Why Are Things Getting Better? • Two advances in technology are primarily responsible for the current state of computing • Development of powerful microprocessors • “From a machine that cost 10 million dollars and executed 1 instruction per second, we have come to machines that cost $1000 and execute 10 million instructions per second. If cars had improved at this rate in the same time period, a Rolls Royce would now cost $10 and get a billion miles per gallon.” • The invention of high-speed computer networks, LANs, that allow dozens or even hundreds of machines to exchange information at high (10mbps/100mpbs) rates. DOS 1 - Introduction
The Bottom Line • It is getting harder to extract the performance modern applications require out of a single processor machine • Given practical constraints, such as the speed of light, or latency issues, machines with multiple processing elements seem to be the only way to go DOS 1 - Introduction
Resource Sharing • Sharing resources was an important use of early LAN Technology • File servers • Printers • FAX Machines/Modems • Commonplace on most modern systems • Password files • Authentication DOS 1 - Introduction
GSM • Groupe Speciale Mobile/Global System for Mobile Communications. • Forms the basis for what is called digital cellular system 1800 (DCS1800). • GDM/DCS is designed to include a wide variety of services including: • speech • fax • emergency call DOS 1 - Introduction
DCS1800/GSM900 VLR BCS MSC HLR BCS AC BCS EIR DOS 1 - Introduction
DCS1800/GSM900 • The MSC is the heart of GSM • sets up, manages, and clear connections • routes calls to the proper cells • interfaces to the telephone system • Databases • Home Location Register (subscriber information) • Visitor Location Register (users in a particular area) • Authentication Center • Equipment Identity Register DOS 1 - Introduction
Call Routing 2 6 9 Telephone Network Gateway MSC Terminating MSC BSC 9 10 10 10 10 3 5 7 8 1 10 5 HLR VLR 4 1 = Call made to mobile unit 2 = Telephone network recognizes number and gives to gateway MSC 3 = MSC can’t route further, interrogates user’s HLR 4 = HLR interrogates VLR currently serving user 5 = Routing number returned to HLR and then gateway MSC 6 = Call routed to terminating MSC 7 = MSC asks VLR to correlate call to the subscriber 8 = VLR complies 9 = Mobile unit is pages 10 = Mobile unit responds; information conveyed back to telephone DOS 1 - Introduction
Location Updating 4 Previous MSC New MSC BSC 4 1 4 1 1 2 New VLR HLR New VLR 5 3 1 = Location update request 2 = Location update message 3 = Subscription data return 4 = Location update acknowledgement 5 = Location cancellation message DOS 1 - Introduction
Distributed systems • Definitions • A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility • A distributed system is a collection of independent computers that appear to users as a single computer • A system in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages DOS 1 - Introduction
Working Definition • A distributed system is several computers doing something together • Three primary features of a distributed system • Multiple computers • Communications • “Virtual” Computer DOS 1 - Introduction
Distributed systems • A well designed distributed system should be perceived as a single, integrated computing facility • World Wide Web • Automatic Teller Machines • Cell Phones DOS 1 - Introduction
Advantages DOS 1 - Introduction
Disadvantages DOS 1 - Introduction
Consequences • Concurrency • Concurrency is the norm instead of the exception • Synchronization is critical • No Global Clock • There is a limit as to how accurate a global clock can be • Independent Failures • The more stuff you add the more likely something will break • Single system view says independent failures should not affect users DOS 1 - Introduction
Communication Issues • Building a system out of interconnected computers requires that some major issues be addressed • Independent failure • Unreliable communication • Insecure Communication • Costly Communication DOS 1 - Introduction
Distributed Operating Systems • A distributed operating system supports the encapsulation and protection of resources inside servers; and it supports mechanisms required to access these resources, including naming, communication and scheduling • The software for multiple CPU systems can be divided into three rough classes • Network operating systems (file servers) • Distributed Operating Systems • Shared Memory Multiprocessors DOS 1 - Introduction
Parallel Computing • A large collection of processing elements that can communicate and cooperate to solve large problems quickly • A form of information processing which uses concurrent events during execution • In other words both the language and the hardware support concurrency DOS 1 - Introduction
Parallelism • If several operations can be performed simultaneously, the total computation time is reduced • Here the parallel version has the potential of being 3 times faster DOS 1 - Introduction
Parallel Architectures • Unlike traditional von Neumann machines, there is no single standard architecture used on parallel machines • In fact dozens of different parallel architectures have been built and are being used • Several people have tried to classify the different types of parallel machines • The taxonomy proposed by Flynn is the most commonly used DOS 1 - Introduction
Flynn’s Model of Computation • Any computer, whether sequential or parallel, operates by executing instructions on data. • a stream of instructions (the algorithm) tells the computer what to do. • a stream of data (the input) is affected by these instructions. • Depending on whether there is one or several of these streams, Flynn’s taxonomy defines four classes of computers DOS 1 - Introduction
Flynn’s Taxonomy Data Streams Instruction Streams DOS 1 - Introduction
The 4 Classes DOS 1 - Introduction
Challenges • There are a number of challenges found in building distributed systems • Heterogeneity • Openness • Security • Scalability • Failure Handling • Concurrency • Transparency DOS 1 - Introduction
Heterogeneity • Applies to • Networks • Computer Hardware • Operating Systems • Programming Languages • Implementations • Middleware applies to a software layer that helps to handle heterogeneity DOS 1 - Introduction
Openness • The characteristic that a system can be extended in various ways • Hardware extensions • Software extensions • Historically, computer systems were largely closed • UNIX broke the mold for OS • IBM PC broke the mold for hardware DOS 1 - Introduction
Security • Security is a huge issue in computing in general, but even more so in distributed computing • Communication • Distributed Resources • Infrastructure Attacks DOS 1 - Introduction
Scalability • Distributed systems operate at many different scales • Two workstations and a file server • The CS computers… • Often the more important question is not can you scale, but can you scale well • Consider the Internet DOS 1 - Introduction
Failure Handling • What happens when a fault occurs? • Detect • Mask • Tolerate • Fault tolerant design is based on two approaches • Hardware redundancy • Software recovery DOS 1 - Introduction
Hardware Redundancy • Two computers are employed for a single application, one acting as a standby • Very costly, but often very effective, solution • Redundancy can be planned at a finer grain • Individual servers can be replicated • Redundant hardware can be used for non-critical activities when no faults are present DOS 1 - Introduction
Software Redundancy • Software must be designed so that the state of permanent data can be recovered or “rolled back” when a fault is detected • Transaction processing DOS 1 - Introduction
Concurrency • Concurrency in a distributed system does not necessarily mean concurrency within a single program • Many users invoke similar commands • Many different server processes may be running • Synchronization, of course, is a problem DOS 1 - Introduction
Transparency DOS 1 - Introduction
Transparency • The two most important forms of transparency are • Access • Location • They are sometimes referred to as network transparency • rlogin command • ptt@cs.rit.edu DOS 1 - Introduction
Architectural Models • Concerned with • The placement of the components across a network of computers • The interrelationships between the components • Common abstractions • Server processes • Client processes • Peer processes DOS 1 - Introduction
Software Layers DOS 1 - Introduction
Middleware • What does it do? • Provides an API for the application • Hides the underlying heterogeneity • Examples • Sun RPC, ISIS • CORBA • RMI • DCOM DOS 1 - Introduction
Client-Server DOS 1 - Introduction
Multiple Servers DOS 1 - Introduction
Proxy Server DOS 1 - Introduction
Peer Processes DOS 1 - Introduction
Thin Clients • According to the book • A software layer that supports a window based interface on a computer that is local to the user while executing application programs on a remote computer • In reality • Palm Pilots • Cell Phones • … DOS 1 - Introduction
Bellsouth Wireless Network Bellsouth Wireless Network Internet 3com Proxy Servers http DOS 1 - Introduction
Limitations • Currently libraries exist only for wireless transfer via http • Sockets are possible when using the cradle • Palm based network applications must pull data, data cannot be pushed to the palm • PQAs are the primary means of web access • No debugging support for Java on the Palm DOS 1 - Introduction
Headline News Application 3com Proxy Servers Bellsouth Wireless Network Internet News Source http://dailynews.yahoo.com/tx/ts/summary.html Internet JRMS Multicast Group NewsCollector NewsReceiver WKSReceiver News Archive DOS 1 - Introduction
Music service Alarm gateway service Internet Hotel wireless network Discovery service Camera TV/PC Guests Laptop PDA devices Spontaneous Networking DOS 1 - Introduction
Client-Server Application Client Logic Proxy Server Client DOS 1 - Introduction
Adding an Interface Client Logic Interface Proxy Server DOS 1 - Introduction