Bakken Dissertation Introduction Outline DEFINE ALL TERMS!!! 1. Introduction [ defines parallel computer, distributed computer, concurrent programming?] [ needs to tell focus is ftol distributed computing ] Maybe some paragraphs as in Bal dissertation, outlining scope of problem. 1.1 Parallel and Distributed Computing [WARNING: the title: ``Supporting Ftol Parallel Programming ...'' ^^^^^^^^ yet we define parallel as physically shared memory but FT-Linda must be built on a distributed computer!!!!] - In last decade, CP has evolved from lab curiosity to mainstream * began mainly with OSs on a uniprocessor [see CP book] * unfortunately, speed of light a limitation... * wide spectrum... * one end: as HW evolved, shmem MPPS became economical * other end: cheap workstations could be coupled together ... * in between: multicomputers like hypercube ... * now CP common in areas such as scientific computing, financial systems, etc. - With parallel and distributed computers you get different tradeoffs * parallel supports smaller granularity and ~0 latency * distributed allows for handling partial failures and doesn't have shared bus limitations * add more .... - Distributed Computing (DC) mainstream in its own right * Some applications are inherently distributed - file servers - email - many airline reservation systems * DC a good way to utilize largely-idle workstations * DC also necessary to utilize resources across a campus or an internet - DC requires handling partial failures * blah blah - DC allows dependable computing * inherent redundancy ... - DC programs hard to write * CP programs hard to write [see CP book intro] * With DC addressing failures makes it even harder [see Vic intro] * Expensive to develop so would like to have SW reuse and portability. * Wide range of parallel & distributed architectures complicates this, even without failures. 1.2 Abstractions and Languages for Distributed Computing [Caveat: Somewhat borrowed from Bal+TDSM diss,for now,to get the feel of the flow of the current structure!] - Programming paradigms - basic IPC: message passing, RPC & client/server, CSP, SR - inherent: functional, OO, logic - transactions - logically nondistributed: parallel logic or functional, DSMs & Linda 1.3 Linda - [ Similar to TPDS submission intro part, but expanded ] 1.4 Linda and Failures - [ Similar to TPDS submission intro part, but expanded some, esp. to set up FT-Linda's niche ] 1.5 FT-Linda - [ Similar to TPDS submission intro part, but expanded some, esp. to define FT-Linda's niche ] - contributions of this dissertation 1.6 Dissertation Outline