Download presentation
Presentation is loading. Please wait.
Published byErnest Pierce Modified over 9 years ago
1
Development of a Distributed Task Bag Using CORBA Frank McCown Operating Systems – UALR Dec. 6, 2001
2
Task Bag Concept originated from Linda system at Yale as distributed memory. Master/Slave paradigm Task Bag Master Worker tasks & data results tasks & data
3
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.
4
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
5
Matrix Multiplication Each Result[R,C] is computed using row R from A and column C from B. 0 1 2 3 1 2 3 4 2 3 4 5 3 4 5 6 X= 0 1 2 3 -1 0 1 2 -2 -1 0 1 -3 -2 -1 0 -14 –8 –2 4 -20 -10 0 10 -26 -12 2 16 -32 -14 4 22 ABResult
6
Implementation Task Bag is distributed object 2 choices for implementing distributed system: Java RMI CORBA - ORBacus Programming language: Java Platform: Any
7
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
8
Event Notification Master must be notified when results are available. Workers must be notified when work is available.
9
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
10
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
11
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.