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
  4. About the Author

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

About the Author

Jon Kerridge obtained his PhD from the Computer Science Department at the University of Manchester in 1975. Since then he has lectured at Sheffield City Polytechnic, Sheffield University and most recently at Edinburgh Napier University. He is a Fellow of the British Computer Society and a Chartered Engineer.

He has a long standing interest in both Database Technology and in Concurrent and Parallel Programming. From the early 1980’s to the mid-1990’s he was a member of the British Group on the International Standards Committee that standardised the Database Language SQL.

He built his first concurrent system, using Concurrent Pascal, in 1976 and has retained an interest in such systems ever since. He was an early user of the Inmos Transputer and its programming language occam. While at Sheffield University he became Director of the National Transputer Support Centre. One of his main achievements during this period was to build a parallel database machine, using more than 200 Transputers, that was capable of undertaking both SQL queries and on-line transaction processing in parallel on the same data at the same time.

Since the mid-1980’s he has taught concurrent and parallel programming techniques to both post- and under-graduate students. As he moved between education institutions he always had to introduce the teaching of this subject. In particular, the teaching of Concurrent and Parallel Programming to students who have never seen the concepts before or who have been shown old-fashioned and outdated mechanisms. This book draws upon the wealth of experience he has gained during that time.

Author website: http://www.iidi.napier.ac.uk/c/people/peopleid/51

This website uses cookies to improve user experience. By using our website you consent to all cookies in accordance with EU regulation.