电子科技女学 Software Architecture Design Pattern nntE的aE中onic Science and Technolo时Ch■u Flynn's Classical Taxonomy Single Instruction,Single Data streams(SISD)-your single- core uni-processor PC 一 Single Instruction,Multiple Data streams(SIMD)-special purpose low-granularity multi-processor m/c w/a single control unit relaying the same instruction to all processors (w/different data)every cc (e.g.,nVIDIA graphic co- processor w/1000's of simple cores) - Multiple Instruction,Single Data streams(MISD)- pipelining is a major example Multiple Instruction,Multiple Data streams(MIMD)-the most prevalent model.SPMD(Single Program Multiple Data)is a very useful subset.Note that this is v.different from SIMD. Software Architecture and Design Pattern 6
Software Architecture & Design Pattern Software Architecture and Design Pattern 6 Flynn's Classical Taxonomy – Single Instruction, Single Data streams (SISD)—your singlecore uni-processor PC – Single Instruction, Multiple Data streams (SIMD)—special purpose low-granularity multi-processor m/c w/ a single control unit relaying the same instruction to all processors (w/ different data) every cc (e.g., nVIDIA graphic coprocessor w/ 1000’s of simple cores) – Multiple Instruction, Single Data streams (MISD)— pipelining is a major example – Multiple Instruction, Multiple Data streams (MIMD)—the most prevalent model. SPMD (Single Program Multiple Data) is a very useful subset. Note that this is v. different from SIMD
电子科技女学 Software Architecture Design Pattern University af Electronic Science and Technoloryf Chim Data Parallelism:SIMD and SPMD fall into this category Functional Parallelism:MISD falls into this category MIMD can incorporates both data and functional parallelisms (the latter at either instruction level- different instrs.being executed across the processors at any time,or at the high-level function space) Software Architecture and Design Pattern 7
Software Architecture & Design Pattern Software Architecture and Design Pattern 7 • Data Parallelism: SIMD and SPMD fall into this category • Functional Parallelism: MISD falls into this category • MIMD can incorporates both data and functional parallelisms (the latter at either instruction level— different instrs. being executed across the processors at any time, or at the high-level function space)
电子科技大学 Concurrent Computing Model University af Electronic Science and Technoloryf Chim Multiprocess vs.Multithread ·Multiprocess Multiple tasks or processes share common system resources such as CPU,I/O,etc. ·Multithread Multiple execution units within a process share system resources. Software Architecture and Design Pattern 8
Concurrent Computing Model Software Architecture and Design Pattern 8 Multiprocess vs. Multithread • Multiprocess Multiple tasks or processes share common system resources such as CPU, I/O, etc. • Multithread Multiple execution units within a process share system resources
电子州妓女学 Software Architecture Design Pattern University af Electronic Science and Technoloryf Chim Multiprocess---single core Word Web E-mail Antivirus Processor Browser Operating System CPU Core Software Architecture and Design Pattern 9
Software Architecture & Design Pattern Software Architecture and Design Pattern 9 Multiprocess --- single core
电子科技女学 Software Architecture Design Pattern University af Electronic Science and Technoloryf Chim Java Threading Model Two-level threads:user thread (java thread class) kernel thread(O/S kernel support) Thread model ·one-to-one 。many-to-one 。many-to-many Software Architecture and Design Pattern 10
Software Architecture & Design Pattern Software Architecture and Design Pattern 10 Java Threading Model Two-level threads: user thread (java thread class) kernel thread (O/S kernel support) Thread model • one-to-one • many-to-one • many-to-many