A layered top-down classification of the latest available software
High-abstraction software, transparently handles the distributed computation.
Define pieces of code to be remotely executed as tasks and dependencies between tasks to combone them together into workflows.
Dataflows
Graph processing
Rely on platform software to orchestrate, communicate, and manage the infrastructure.
Resolving a single computing challenge
Data Sharing
Resource management
Use communication libraries or protocols to ease the communication between distributed processes.