A Comparative Analysis of SIMD and MIMD Architectures

A Comparative Analysis of SIMD and MIMD Architectures

Volume 3, Issue 9, September 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Comparative Analysis of SIMD and MIMD Architectures Mandeep Kaur* Rajdeep Kaur CSE (M.Tech) CSE (M.Tech) SBBSIET, Jalandhar(Punjab),India SBBSIET, Jalandhar(Punjab),India Abstract-: Computer Architectures are classified depending upon their implementation. This paper describes the SIMD and MIMD architectures, their implementation. SIMD and MIMD system both are parallel computers. Elaborate the types SIMD architecture-: True and Pipelined SIMD architecture, MIMD architectures-: Shared Memory MIMD architectures, Distributed Memory MIMD architectures Keywords-: Flynn’s Taxonomy, SIMD architecture, MIMD architecture, Types of SIMD and MIMD architectures. I. INTRODUCTION Computer architecture as “the structure of a computer that a machine language programmer must understand to write a correct program for a machine” [1]. Computer architecture can be classified into four main categories. These categories are defined under the Flynn’s Taxonomy. Computer architecture is classified by the number of instructions that are running in parallel and how its data is managed. The four categories that computer architecture can be classified under are: 1. SISD: Single Instruction, Single Data 2. SIMD: Single Instruction, Multiple Data 3. MISD: Multiple Instruction, Single Data 4. MIMD: Multiple Instruction, Multiple Data Fig 1-: Flynn’s Taxonomy II. SIMD ARCHITECTURE Single Instruction stream, Multiple Data stream (SIMD) processors one instruction works on several data items simultaneously by using several processing elements, all of which carried out same operation as illustrated in Fig 2. [4] Fig 2 -: Principle of SIMD processor [4] SIMD system comprise one of the three most commercially successful classes of parallel computers (the other being vector supercomputer and MIMD systems). A number of factors have contributed to this success including : © 2013, IJARCSSE All Rights Reserved Page | 1151 Kaur et al., International Journal of Advanced Research in Computer Science and Software Engineering 3(9), September - 2013, pp. 1151-1156 Simplicity of concept and programming Regularity of structure Easy scalability of size and performance Straightforward applicability in a number of fields which demands parallelism to achieve necessary performance. A. Basic Principles: There is a two-dimensional array of processing elements, each connected to its four nearest neighbors. All processors execute the same instruction simultaneously. Each processor incorporates local memory. The processors are programmable, that is, they can perform a variety of functions. Data can propagate quickly through the array. [1] Fig 3 -: The Archetypal SIMD system [1] B. Implementing SIMD Architecture: Two types of SIMD architectures exist: 1. True SIMD 2. Pipelined SIMD True SIMD architecture: True SIMD architectures can be determined by its usage of distributed memory and shared memory. Both true SIMD architectures possess similar implementation as seen on Fig.4, but differ on placement of processor and memory modules. [2] Fig 4-: True SIMD architecture [2] True SIMD architecture with distributed memory: A true SIMD architecture with distributed memory possesses a control unit that interacts with every processing element on the architecture. Each processor possesses their own local memory as observe on Fig.5. The processor elements are used as an arithmetic unit where the instructions are provided by the controlling unit. In order for one processing element to communicate with another memory on the same architecture, such as for information fetching, it will have to acquire it through the controlling unit. This controlling unit handles the transferring of the information from one processing element to another. The main drawback is with the performance time where the controlling unit has to handle the data transfer. [2] © 2013, IJARCSSE All Rights Reserved Page | 1152 Kaur et al., International Journal of Advanced Research in Computer Science and Software Engineering 3(9), September - 2013, pp. 1151-1156 Fig 5-: True SIMD Architecture: Distributed Memory [2] True SIMD architecture with Shared Memory: In this architecture, a processing element does not have a local memory but instead it’s connected to a network where it can communicate with a memory component. Fig.6 shows all the processing elements connected to the same network which allows them to share their memory content with others. In this architecture, the controlling unit is ignored when it comes to processing elements sharing information. It still, however, provides an instruction to the processing elements for computational reasons. The disadvantage in this architecture is that if there is a need to expand this architecture, each module (processing elements and memory) has to be added separately and configured. However, this architecture is still beneficial since it improved performance time and the information can be transferred more freely without the controlling unit. Fig 6-: True SIMD Architecture: Shared Memory [2] Pipelined SIMD Architecture: This architecture implements the logic behind pipelining an instruction as observe on Fig.7. Each processing element will receive an instruction from the controlling unit, using a shared memory, and will perform computation at multiple stages. The controlling unit provides the parallel processing elements with instructions. The sequential processing element is used to handle other instructions. [2] Fig 7-: Pipelined SIMD Architecture [2] © 2013, IJARCSSE All Rights Reserved Page | 1153 Kaur et al., International Journal of Advanced Research in Computer Science and Software Engineering 3(9), September - 2013, pp. 1151-1156 III. MIMD ARCHITECTURE MIMD stands for Multiple Instruction, Multiple Data. The MIMD class of parallel architecture is the most familiar and possibly most basic form of parallel processor. MIMD architecture consists of a collection of N independent, tightly- coupled processors, each with memory that may be common to all processors, and /or local and not directly accessible by the other processors. Fig 8-: MIMD Processor [5] Two types of MIMD architecture-: 1. Shared Memory MIMD architecture 2. Distributed Memory MIMD architecture Shared Memory MIMD architecture: Create a set of processors and memory modules. Any processor can directly access any memory module via an interconnection network as observe on Fig.9. The set of memory modules defines a global address space which is shared among the processors. [1] Fig 9-: Shared Memory MIMD Architecture [1] TABLE 1 Shared Memory MIMD classes Features NUMA COMA CC-NUMA Abbreviation Non- Cache only Cache- Uniform memory Coherent memory access non-uniform access memory access Memory uses Shared Every Each cache memory is memory memory and divided into block memory blocks and works as a blocks are each block is cache attached with attached with memory processors processor © 2013, IJARCSSE All Rights Reserved Page | 1154 Kaur et al., International Journal of Advanced Research in Computer Science and Software Engineering 3(9), September - 2013, pp. 1151-1156 Distributed Memory MIMD architecture: It replicates the processor/memory pairs and connects them via an interconnection network. The processor/memory pair is called processing element (PE). Each processing element (PE) can interact with each other via sending messages. Fig 10-: Distributed Memory MIMD architecture [1] IV. COMPARITIVE ANALYSIS OF SIMD AND MIMD Features SIMD MIMD Abbreviation Single Instruction Multiple Data Multiple Instruction Multiple Data Ease of programming and Single program, Processing element(PE) Multiple communication programs, debugging operate synchronously Processing element(PE) operate asynchronously Lower program memory One copy of the program is stored Each PE stores it own program requirements Lower instruction cost One decoder in control unit One decoder in each PE Complexity of architectures Simple Complex Cost Low Medium Size and Performance Scalability in size and performance Complex size and good performance Conditional Statements Conditional statements depends upon data The multiple instruction stream of MIMD local to processors, all of instructions of allow for more efficient execution of then block must broadcast, followed by all conditional statements (e.g.-: if then else) else block because each processor can independently follow either decision path Low synchronization Implicit in program Explicit data structures and operations needed overheads Low PE-to-PE Automatic synchronization of all “send” Explicit synchronization and identification communication overheads and “receive” operations protocols needed. Efficient execution of Total execution time equals the sum of Total execution time equals the maximum variable-time instructions maximal execution times execution time through all processors on a given processor V. CONCLUSION The purpose of this paper is to provide an overview of recent architectural approaches of parallel systems and also comparison between them. Describes the Flynn’s Taxonomy-: SIMD and MIMD. SIMD allow for more faster and multiple computation in this field where sacrifice cannot be made on the delay of time. SIMD processing architecture example-: a graphic processor processing instructions for translation or rotation or other operations are done on multiple data. MIMD processing

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us