344
Cloud Computing
19.14.1 Thread Programming
High performance computation system focuses on delivering better output during computation.
High throughput in computation is achieved by allowing concurrency through multi-processing
and multi-threading. A process represents a program in execution.
In multi-processing, multiple
processes are executed in parallel at a single machine. Such system is meant to support multi-
tasking.
On the other hand, a thread represents a single flow of control within a process. A system
supports multi-threading when it can execute different threads in parallel within a process.
19.14.1.1 Multi-threading in Aneka
For high-end requirements, performance of executing multi-threaded
applications on a
single multi-core system (systems having two or more processing units, known as cores and
which is generally attached as a single component) becomes insufficient. In such cases, the
distributed execution of application is the only solution. For this purpose, an application can
be decomposed into several units.
In Aneka,
multi-thread programming is
implemented over cloud, using
Thread Programming
Model. In this model, threads are treated as distributed threads being known as
Aneka thread.
Aneka threads follow the principle of local threads which can be
executed over distributed
system architecture. Aneka schedules the executions of threads efficiently while creation and
control of the threads is the responsibility of the application developer.
APIs for Aneka thread programming imitate the .NET-based thread class library. Hence it
becomes effortless to port .NET-based multi-threaded application on Aneka as the transition
between a .NET thread and an Aneka thread is almost transparent. .NET
applications need not
be fully rewritten to be ported in Aneka platform, rather only a replacement of the class System.
Threading.Thread by AnekaApplication does the trick.
In
Aneka Thread Programming model, the work units are represented as Aneka
threads. Programmatically, the concept is implemented
by using the template class
AnekaApplication. The ‘AnekaApplication’ class type
Business Applications
Aneka PaaS
Support for multiple programming models: Task, Thread, MapReduce
Public Cloud IaaS
Private Cloud IaaS