Concurrency - Parallel Execution

Data System Architecture

Introduction

Where a sequential execution can be imagined as a single worker on an assembly line moving between tasks, a parallel process is more like a series of workers, each doing a specific task.

It takes 4 months to grow a tomato. Can you only grow 3 tomatoes a year ??

Parallel does not mean always that your process will use another CPU. Two processes can run in parallel using only one CPU

Parallelism use is only going to increase because:

Parallel execution is the ability to :

  • divide a single operation through the hardware ressource
  • apply multiple CPU and I/O resources to the execution of a single operation.

There are three architectures and approaches to increase performance through paralleled work over additional hardware:

See also: Parallel Programming - (Function|Operation)

Implementation

mechanism by which a task can be run in parallel may be:

  • time-sharing cooperative multitasking,
  • fibers,
  • threads,
  • processes, using different hyperthreads,
  • cores,
  • CPUs,
  • machines,
  • etc.

Documentation / Reference





Discover More
A range request asks for a portion of the file

This is a method that lets you read a file in parallel and improve throughput.
Sorting Quicksort Anim
Algorithm

An is a (procedure|method) for solving a problem. If there exists an algorithm, the function that performs it is called computable. Study of algorithms dates at least to Euclid and were formalized by...
Data System Architecture
Asynchronous programming (Concurrency | Parallel)

application Asynchronous programming is notoriously difficult because the order of operations is highly unpredictable. From a classic computing perspective, concurrent and parallel are clearly synonyms...
Card Puncher Data Processing
Computer - Capacity Planning (Sizing)

Capacity planning is the process of predicting a future system load in order to to determine the type of hardware required for a software. Capacity = the number of agents (m) = the number of parallel...
Data System Architecture
Conccurency - Asynchronous Model

Asynchronous allows an application to issue multiple requests and continue executing while the server performs the request. This type of request can improve an application’s throughput because it allows...
Data System Architecture
Concurrency - Model (Design)

list of asynchronous (concurrent/parallel) design producer-consumer, messaging, promise / future
Data System Architecture
Data Concurrency - Sequential Execution (Serial Process)

sequential execution is a process that can be imagined as a single worker on an assembly line moving between tasks (operations - one job at a time) whereas a parallel program is more like a series of...
Data System Architecture
Data Partition - Horizontal

Horizontal partitions cuts the data by row. Vertical partition Partition is what enable parallelism. Do not under partition - Partitioning on columns with only a few values can cause few partitions...
Card Puncher Data Processing
Data Processing - Data Flow (ETL | Workflow | Pipeline)

A data flow is a workflow specialized for data processing Any system where the data moves between code units and triggers execution of the code could be called dataflow Dataflow_architecturecomputer...
Card Puncher Data Processing
Data Storage - Data Striping (I/O parallelism)

In computer data storage, data striping is the technique of segmenting logically sequential data, such as a file, in a way that accesses of sequential segments are made to different physical storage devices....



Share this page:
Follow us:
Task Runner