sasass - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

sasass

Description:

A Universal Client for Taskflow-Oriented Programming with Distributed ... Hemang Lavana** Franc Brglez. Outline. Taskflow Architecture. XML Schema and cdtML ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 37
Provided by: francb
Category:

less

Transcript and Presenter's Notes

Title: sasass


1

A Universal Client for Taskflow-Oriented
Programming with Distributed Components Concepts
and an XML/TclTk Implementation
Hemang Lavana Franc Brglez
Dept. of Computer Science, NC State
University http//www.cbl.ncsu.edu/OpenProjects/Om
niFlow/ Hemang Lavana is now with Cisco
Systems, Inc.
2
Outline
Background and Motivation
Taskflow Architecture
OmniFlow Client for taskflows
XML Schema and cdtML
Summary and Conclusions
3
EDA Background and Motivation .
Informal problem description Matching S/W
components to task instances Informal taskflow
construction for -- concurrent and distributed
task execution -- serial and distributed
task execution
4
Informal Problem Description
Task A1 std. cell placement of netlist N(a)
(_at_host a1)
Task A2 std. cell placement of netlist N(a)
(_at_host a2)
Task B1 block placement of netlist N(b) (_at_host
b1)
Task C1 routing of placed N(a) N(b) (_at_host c1)
Task D1 N(a) N(b) post-layout simulation
(_at_host d1)
Notes tasks may be hierarchical, owned by
distributed team hosts may be under
different file systems !!
5
Matching S/W Components to Task Ins.
What are the key challenges in this example?
(1) invoke and execute A1, A2, B1 concurrently
(2) when first 2-of-3 from A1, A2, B1
complete -- abort uncompleted task from A1,
A2, B1 -- invoke and execute C1
(3) when C1 completes, -- invoke and
execute D1
6
Concurrent Taskflow Composition
(1) invoke and execute A1, A2, B1 concurrently
.
7
Taskflow Aborts and Synchronization
8
Serial Taskflow Composition
(3) when C1 completes .
9
Related Work
University-based research, e.g. Reuben
(DAC97), Weld (DAC98), JavaCADD (TR98),
CollabTop (DAC99), OpenDesign (ICCD00)
OmniFlow Concepts (TclTk01)
Structured Workflow Modeling and Middleware,
e.g. http//www.icis.qut.edu.au/arthur
http//www-4.ibm.com/software/ts/mqseries/
Collaboration technologies, e.g.
http//www.cpsc.ucalgary.ca/grouplab/groupkit/
Technologies such as XML, OMG, JavaSOFT, COM .
10
Taskflow Architecture Programming ...
Problem Abstraction Blackbox (Whitebox) as
Component Instances Taskflow as Intersection of
TaskGraph, DataGraph Task Encapsulation
Architecture
11
Problem Abstraction
Given L blackbox components (executable
programs) and data
M whitebox components (compositions of
black/whitebox components) and data
K hosts of LM black/whiteboxes
N owners of LM black/whiteboxes.
Three problems (1) compose a new whitebox
component (2) transfer data within the new
whitebox component (3) schedule
concurrent/serial execution of all component
instances contained in the new whitebox
component.
12
WhiteBox as a TaskFlow of Components
- tasks can be sequenced serially or concurrently
- task may be repeated a number of times
- the choice of sequence can be decided by data
- only one entry and one exit point
- enabling/disabling of control edges to control
the scope of execution
- enabling/disabling taskflow for execution with
local or global flow data
13
Black/WhiteBox Ports and Data Types
14
BlackBox/WhiteBox Connectors (Edges)
singleInvocation control edge
(task-task, opened/closed in GUI)
repeatInvocation control edge
(task-task, opened/closed in GUI)
abortInvocation control edge (task-task,
opened/closed in GUI)
transfer data edge (data-task, task-data
or data-data)
15
Taskflow Intersection of Two Graphs
User can re-configure (on/off) all control
edges Each task instance encapsulates FIVE
primitives
16
A TaskGraph Example
TaskGraph (parabolaMain) (BEGIN) gt
(parabola) gt (END)
TaskGraph (parabola) (BEGIN) gt (InitA) gt
(A) gt (D) gt (E) gt (END)
(A) gt (A)
(D) gt (A)
(BEGIN) gt (InitB) gt (B) gt (D) gt (E) gt
(END) (B) gt (B) (D)
gt (B) (BEGIN) gt (InitC) gt (C) gt (D) gt
(E) gt (END) (C) gt
(C) (D) gt (C)
TaskGraph (A) or (B) or (C) (BEGIN) gt
(pSolverWeb) gt (download) gt (END)
17
A DataGraph Example
DataGraph (parabola) emailaddr -gt
(InitA).emailaddr emailaddr -gt
(InitB).emailaddr
(A).newCost -gt (D).costA (B).newCost -gt
(D).costB (C).newCost -gt (D).costC (D).totalCo
st -gt (E).totalCost
(E).outReport -gt mOutReport
18
Task Instance Architecture
19
Task Encapsulation Layer (Outline)
Waiting, Enabled, Xecuting, Completed Done,
Aborted, TimedOut, Skipped
20
OmniFlow A Universal Client
An Interactive GUI for taskflow tree view
graph view demo
OmniFlow client simulates the behavior of
distributed and connected programs, it is a
program-of-programs with its own highly
interactive GUI environment .
21
Taskflow Tree View (Dyn. Generated)
mOut1 fileOut1.r
22
Taskflow Graph View (Dyn. Generated)
23
OmniFlow Client Demo (parabola)
invoke the taskflow interaction with
tree view interaction with graph view
execution in simulation mode
24
XML Schema and cdtML ...
Taskflow Schema using XML (cdtML)
WhiteBox Schema Specification for cdtML
Taskflow Descriptions in cdtML
Example of parabola_main.cdt
Example of parabola_defn.cdt
Example of parabola_body.cdt
25
cdtML Taskflow Schema (using XML)
I/O PortList ...
26
WhiteBox cdtML Schema (using XML)
ltxsdcomplexType name
"MultiTaskDefn" content"elementOnly"gt
ltxsdsequence minOccurs"0" maxOccurs"1"gt
       ltxsdelement
name"InputList" type"InputList"/gt
       ltxsdelement name"TaskList"
type"TaskList"/gt ltxsdelement
name"TaskGraph"gt ltxsdcomplexType
content"textOnly"gt lt/xsdcomplexTypegt
lt/xsdelementgt lt/xsdsequencegt
ltxsdattribute name"name"gt ltxsdsimpleType
base"xsdstring"/gt lt/xsdattributegt lt/xsdcompl
exTypegt
27
Taskflow Descriptions in cdtML ...
28
Example of parabola_main.cdt
29
Example of parabola_defn.cdt
ltCdtmlgt ltMultiTaskDefn name"task_parabola"
bodyRef"parabola_body.cdttask_parabola"gt
ltTitlegt Taskflow task_parabola lt/Titlegt
ltDescriptiongt ...
ltInputListgt ltInput port"emailaddr"
type"temporary"gt ...
ltTaskListgt ltBegin/gt ltTask
instance"(InitA)" taskRef"par"/gt ltTask
instance"(InitB)" taskRef"par"/gt
... ltTaskGraphgt (BEGIN) gt (InitA)
lt/TaskGraphgt lt/MultiTaskDefngt lt/Cdtmlgt
30
Example of parabola_body.cdt
ltCdtmlgt ltMultiTaskBody name"task_parabola"
sleep2"gt ltBeginFork/gt ltTaskInstance
instance"(A)" hostgemini"gt
ltJoinConditiongt ltUserAbortgt
evalAbortCondition OR (D) Enabled (D)
Executing lt/UserAbortgt lt/JoinConditiongt
ltDataMuxgt ltSetInput port"root"gt
ltLocalValuegt taskA lt/LocalValuegt ...
ltEndJoin/gt ltDataGraphgt emailaddr -gt
(InitA).emailaddr emailaddr -gt
(InitB).emailaddr ... lt/DataGraphgt lt/Mult
iTaskBodygt lt/Cdtmlgt
31
Taskflow User-Entry (via XML Editor)
32
Taskflow GUI and Scheduling Engine
33
Experimental Results ...
early DA projects reported in ICCD'00,
demos at DAC99, DAC'00 a number of projects
reported in PhD Thesis'00 (largest
taskflow has 9150 task instances,
longest path of 1600 task instances) demos
at DAC 2001
scalability of the taskflow scheduler minimum
execution time sequential tasks
concurrent tasks
34
Scalability of the OmniFlow Scheduler
Task Longest Overhead Instances
Path seconds/task -------- ------ ------------
300 100 0.396 300 200 0.412
9150 1600 0.381
for a SUN workstation under unix/solaris.
Comparable performance has been observed on
workstations under linux/macOS/windowsNT
35
Issues
validating tcl-xml parser incr Tcl on Mac
mclistbox/tree widget graph dependencies in
xml debugging cdtml taskflows
36
Summary and Conclusions
Using XML user encapsulates networked
component programs, as task instances and
programs their interconnections.
Omniflow client reads XML description --
and dynamically renders a highly interactive GUI.
The user-configurable environment may be
preferable to hard-wired flow environments of
today.
For more info about OmniFlow client, thesis, and
paper reprints/preprints, see http//www.cbl.ncsu.
edu/OpenProjects/OmniFlow/
Write a Comment
User Comments (0)
About PowerShow.com