25 Task Computing : HTC-HPC-MTC
Dear students,
In our last blog, we came across concurrent computing, where the focus was how a single program can be computed faster by decomposing either based on data sets (Domain Decomposition) or based on functionality (Function Decomposition). Once the decomposition is planned properly in the program, it can be assigned to multiple cores or multiple threads. Concurrent computing is a form of parallelism on the same machine.
When we talk about task computing, we are looking at executing not single program, but multiple programs. Each program can be considered as a task with lot of data or consisting of many work units. These tasks can be executed using multiple machines. Task Computing is a form of parallelism on multiple machines. It is a network of machines, where one machine (called local node) becomes responsible to submit the task, then one machine schedules it , checks status on all submitted tasks (access nodes) , one machine provides any resources such as files, data etc., then another machine actually runs the computation program task.
One can use Clusters (a group of interconnected similar resources in same location), Grids (a group of interconnected dissimilar resources across multiple location) or Cloud services to do achieve Task Computing.
Task Computation are of three types
High Throughput Computing (HTC)
High Performance Computing (HPC)
Many Task Computing (MTC)
HTC computing deals with tasks that take lot of time to complete, such as hours, months or maybe a year. HPC computing deals with tasks that needs to complete extremely fast irrespective of time or volume. MTC computing deals with tasks that has huge volume of resources and tasks and it needs to be done fast.
High Throughput Computing (HTC)
In HTC problems which take long time to complete, computing machines / nodes / processes cannot afford to stop in between else all computations become useless. Hence fault tolerance, robust stragegies has to be put in place. For example a program should keep track of progress of jobs completed and in case there is any kind of breakdown, the system should pick up from where it left last at the earliest.
High Performance Computing (HPC)
In HPC problem, execute a lot of computations in less time is critical. Imagine a self driving car connected on server, which manages all the other self driving cars. In such example, locations, speed, road condition, weather condition, traffic, pedestrian tracking calculations have to be done quickly else accidents can take place.
A good HTC is one which can carry out the maximum number of jobs in a month without failing even once.
In some problem, not only the time to compute fast is important, but the floating point precision (number of decimal points that can be supported) supported in the computation matters a lot.
A good HPC is one which can carry out the maximum number of floating point operations in one second (flops) with highest precision.
Many Task Computing (MTC)
MTC is a higher degree of multiple HTC at work. Some tasks may be compute intensive and hence may need good processors and some tasks may be data intensive and hence may need good memory. Some tasks may require larger clusters, some tasks may need cloud.
A good MTC is one in which all HTCs carrying out independent jobs over the course of lengthy time have to be successful without even a single HTC failing.
Application models to solve Task Computing problems
Task Computations solved via HTC, HPC, MTC may be done using four types of application models
Embarrasingly Parallel Application (all tasks have the same repetitive computation and not dependent on each other to be executed in any particular order)
Parameter Sweep Application (are embarrasingly parallel application that will execute as per the parameter passed on to it and hence it is more dynamic)
Message Passing Interface (all tasks communicate with each other, may be different, may be dependent, may have to be executed in some order)
Workflow applications (all tasks are mandatorily carried out in a particular sequence)
For more details refer to presentation 1 / presentation 2 / presentation 3
Thank you.
Comments
Post a Comment