IT1910: Advanced Architectures - Virtualization

LuckiestSchrodinger avatar
LuckiestSchrodinger
·
·
Download

Start Quiz

Study Flashcards

10 Questions

What are the two types of computer components generally configured in Beowulf clusters?

Commodity-off-the-shelf (COTS) components

Security concerns in Beowulf clusters only require authentication to maintain integrity.

False

What is the basic premise of cloud computing?

Many functions of an organization’s data center can be moved to services on the Internet.

______ computing is the term used for computing via a parallel programming language and an API.

GPU

Match the following standard graphics APIs with their respective descriptions:

Direct3D = Microsoft DirectX multimedia programming interface OpenGL = Open standard proposed by Silicon Graphics Incorporated OpenCL = Programming language made by Khronos Group for GPU memory buffering Vulkan = Cross-platform computing API used by AMD

What is the term used to describe the virtualization of a computer that allows it to appear as multiple computers with their own operating systems and hardware resources?

Virtualization

Parallelism refers to tasks that literally run at the same time.

True

What term describes the perception of having tasks that run at the same time?

Concurrency

Fine-grained multithreading switches between threads on each ________, resulting in interleaved execution of multiple threads.

instruction

Match the Flynn's Taxonomy categories with their descriptions:

SISD = Single Instruction stream, Single Data stream SIMD = Single Instruction stream, Multiple Data streams MISD = Multiple Instruction streams, Single Data stream MIMD = Multiple Instruction streams, Multiple Data streams

Study Notes

Virtualization

  • The American Heritage Dictionary defines virtual as:
    • Existing or resulting in essence or effect, but not in actual fact or form
    • Created, simulated, or carried on by means of a computer or computer network
  • Virtualization of a computer allows a single computer to appear as multiple computers, each with its own operating system and hardware resources
  • Multiple computers share the same CPU and I/O facilities, with each simulated machine known as a virtual computer or virtual machine

Parallel Computing

  • Preemptive multitasking refers to the ability of the operating system to interrupt a task and switch to another task
  • Concurrency is the perception of having tasks that run at the same time, while parallelism is the actual running of tasks at the same time
  • Parallelism is a subset of concurrency
  • Two problems that can occur when multiple threads access shared memory are:
    • Data Race: a writer thread modifies the memory while a reader thread is reading from it
    • Race Condition: multiple threads access the same shared data and try to change it simultaneously
  • Solutions to these problems include:
    • Synchronization: ensuring that resources are used by only one thread at a time
    • Atomic Operations: using special instructions to ensure that shared data is always in a valid state
    • Immutable Data: marking shared data as immutable, so that threads can only read from it

Multiprocessor and Multicore Systems

  • Multicore microprocessor: a microprocessor that contains multiple processors (cores) in a single integrated circuit
  • Task-level parallelism (process-level parallelism): a method of utilizing multiple processors by running independent programs simultaneously
  • Flynn's Taxonomy: a categorization of parallel hardware based on the number of instruction streams and data streams
    • SISD (Single Instruction stream, Single Data stream): a non-parallel computer
    • SIMD (Single Instruction stream, Multiple Data streams): a parallel computer, best suited for specialized problems with regularity
    • MISD (Multiple Instruction streams, Single Data stream): a parallel computer, used in multiple frequency filters and cryptography
    • MIMD (Multiple Instruction streams, Multiple Data streams): a parallel computer, currently the most common type, used in supercomputers and multi-core PCs

Multithreading

  • MIMD relies on multiple processes or threads to keep multiple processors busy
  • Hardware multithreading allows multiple threads to share the functional units of a single processor
  • Types of multithreading:
    • Fine-grained multithreading: switches between threads on each instruction, resulting in interleaved execution of multiple threads
    • Coarse-grained multithreading: switches threads only on expensive stalls, such as last-level cache misses
    • Simultaneous multithreading (SMT): a variation of hardware multithreading that uses the resources of a multiple-issue, dynamically scheduled pipelined processor to exploit thread-level parallelism and instruction-level parallelism

Vector/Array Processing

  • Vector architecture: a set of vector registers that collect data elements from memory, operate on them sequentially, and write the results back to memory
  • Instruction set architectures (scalar architectures): a single vector instruction that specifies a great deal of work, equivalent to executing an entire loop
  • Benefits of vector architecture: independence of computation within a vector, allowing for efficient processing of large datasets

High-Performance Computing (HPC)

  • HPC refers to the use of aggregated computing power to handle computation and data-intensive tasks
  • Clustering: a group of loosely coupled computers that work together as a unit, with each computer (node) having its own CPU, memory, and I/O facility
  • Characteristics of clustering:
    • Increasing computing power by combining individual systems
    • Creating fault-tolerant systems
    • Creating high-availability systems
    • Load-balancing systems with large workloads
  • Models of clustering:
    • Shared-nothing model
    • Shared disk model

Cloud Computing

  • Cloud computing: a conceptual expansion of client-server computing, where many functions of an organization's data center are moved to services on the Internet
  • Benefits of cloud computing:
    • Simplified data center
    • Cost reduction
    • Strong support for user collaboration
    • Scalability
    • Access to files from anywhere the Internet is available
  • Risks of cloud computing:
    • Security concerns
    • Dependence on the cloud service provider
    • Outages or connectivity issues
    • Data leakage or theft

Graphics Processing Unit (GPU) Architecture

  • GPU: a processor optimized for 2D and 3D graphics, video, visual computing, and display
  • GPU computing: computing via a parallel programming language and API, without using the traditional graphics API and graphics pipeline model
  • APIs used in rendering and computing:
    • Direct3D
    • OpenGL
    • OpenCL
    • Vulkan### Multithreading
  • A gentle introduction to multithreading is available online as a web log post.

Vector Processor

  • A vector processor is a type of microprocessor that is designed to perform vector calculations.
  • It is a central processing unit (CPU) that is capable of executing the same instruction on multiple pieces of data simultaneously.

High-Performance Computing (HPC)

  • High-performance computing (HPC) refers to the use of high-performance computers and algorithms to solve complex problems.
  • HPC is used to solve complex problems in fields such as science, engineering, and finance.

Computer Systems Architecture

  • Computer systems architecture is a field of study that deals with the design and organization of computer systems.
  • The book "Computer Systems Architecture" by A. Yadin, published in 2016, is a comprehensive resource on this topic.

Miscellaneous

  • STI (name of the institution) provides a feedback form for students at [email protected].

Explore virtualization in computing, including its definition and application in creating multiple computers from a single one.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Computer Memory and Virtualization Quiz
3 questions
Virtualization and Cloud Computing Quiz
3 questions
Advantages of 3D CAD Modeling
10 questions
Introduction to Virtualization
10 questions
Use Quizgecko on...
Browser
Browser