1.18k likes | 1.35k Views
GSRC. bX update December 2002 Aaron Ng, Marius Eriksen and Igor Markov University of Michigan. Context. The C.A.D. and the Fabrics themes are trying to identify obstacles to UDSM design and intercept them early
E N D
GSRC bX update December 2002 Aaron Ng, Marius Eriksen and Igor MarkovUniversity of Michigan
Context • The C.A.D. and the Fabrics themes are trying to identifyobstacles to UDSM design and intercept them early • The Bookshelf / Bookshelf.exe projects deal with the scalability of design technologies • Design time & cost depend on tools and environments • Availability of tools; Benchmarking; Limitations • Interfacing and chaining • Design time & cost depend on the required level of expertise • Design time & cost depend on the degree of reuse
Outline • Contributions • Features • Demo • Implementation • Challenges, limitations and future focus
Contributions • Automation • enabling large-scale computational experimentsand production tool runs • reducing required effort, level of expertiseand level of commitment • scheduling tool runs according to methodologies • minimizing redundant input, increasing reuse and sharing • performing sanity checks • reporting results of tool runs online (publicly or not)
Analogy The GSRC bookshelf to Top-down Bottom-up is like a disk to a computer
Contributions (cont’d) • Abstract representation of design flows • unnecessary details are hidden, handled by bX (e.g., file locations) • easy composition and evaluation of complex flows • users can spend more time on design and evaluation,less time on book-keeping and maintenance • flexibility and ease of reuse • flows are abstracted from their application easier to reuse • abstraction and reuse expose computational parallelism
Contributions (cont’d) • Encapsulation • solvers and designs (design benchmarks) • may be submitted in multiple files,but bX treats them as single entities • flows • manipulated by bX as single entities • flows can be composed of jobs or other (sub)-flows • support for high-level concepts: users, dependencies, etc • security concerns about CAD IP can be addressed
Contributions (cont’d) • Improved reproducibility of results • shared repository • documentation, experimental methodologies • results of experiments • shared executable infrastructure • “live” solvers • benchmarks • reusable scripts
Features • Automation of comput. experiments and reporting of results • Script Composer for design flow prototyping • “Sandbox” execution of experiments for security • Encapsulation + automatic installation of SW & benchmarks • transparent handling of multi-file tar.gz packages • solver uploads: binaries or source code in tar.gz with Makefile • benchmark uploads: single files or tar.gz packages • Encapsulation of intermediate results • jobs can have multiple inputs and outputs • chaining jobs requires an addressing scheme for inputs and outputs
Features (cont’d) • Distributed network of computational hosts exploits the inherent parallelism exposed by reuse • load-balancing and load distribution • policy constraints: access to resources and usage limits • scalability: computational hosts can be easily added/removed • automatic detection of parallelism in new flows
Demo • Step-by-step demonstration of a flow in bX, involving: • solver MetaPl_Capo (VLSI placer), submitted as a Linux binary • VLSI placement benchmark C432in tar.gz form • VLSI placement benchmark Intelin tar.gz form • images of routing congestion (horizontal, vertical and combined) • Example of a script and its reuse • A look at the Script Composer back-end
select the registration sub menu and create a new account for user test
select the submit solver sub menu and upload the MetaPl_Capo solver
Select the submit benchmark sub menu and upload the C432 benchmark. Multiple files can be uploaded in a tar.gz package, and bX handles this transparently.
Select the submit benchmark sub menu and upload the Intel benchmark. This benchmark is also a multi-file tar.gz package.
select the submit solver sub menu and upload the xpm2gif converter
select the check status sub menu to check our account status
Compose a script in terms of Script Composer API. The script will be uploaded to bX. Our sample script describes a flow that involves 1 main job and 3 post processing jobs.
select the submit solver sub menu and upload the script we just created
Create 2 script inputs that will be used to instantiate the script created earlier. One script input runs a flow on the C432 benchmark and the other runs a flow on the Intel benchmark.
select the submit benchmark sub menu and upload the Intel script input
select the submit benchmark sub menu and upload the C432 script input
select the check status sub menu to take a look at what we have in our account now
select the start/stop jobs sub menu and start a flow with the C432 benchmark
select the check status sub menu to monitor the flow’s progress
the main job finishes; the 3 post-processing jobs are enqueued
the 1st post-processing job finishes; the next one is started
the flow finishes; follow the output link to view the flow’s outputs
bX automatically captures the stdout and stderr outputs of a job, as well as all the files created in its working directory. A flow’s output is a combination of the outputs of the script and all the jobs executed in the flow. The file names are prefixed with the job_id to avoid name collisions.
these are the outputs of the 1st post-processing job (xpm-to-gif conversion)
these are the outputs of the 2nd post-processing job (xpm-to-gif conversion)
these are the outputs of the 3rd post-processing job (xpm-to-gif conversion)
In the case of the MetaPl_Capo solver, one of the outputs is a color image of routing congestion.