Skip navigation

Bookboon.com Download free eBooks and textbooks

Choose a category

Using Concurrency and Parallelism Effectively – II

Using Concurrency and Parallelism Effectively – II
Not enough reviews yet
ISBN: 978-87-403-1039-9
2 edition
Pages : 235
  • Price: 129.00 kr
  • Price: €13.99
  • Price: £13.99
  • Price: ₹250
  • Price: $13.99
  • Price: 129.00 kr
  • Price: 129.00 kr

Download for FREE in 4 easy steps...

We are terribly sorry, but in order to download our books or watch our videos, you will need a browser that allows JavaScript.
After entering your email address, a confirmation email will be sent to your inbox. Please approve this email to receive our weekly eBook update. We will not share your personal information with any third party.
eLib
Unlock your organization's learning potential
See Demo

Corporate eLibrary

Discover our employee learning solutions

This is a Premium eBook

Bookboon Premium - Gain access to over 800 eBooks - without ads

You can get free access for a month to this - and 800 other books with the Premium Subscription. You can also buy the book below

  • Start a 30-day free trial. After trial: 39.99 kr p/m
  • Start a 30-day free trial. After trial: €5.99 p/m
  • Start a 30-day free trial. After trial: £4.99 p/m
  • Start a 30-day free trial. After trial: ₹299 p/m
  • Start a 30-day free trial. After trial: $3.99 p/m
  • Start a 30-day free trial. After trial: 39.99 kr p/m
  • Start a 30-day free trial. After trial: 39.99 kr p/m
eLib
Unlock your organization's learning potential
Click here!

Corporate eLibrary

Discover our employee learning solutions

About the book

  1. Description
  2. Preface
  3. Content

Description

In the second part of Using Concurrency and Parallelism Effectively we look at how parallelism can be exploited in a variety of modern computing system environments. These include networked and distributed systems, clusters of workstations and, of course multi-core processors.

Additional supplement files for the books:

Java7-Groovy2.1-Parallel-Library

Java8-Groovy2.3-Parallel-Library

Java8-Groovy2.4-Parallel-Library

Preface

In the second part of Using Concurrency and Parallelism Effectively we look at how parallelism can be exploited in a variety of modern computing system environments. These include networked and distributed systems, clusters of workstations and, of course multi-core processors. Multi-core processors have now become ubiquitous and it is nigh on impossible to buy any form of off-the-shelf computing system that does not contain a multi-core processor. One key advantage of using a system based upon the Java Virtual Machine is that we can make use of multi-core processors without any additional effort because the parallel constructs used in this book are able to make immediate and effective use of multi-core processors without any additional effort on the part of the programmer other than ensuring that their code contains sufficient parallel components to utilise the cores. The crucial advantage of the underlying JCSP package is that the definition of the processes does not change as we move from an interleaved concurrent implementation to truly parallel system in which processes are run of different cores or processors over a network. All that changes is the manner in which the processes are invoked.

This capability is more fully exploited as we introduce the capability of using distributed systems that execute on Ethernet based networks and workstation clusters. One of the more challenging aspects of using such clusters and networks is the ability to load the process network over the network from a single ‘host’ workstation. This challenge is addressed in Chapters 22 and 23 by means of a generic architecture that enables process and class loading over a network in a transparent manner. The only requirement of the programmer is the need to describe the channel connections that connect the processes. This is achieved using a knowledge of the architecture of the network in terms of its IP addresses.

Content

  1. Communication over Networks: Process Parallelism
    1. Network Nodes and Channel Numbers
    2. Multiple Writers to One Reader
    3. A Single Writer Connected to Multiple Readers
    4. Networked Dining Philosophers
    5. Running the CREW Database in a Network
    6. Summary
  2. Dynamic Process Networks: A Print Server
    1. Print Spooler Data Objects
    2. The PrintUser Process
    3. The PrintSpooler Process
    4. Invoking The PrintSpooler Node
    5. Invoking A PrintUser Node
    6. Summary
  3. More Testing: Non-terminating Processes
    1. The Test-Network
    2. The Process Network Under Test
    3. Running The Test
    4. Summary
  4. Mobile Agents: Going for a Trip
    1. Mobile Agent Interface
    2. A First Parallel Agent System
    3. Running the Agent on a Network of Nodes
    4. Result Returning Agent
    5. An Agent with Forward and Back Channels
    6. Let’s Go On A trip
    7. Summary
  5. Mobile Processes: Ubiquitous Access
    1. The Travellers’ Meeting System
    2. The Service Architecture
    3. Universal Client
    4. The Access Server
    5. Group Location Service
    6. Running the System
    7. Commentary
  6. Redirecting Channels: A Self-Monitoring Process Ring
    1. Architectural Overview
    2. The Receiver process
    3. The Prompter Process
    4. The Queue Process
    5. The State Manager Process
    6. The Stop Agent
    7. The Restart Agent
    8. The Ring Agent Element Process
    9. Running A Node
    10. Observing The System’s Operation
    11. Summary
    12. Challenges
  7. Mobility: Process Discovery
    1. The Adaptive Agent
    2. The Node Process
    3. The Data Generator Process
    4. The Gatherer Process
    5. Definition of the Data Processing Processes
    6. Running the System
    7. Typical Output From the Gatherer Process
    8. Summary
    9. Challenge
  8. Automatic Class Loading – Process Farms
    1. Data Parallel Architectures
    2. Task Parallel Architectures
    3. Generic Architectures
    4. Architectural Implementation
    5. Summary
  9. Programming High Performance Clusters
    1. Architectural Overview
    2. The Host and Node Scripts
    3. An Application – Montecarlo Pi
    4. Summary
  10. Big Data – Solution Scaling
    1. Concordance – A Typical Problem
    2. Concordance Data Structures
    3. The Algorithm
    4. Analysis of Total Time Results
    5. Analysis of Algorithm Phases
    6. Dealing with Larger Data Sets
    7. Implementation of the Scalable Architecture
    8. Performance Analysis of the Distributed System
    9. Summary
  11. Concluding Remarks
    1. The Initial Challenge – A Review
    2. Final Thoughts
  12. References
This website uses cookies to improve user experience. By using our website you consent to all cookies in accordance with EU regulation.