Explain Multithreading with ANEKA.

 MULTITHREADING WITH ANEKA

  • Traditional thread programming has traditionally been done in the context of a single process. That is, a process is made up of many execution threads that share memory and other resources but operate inside the bounds of the process's memory area. The operating system allocates a portion of the time slice allotted: to the entire process to each of the threads included inside. This technique, known as context switching gives the impression that numerous threads are functioning at the same time. True parallelism is achieved on current computers, when multi-core processors are common, by allocating each thread to a single core. 
  • A multi-threaded program has various benefits, including greater responsiveness in interactive programs, better throughput in I/O heavy applications, enhanced server responsiveness when dealing with several clients, and a streamlined program structure. Threads within a single process. on the other hand, are unable to connect with threads in other processes through shared memory and must instead rely on other means of inter-process communication, such as named pipes and sockets.
  • With the increasing complexity of the applications, there arises a larger demand for processing capacity. Often the computational capability of a single computer is insufficient to meet this demand. Then, distributed infrastructures such as clouds must be used. Decomposition methods may be used to divide a program into multiple pieces of work that, instead of being run as threads on a single node, can be submitted for execution through cloud computing which will improve the execution time and increase the performance.
  • Although a distributed infrastructure may significantly improve the parallelism of programs, its t comes at a cost in terms of application design and performance. Because the multiple units of work are not executing in the same process space but on distinct nodes, both the code and the data must be relocated to a new execution context; the same is true for results that must be gathered remotely and returned to the master process. Furthermore, if there is any communication among the different employee's communication model must finally be redesigned by using the APIs given by the middleware. In other words, the shift from a single-process multithreaded execution to a distributed execution is not always smooth, and application redesign and reimplementation are frequently necessary. 
  • The amount of work necessary to convert an application is determined by the capabilities provided by the middleware that manages the distributed infrastructure. Aneka, as middleware for managing clusters, grids, and clouds, provides sophisticated features for developers to applications. Aneka pushes the boundaries of the typical thread programming model. It allows you to design standard multi-threaded programs, with the extra benefit that each of these threads can now be operated processes that run on distinct nodes and do not share a memory or other resources. AnekaThreads allows construction distribution outside of the parent process and more especially on a different computer. These "threads" separate you to design programs that use the same thread mechanisms for concurrency and synchronization as traditional threads. This makes it simple to convert existing multi-threaded compute-intensive apps to ones that can run faster by leveraging several computers at the same time.


Comments

Post a Comment

Popular posts from this blog

What are different steps used in JDBC? Write down a small program showing all steps.

Explain Parallel Efficiency of MapReduce.

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?