1 / 11

Development of a Distributed Task Bag Using CORBA

Explore the development of a distributed task bag system using CORBA, enabling efficient task management between master and worker instances. Learn about task bag operations, task types, and implementation using Java RMI or ORBacus. Witness matrix multiplication, task bag pairs, and event notifications in action through a step-by-step demonstration of the system.

Download Presentation

Development of a Distributed Task Bag Using CORBA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Task Bag Operations • 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. • 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. • 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. 0 1 2 3 1 2 3 4 2 3 4 5 3 4 5 6 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 Matrix Multiplication Each Result[R,C] is computed using row R from A and column C from B. X = A B Result

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

  10. IDL 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); };

  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.

More Related