LiveViz – What is it? Charm++ library Visualization tool

Slides:



Advertisements
Similar presentations
MPI Message Passing Interface
Advertisements

Honeywell Displays Testing Mike Santa Cruz Brad Simons Ryan Hernandez Matt Lombardo Jeremy Pager.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Raymond R. Balise Health Research and Policy
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Client Server Model The client machine (or the client process) makes the request for some resource or service, and the server machine (the server process)
Online Chess Project 3 Due date: April 17 th. Introduction Third in series of three projects This project focuses on adding online support –2 players.
TENA Test and Training Enabling Architecture. TENA TENA is used in range environments, often in the L portion of LVC Slightly different emphasis; small.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
DIANE Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
1 LiveViz – What is it? Charm++ library Visualization tool Inspect your program’s current state Client runs on any machine (java) You code the image generation.
Programming Network Servers Topic 6, Chapters 21, 22 Network Programming Kansas State University at Salina.
JavaScript & jQuery the missing manual Chapter 11
1CPSD NSF/DARPA OPAAL Adaptive Parallelization Strategies using Data-driven Objects Laxmikant Kale First Annual Review October 1999, Iowa City.
M1G Introduction to Database Development 6. Building Applications.
Arduino. What is it? A open-source software suite and single-board microcontroller. Allows easy and affordable prototyping of microcontroller applications.
1.First Go to
SUMA: A Scientific Metacomputer Cardinale, Yudith Figueira, Carlos Hernández, Emilio Baquero, Eduardo Berbín, Luis Bouza, Roberto Gamess, Eric García,
HYDRA: Using Windows Desktop Systems in Distributed Parallel Computing Arvind Gopu, Douglas Grover, David Hart, Richard Repasky, Joseph Rinkovsky, Steve.
Application Paradigms: Unstructured Grids CS433 Spring 2001 Laxmikant Kale.
Mr C Johnston ICT Teacher BTEC IT Unit 05 - Lesson 03 Network Topologies.
Charm++ Tutorial Presented by: Laxmikant V. Kale Kumaresh Pattabiraman Chee Wai Lee.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 43 Remote Method Invocation.
FTP Server API Implementing the FTP Server Registering FTP Command Callbacks Data and Control Port Close Callbacks Other Server Calls.
Mr C Johnston ICT Teacher
Computer Science 320 Load Balancing with Clusters.
1 Charm++ Tutorial Parallel Programming Laboratory, UIUC.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
Motivation: dynamic apps Rocket center applications: –exhibit irregular structure, dynamic behavior, and need adaptive control strategies. Geometries are.
Message Framework Topic subscribe for javascript/flex client.
1 Charm++ Tutorial Parallel Programming Laboratory, UIUC.
1 Charm++ Tutorial Parallel Programming Laboratory, UIUC.
Using Charm++ with Arrays Laxmikant (Sanjay) Kale Parallel Programming Lab Department of Computer Science, UIUC charm.cs.uiuc.edu.
1 Network Access to Charm Programs: CCS Orion Sky Lawlor 2003/10/20.
Teragrid 2009 Scalable Interaction with Parallel Applications Filippo Gioachin Chee Wai Lee Laxmikant V. Kalé Department of Computer Science University.
Pitfalls: Time Dependent Behaviors CS433 Spring 2001 Laxmikant Kale.
Debugging Large Scale Applications in a Virtualized Environment Filippo Gioachin Gengbin Zheng Laxmikant Kalé Parallel Programming Laboratory Departement.
PADTAD 2008 Memory Tagging in Charm++ Filippo Gioachin Laxmikant V. Kalé Department of Computer Science University of Illinois at Urbana-Champaign.
Debugging Tools for Charm++ Applications Filippo Gioachin University of Illinois at Urbana-Champaign.
Review of Last Year’s Midterm
Reactive Android Development
Netscape Application Server
Project 1 Simple Socket Client.
Configuring Attendant Console
Distributed File Systems
Advanced Topics in Concurrency and Reactive Programming: Asynchronous Programming Majeed Kassis.
Remote Method Invocation
In-situ Visualization using VisIt
MVC and other n-tier Architectures
Sending a few stragglers home
Simple Socket Client Project 1.
CharmDebug Filippo Gioachin.
Implementing Chares in a High-Level Scripting Language
PHP / MySQL Introduction
Ellen Walker Hiram College
Client/Server Example
Client-Server Interaction
OMNIXX to OPENFOX CONVERSION LESSONS LEARNED
Parallel Programming in Contemporary Programming Languages (Part 2)
CIS Distributed and Parallel Architectures
Chapter 40 Remote Method Invocation
Android Topics Asynchronous Callsbacks
Chapter 46 Remote Method Invocation
Charisma: Orchestrating Migratable Parallel Objects
P1 : Distributed Bitcoin Miner
Chapter 46 Remote Method Invocation
Screen shots – Load imbalance
02 | What DirectX Can Do and Creating the Main Game Loop
Presentation transcript:

LiveViz – What is it? Charm++ library Visualization tool Inspect your program’s current state Client runs on any machine (java) You code the image generation 2D and 3D modes Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

LiveViz – Monitoring Your Application LiveViz allows you to watch your application’s progress Can use it from work or home Doesn’t slow down computation when there is no client Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

Documentation http://charm.cs.illinois.edu/manuals/html/libraries/6.html Or,(same material) section 6 of: http://charm.cs.illinois.edu/manuals/html/libraries/manual-1p.html There are example programs, but: Old ones will not work (see the warning in section 6.7) Make sure liveVizInit call takes the 4th “opts” parameter, which means you are looking at an example with modern correct interface See: http://charm.cs.uiuc.edu/tutorial/LiveViz.htm Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

How to use LiveViz Get the Java Client: LiveViz (from ccs_tools) on to your desktop machine How to run the charm program as a liveviz server How to connect the client to server How to construct the image/s On demand (This is what we will focus on) In Push mode Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

LiveViz Client Client runs on your desktop Server may be a remote machine, or as a special case, for testing, your desktop Client is a java app Download (git clone) ccs_tools from charm website The tool is in ccs_tools/bin/liveViz Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

Running LiveViz Build and run the server Or in detail… cd examples/charm++/wave2d/ make ./run_server Or in detail… Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

LiveViz Request Model – On demand Client LiveViz Server Code Get Image Send Image to Client Image Chunk Passed to Server Forward request to application Server Combines Image Chunks Parallel Application Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

When you run your charm++ program 1234 is a port number You can (and should) use other port numbers Tell the client the same # that you give to the server In repeated runs, change the port#.. It stays in use for several seconds after the program is terminated. ./charmrun ./wave2d+p2 ++server ++server-port 1234 ~/ccs_tools/bin/LiveViz localhost 1234 Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

Wave 2D Example Structure Main: Setup 2D worker array, initialize chares with a circular wave within the interior of the grid Workers: Start looping Send pressure messages to all neighbors with ghost rows Wait for all neighbors to send ghost rows to me Once they arrive, calculate new pressure values Advance to next timestep If total iterations completed, exit Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

LiveViz Setup #include <liveVizPoll.h> void Main::main(. . .) { // Do misc initialization stuff // Create the 2D workers and register with liveviz CkArrayOptions opts(chareArrayWidth, chareArrayHeight); arrayProxy = CProxy_Wave::ckNew(opts); // Setup liveviz CkCallback c(CkIndex_Wave::requestNextFrame(0),arrayProxy); liveVizConfig cfg(liveVizConfig::pix_color,true); liveVizInit(cfg,arrayProxy,c, opts); // Initialize the library // Each chare starts and sets up initial pressure pertubations } Register Callback for sending images on-demand Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

On-demand image generation //Callback function to generate images on request from client void requestNextFrame(liveVizRequestMsg *m){ unsigned char *intensity= new unsigned char[3*w*h]; for(int i=0;i<myheight;++i){ for(int j=0;j<mywidth;++j){ double p = pressure[i*mywidth+j]; if(p > 0) // Positive values are red intensity[3*(i*w+j)+0] = 255; // RED component else // Negative values are blue intensity[3*(i*w+j)+2] = 255; // BLUE component } //populate intensity with RGS based on pressure value liveVizDeposit(m, sx,sy, w,h, intensity, this); Rectangular portion of the image Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects

LiveViz Summary Easy to use visualization library Simple code handles any number of clients Doesn’t slow computation when there are no clients connected Works in parallel, with load balancing, etc. Laxmikant Kalé and PPL (UIUC) – Parallel Migratable Objects