1/55
Comprehensive practice flashcards defining core terms, systems, and architectural concepts for DSI435 Applied Cloud Computing for Data-Intensive Sciences.
Data-Intensive Science
The fourth scientific paradigm where data is the starting point and primary driver of research, characterized by collecting massive datasets and computationally discovering patterns, generating hypotheses, and making predictions.
Fourth Paradigm of Science
A stage of scientific exploration characterized by data-driven discovery and the computational mining of massive datasets, following the empirical (1st), theoretical (2nd), and computational (3rd) paradigms.
Traditional Data Centre Architecture (Three-Tier Model)
A hierarchical data centre network model composed of an Access Layer (switches connecting servers/users), an Aggregation Layer (consolidating traffic), and a Core Layer (high-speed backbone) linked to server farms and storage networks (SAN/NAS).
Data Velocity
The rate at which incoming data arrives from sources such as IoT sensors or streams, often requiring specialized streaming systems to ingest and process without data loss or buffering bottlenecks.
Vendor Lock-in
A condition in cloud computing where a customer becomes dependent on a single cloud provider because proprietary APIs, data formats, and tooling make migrating to another provider technically difficult or cost-prohibitive.
On-Demand Self-Service
A NIST essential cloud characteristic enabling users to provision computing capabilities, such as server time and network storage, automatically without requiring human interaction with the service provider.
Broad Network Access
A NIST essential cloud characteristic where capabilities are available over the network and accessed through standard mechanisms by heterogeneous client platforms, including mobile phones, tablets, and laptops.
Resource Pooling
A NIST essential cloud characteristic where the provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with physical and virtual resources dynamically assigned according to demand.
Rapid Elasticity
A NIST essential cloud characteristic that allows capabilities to be elastically provisioned and released, scaling outward and inward rapidly based on workload demands.
Measured Service
A NIST essential cloud characteristic where cloud systems automatically control and optimize resource use by leveraging a metering capability appropriate to the type of service (e.g., pay-per-use billing).
Infrastructure as a Service (IaaS)
A cloud service model where the provider delivers fundamental virtualized computing resources (virtual machines, storage, and networking), leaving operating system, middleware, runtime, application, and data management to the consumer.
Platform as a Service (PaaS)
A cloud service model where the provider delivers a managed development and deployment platform (including OS, middleware, and runtime), allowing consumers to focus solely on managing application code and data.
Software as a Service (SaaS)
A cloud service model delivering complete, ready-to-use software applications over the internet, where the provider maintains the entire infrastructure and software stack while the end user manages data and access permissions.
Hypervisor
Software (also known as a Virtual Machine Monitor or VMM) that creates, runs, isolates, and allocates physical hardware resources (CPU, RAM, storage) among multiple virtual machines.
Type 1 Hypervisor
A bare-metal hypervisor that runs directly on physical server hardware without an underlying host operating system, providing higher performance and security for enterprise data centres (e.g., VMware ESXi, Hyper-V, KVM).
Type 2 Hypervisor
A hosted hypervisor that operates as an application layer on top of a conventional host operating system, primarily used for development, testing, and desktop virtualization (e.g., VirtualBox, VMware Workstation).
Container
A lightweight, standalone package containing application code, runtime, system tools, and dependencies that shares the host OS kernel rather than virtualizing a full operating system.
Kubernetes (K8s)
An open-source container orchestration platform originally developed by Google that automates the deployment, scaling, load balancing, and self-healing management of containerized applications.
Pod (Kubernetes)
The smallest deployable unit in Kubernetes, consisting of one or more co-located containers that share network namespaces, IP addresses, storage volumes, and execution specifications.
Server Virtualization
The partitioning of a physical server into multiple virtual servers or virtual machines, each running its own independent operating system to maximize hardware consolidation and efficiency.
Storage Virtualization
The abstraction and pooling of physical storage from multiple network storage devices into a single, consolidated virtual storage unit managed from a central console.
Network Virtualization
The decoupling of network resources and management from physical hardware, allowing software-defined, logical virtual networks (such as VLANs and overlay networks) to operate independently of physical topology.
Desktop Virtualization (VDI)
The centralized hosting and execution of desktop operating systems on remote servers in a data centre, accessed by users through thin clients or remote software over a network.
Application Virtualization
The encapsulation of an application and its execution environment away from the underlying operating system, allowing software to execute without direct local host installation or dependency conflicts.
Data Virtualization
A data integration approach that presents a unified, abstracted real-time logical view of data aggregated from disparate sources without requiring physical data movement or replication.
Infrastructure as Code (IaC)
The methodology of defining, provisioning, and managing IT infrastructure using machine-readable configuration files and code rather than manual physical processes (e.g., Terraform, Ansible).
FutureGrid
An NSF-funded high-performance computing testbed led by Indiana University designed to provide Computing Testbeds as a Service (CTaaS) for experimental research across cloud, grid, and HPC stacks.
Cloudmesh
A software architecture and tool within FutureGrid that managed and aggregated federated multi-cloud resources across FutureGrid, OpenCirrus, AWS, Azure, and HP Cloud.
Message Passing Interface (MPI)
A standardized, portable message-passing library designed for distributed-memory parallel computing that relies on explicit communication commands (MPI_Send, MPI_Recv) and process-level coordination.
MapReduce
A parallel programming model and processing framework consisting of Map (filtering/processing) and Reduce (aggregating) phases, featuring implicit communication and automated fault-tolerant task execution.
Apache Hadoop
An open-source software framework designed for reliable, scalable distributed storage (HDFS) and distributed processing (MapReduce and YARN) of massive datasets on commodity clusters.
Hadoop Distributed File System (HDFS)
A distributed, scalable file system written in Java following a master/slave architecture with a NameNode managing metadata and DataNodes storing replicated data blocks across commodity servers.
NameNode
The master server in HDFS that manages the file system namespace, maintains metadata and directory trees, and maps data blocks to DataNodes, functioning as a single point of failure without High Availability.
DataNode
A worker node in HDFS that stores data blocks on local disks, serves read and write requests from clients, and periodically transmits heartbeats and block reports to the NameNode.
Yet Another Resource Negotiator (YARN)
The cluster resource management layer introduced in Hadoop 2.0 that decouples resource allocation (managed by a central Resource Manager) from processing engines, enabling multiple frameworks to share cluster resources.
Combiner (Hadoop MapReduce)
An optional mini-reducer executed locally on the mapper node that performs intermediate data aggregation to reduce network traffic and bandwidth consumption during the shuffle phase.
Partitioner (Hadoop MapReduce)
A component in the MapReduce pipeline that determines which reducer node receives each specific intermediate key-value pair, typically calculated using a hash of the key modulo the number of reducers.
Small Files Problem (HDFS)
A scalability bottleneck where storing large quantities of files significantly smaller than the default block size (128MB) exhausts NameNode memory, as each file, directory, and block consumes approximately 150bytes of RAM.
Iterative MapReduce
An extension of the MapReduce model tailored for multi-pass algorithms (e.g., machine learning and data mining) that caches invariant data in worker memory across iterations to eliminate repetitive disk I/O.
Twister
An open-source iterative MapReduce framework developed by Indiana University that retains static data in worker memory across iterations and uses publish/subscribe messaging for fast intermediate communication.
OpenMP (Open Multi-Processing)
An API and compiler directive set for shared-memory parallel programming that enables multi-threaded execution and loop parallelization across cores on multicore CPU systems.
Phoenix
A MapReduce implementation developed at Stanford optimized specifically for shared-memory multicore architectures using multi-threading and in-memory shuffle mechanisms.
Single Instruction, Multiple Threads (SIMT)
A GPU parallel execution architecture where multiple threads execute identical instructions simultaneously across different data elements, coordinated in groups called warps (32threads on NVIDIA GPUs).
CUDA (Compute Unified Device Architecture)
NVIDIA's proprietary parallel computing platform and programming model that allows developers to write GPU-accelerated computing kernels using extensions to C, C++, and Fortran.
Mars (MapReduce Framework)
A GPU-based MapReduce framework developed at the Hong Kong University of Science and Technology that executes Map, Shuffle, and Reduce operations directly on graphics processing units using CUDA.
CAP Theorem
A distributed computing theorem stating that a distributed data system can simultaneously guarantee at most two of the following three properties: Consistency, Availability, and Partition Tolerance.
BASE Properties
A consistency model favored by NoSQL databases standing for Basically Available, Soft state, and Eventual consistency, contrasting with strict ACID transactional guarantees.
Document Store (NoSQL)
A NoSQL database category that stores semi-structured, schema-flexible data as hierarchical documents (such as JSON, BSON, or XML), exemplified by MongoDB and CouchDB.
Column-Family Store (NoSQL)
A NoSQL database architecture that organizes data into variable column families mapped to keys, optimized for massive write-heavy and time-series workloads (e.g., Apache Cassandra, HBase).
Predicate Pushdown
A distributed query optimization technique that pushes data filtering logic down to the storage nodes, reducing network transfer by evaluating WHERE conditions before transmitting data.
Apache Hive
A distributed data warehouse system built on top of Hadoop that provides HiveQL, an SQL-like declarative query language that compiles into distributed execution jobs (MapReduce, Tez, or Spark).
Metastore (Apache Hive)
A central repository in Apache Hive that stores relational metadata (table schemas, data types, partition locations, and HDFS mapping) in a traditional relational database.
Apache Pig
A high-level data flow platform that compiles procedural scripts written in Pig Latin into directed acyclic graphs executed on Hadoop (MapReduce, Tez, or Spark).
Amazon EC2 (Elastic Compute Cloud)
An Infrastructure as a Service (IaaS) offering by AWS that provisions resizable virtual server instances in the cloud with configurable CPU, memory, storage, and networking.
EC2 Spot Instances
Unused EC2 compute capacity available at significant discounts (up to 90%) that can be reclaimed by AWS with a two-minute warning, ideal for fault-tolerant and batch processing workloads.
Azure Cosmos DB
Microsoft's globally distributed, multi-model NoSQL database service that provides single-digit millisecond latency, turnkey global replication, and multiple consistency levels.