All Tags
AWS
ai
algorithm-design
architecture
browser
cloud
cloud-efficiency
cloud-principles
cost-reduction
data-centric
data-compression
data-processing
deployment
design
documentation
edge-computing
email-sharing
energy-efficiency
energy-footprint
enterprise-optimization
green-ai
hardware
libraries
llm
locality
machine-learning
maintainability
management
measured
microservices
migration
mobile
model-optimization
model-training
multi-objective
network-traffic
parameter-tuning
performance
queries
rebuilding
scaling
services
storage-optimization
strategies
tabs
template
testing
workloads
Tactic: [Increase Task-level Parallelism]
Tactic sort:
Awesome Tactic
Type: Architectural Tactic
Category: resource-allocation
Title
[Increase Task-level Parallelism]
Description
Structure workflows so that tasks represent the smallest unit of parallelizable functionality. Refactor modules to increase the granularity of parallelism by ensuring each atomic task executes independently, ideally in its own thread. This reduces performance bottlenecks from shared resource contention and thread management overhead and allows for improved resource utilization, particularly in heavy computation modules (e.g., matrix multiplications). Tools like CUDA and flowchart-based dependency analysis may support identifying and distributing these tasks
Participant
Scientific software developers
Related software artifact
Module base class design, task dispatcher
Context
Software with high computational loads (e.g., HADDOCK), where partial parallelization exists only in select modules and refactoring is needed to generalize task-level concurrency. Differentiates from thread-level parallelism by optimizing functional decomposition rather than simply increasing thread count
Software feature
Fine-grained parallel execution, module-level task decomposition, model simulation via concatenation
Tactic intent
Improve execution performance and resource utilization by optimizing the number and structure of parallelizable tasks
Target quality attribute
Energy efficiency
Other related quality attributes
Performance efficiency
Measured impact
Task execution time
