Mid 1 Review CH 1, 2, 4 HW Labs Distributed systems? - a system component only interact to by passings messages - Sharing of resources for a common goal -Characterstics - Scales of dist. systems - concurrency - independetly functioning currently - no global clocks - independent failures Existing dist system -search engines -online games -financial trading Trends -Pervasive Networks -Networks are everywhere - How are they protected? - How are they integrated? - Mobile computing -What complexities are intorduced? -Utiquitions computing -distr. computing as a utility Challenges -Heterogeneity - How might a system deal with heterogeneity? -Middleware - Openess - Can the system be exponded and .....? -Why might a system be difficult to expand? -security -How can you protect your system?? - 3 components of security - condifentiality : protection against disclosure - Integrity : protection against alteration / corruption - Availability : protection of access - Scalability - can they system remain effective if there was a large increase in users - Failure handlings -what techniques can be implemented into the system to form component failures -concurrency -how can you handle multiple uses on same process -Transparency -What parts of your system is transparent? -Discuss the types of transparency that are in the system -Quality of service -what can you do to ensure a client has good service? CH2 Models -Physical model -Describe systrm by its hardware components -architctural models -describe system components by their interactions - fundamental models -Describe system by a fundamental property in phone firs pic Feb/24 Ch4 interprocess communication -shared memory -message passing -buffer capacity -IPC operations -Event synchroization - blocking (synchronous) operations -Socket (draw diagram for socket) -Marshalling -process of assemblies a collection of data items in a form suitable for transmission. -corba's common data representation (CDR) - Java's object senialization Lab1: what is needed to use openmp ? - #include How to create a parallel block? how to use each thread? How to compile? Lab2: -Fork-Join parallelism -Race condition - one thread unintentionaly affects the result of another thread Lab3: -False sharing -Multiple threads are accessing the same cache line. -synchronization -Barrier -Mutual exclusion -critical area Lab4: Single program multiple data (SPMD) from this lab you should learn: work-sharing - Parallel for construct - schedules -given this code, what work-sharing construct would you use? -SPMD vs. work-sharing? -which synchronziation for program?