Development of a Distributed Task Bag Using CORBA Frank McCown Operating Systems – UALR Dec. 6, 2001.

Slides:



Advertisements
Similar presentations
Dynamic Programming Nithya Tarek. Dynamic Programming Dynamic programming solves problems by combining the solutions to sub problems. Paradigms: Divide.
Advertisements

Appendix I Hashing. Chapter Scope Hashing, conceptually Using hashes to solve problems Hash implementations Java Foundations, 3rd Edition, Lewis/DePasquale/Chase21.
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Computer Science 320 Parallel Computing Design Patterns.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
1 Contents Distributed data structures Different implementations First example: bank transactions JavaSpaces concepts Replicated-worker pattern Second.
Introduction to Jini & JavaSpaces
CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for the Final Lecture Dec 7, 2011 Aditya Mathur Department of Computer Science Purdue.
MapReduce: Simplified Data Processing on Large Clusters Cloud Computing Seminar SEECS, NUST By Dr. Zahid Anwar.
Sets and Maps Chapter 9. Chapter 9: Sets and Maps2 Chapter Objectives To understand the Java Map and Set interfaces and how to use them To learn about.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
Data Structures Introduction. What is data? (Latin) Plural of datum = something given.
Lecture 2 – MapReduce CPE 458 – Parallel Programming, Spring 2009 Except as otherwise noted, the content of this presentation is licensed under the Creative.
Dictionaries Chapter Chapter Contents Specifications for the ADT Dictionary A Java Interface Iterators Using the ADT Dictionary A Directory of Telephone.
Task Bag A Distributed System using the.NET Framework and Remoting Frank McCown Old Dominion University Spring 2005 CS 875 Distributed Systems - Final.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
Spaces Dr. Samir Tartir Extracted from Principles of Concurrent and Distributed Programming, Second Edition By M. Ben-Ari.
Bags Chapter 1 Copyright ©2012 by Pearson Education, Inc. All rights reserved.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
1 The Map ADT © Rick Mercer. 2 The Map ADT  A Map is an abstract data type where a value is "mapped" to a unique key  Also known as Dictionary  Need.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Computer Science 320 Load Balancing for Hybrid SMP/Clusters.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Chapter 14 Protection Bernard Chen Spring Goal of Protection Protection was originally conceived as an adjunct to multiprogramming operation.
Cli/Serv.: Dist. Prog./21 Client/Server Distributed Systems v Objectives –explain the general meaning of distributed programming beyond client/server.
Google’s MapReduce Connor Poske Florida State University.
CSE 373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks; Eclipse.
Vakgroep Informatietechnologie - IBCN CORBA & RMI Design of Distributed Software.
Model View Controller (MVC) Bigger than a Pattern: It’s an Architecture Rick Mercer with help from many others 1.
Class Opener:. Identifying Matrices Student Check:
Distributed Programming Framework Alexandre David B2-206.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Lab 7 Discussion About Choices. Choice 1- Approach Generate problems Solve problems entered by students Teach students how to work with fractions.
Sept. 5, 2012 Unit 1 UEQ.: Why is it important to know the factors of numbers? Ans.: Skip skip Concept #1 – Arrays and Factor Pairs LEQ: How do I use arrays.
Java Thread and Memory Model
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 5 Creating Classes.
Jini Architecture Introduction System Overview An Example.
Sets and Maps Computer Science 4 Mr. Gerb Reference: Objective: Understand the two basic applications of searching.
8.2 Operations With Matrices
Dictionaries, Hash Tables, Collisions Resolution, Sets Svetlin Nakov Telerik Corporation
CS 420 Design of Algorithms Parallel Algorithm Design.
Distributed Computing in Life Science Research -Presenter: Yijian Yang
Matrix Multiplication The Introduction. Look at the matrix sizes.
CSE 373 Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks; Eclipse.
Sets and Maps Chapter 9. Chapter Objectives  To understand the Java Map and Set interfaces and how to use them  To learn about hash coding and its use.
1 Image Search What is a multiplication table? How can you read it? 2 Web Search/Thinkin g When you’re using a multiplication table, what would.
Notes Over 4.2 Finding the Product of Two Matrices Find the product. If it is not defined, state the reason. To multiply matrices, the number of columns.
Concurrency in Java MD. ANISUR RAHMAN. slide 2 Concurrency  Multiprogramming  Single processor runs several programs at the same time  Each program.
Matrix Multiplication Example 1 Original author: Jeffrey Bivin, Lake Zurich High School.
Item Based Recommender System SUPERVISED BY: DR. MANISH KUMAR BAJPAI TARUN BHATIA ( ) VAIBHAV JAISWAL( )
Distributed and Parallel Processing George Wells.
Lecture 3 – MapReduce: Implementation CSE 490h – Introduction to Distributed Computing, Spring 2009 Except as otherwise noted, the content of this presentation.
Java Basics Regular Expressions.  A regular expression (RE) is a pattern used to search through text.  It either matches the.
Some Collections: BAGS, SETS, and STACKS
Prime and Composite.
Matrix Multiplication
Programming Models for Distributed Application
Road Map CS Concepts Data Structures Java Language Java Collections
Applying Determinants to solve Systems of Equations 2x2 & 3x3
Slides for Chapter 5: Distributed objects and remote invocation
Task-Farm Distributed Computing
Remote method invocation (RMI)
Distribution Infrastructures
Principles of Concurrent and Distributed Programming, Second Edition
Exercises for Chapter 20: CORBA CASE STUDY
Process Synchronization
Copyright ©2012 by Pearson Education, Inc. All rights reserved
Matrix Multiplication Sec. 4.2
Common Component Architecture (CCA)
Presentation transcript:

Development of a Distributed Task Bag Using CORBA Frank McCown Operating Systems – UALR Dec. 6, 2001

Task Bag Concept originated from Linda system at Yale as distributed memory. Master/Slave paradigm Task Bag Master Worker tasks & data results tasks & data

Task Bag Operations 1. pairOut(key, value) – Adds the Pair (key/value) to the Task Bag. If a Pair already exists with the same key, that Pair is replaced with the new Pair. 2. pairIn(key)  value – Causes some Pair in the Task Bag that matches key to be withdrawn from the Task Bag. The value part of the Pair is returned. If no matching Pair is available, an empty value is returned to the caller. 3. readPair(key)  value – Same as pairIn except the Pair is not removed from the Task Bag.

Tasks for Task Bag Any problem that can be divided into sub-tasks and solved in parallel: Searching for text in multiple files Finding set of prime numbers Computing fractal images Performing matrix multiplication

Matrix Multiplication Each Result[R,C] is computed using row R from A and column C from B X= –8 – ABResult

Implementation Task Bag is distributed object 2 choices for implementing distributed system: Java RMI CORBA - ORBacus Programming language: Java Platform: Any

Task Bag Pairs Data Pairs – Matrix rows and columns for use by Workers Task Pairs – Row and Column to be calculated for Workers Result Pairs – Result of calculation for Row and Column for Master

Event Notification Master must be notified when results are available. Workers must be notified when work is available.

Order of Events Worker Task Bag Master 1) Register for Notification 4) Notification of Task Pair 2) Data Pairs pairOut 3) First Task Pair pairOut Data Pair   7) pairIn 8) Result Pair pairOut 9) Notification of Result Pair 1) Register for Notification 10) pairIn   Result Pair 11) Deregister  5) pairIn Task Pair  6) Task Pair pairOut

interface TaskBag { oneway void pairOut(in string key, in string value); oneway void pairOutTask(in string key, in string value); oneway void pairOutResult(in string key, in string value, in string workerName); string pairIn(in string key); string pairInTask(in string key, in string workerName); string readPair(in string key); }; IDL

Demo Start Naming Service. start java com.ooc.CosNaming.Server –ORBconfig project.conf Start Master. java TaskMaster Start Workers. java Worker Place tasks in Task Bag for Workers to do.