Networking and Management Frameworks for Cluster-Based Graphics Benjamin Schaeffer Integrated Systems Lab University of Illinois.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

COM vs. CORBA.
Reza hooshangi ( ). short history  One of the last major challenges for the web is to enable human communication via voice and video: Real Time.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Reference: Message Passing Fundamentals.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Virtual Reality at Boston University Glenn Bresnahan Boston University Scientific Computing and Visualization (
Distributed Information Systems - The Client server model
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Data Networking Fundamentals Unit 7 7/2/ Modified by: Brierley.
1 I/O Management in Representative Operating Systems.
Course Instructor: Aisha Azeem
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
Understanding and Managing WebSphere V5
This is the way an organisation distributes the data across its network. It uses different types of networks to communicate the information across it.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Chapter 4.  Understand network connectivity.  Peer-to-Peer network & Client-Server network  Understand network topology  Star, Bus & Ring topology.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Yavor Todorov. Introduction How it works OS level checkpointing Application level checkpointing CPR for parallel programing CPR functionality References.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Myriad Scalable Scene Graph, VRST 2005, Monterey, CA Myriad: Scalable VR via Peer-to-Peer Connectivity, PC Clustering, and Transient Inconsistency Benjamin.
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
Marcelo de Paiva Guimarães Bruno Barberi Gnecco Marcelo Knorich Zuffo
Hands-On Virtual Computing
Electronic Visualization Laboratory University of Illinois at Chicago “Sort-First, Distributed Memory Parallel Visualization and Rendering” by E. Wes Bethel,
Design of a Collaborative System Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
1 Computer Networks DA Chapter 1-3 Introduction.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
GUI For A Virtual Pipeline Simulation Testbed By, Revathi Manni Ranganathan Major Professor: Dr.Virgil Wallentine.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
CHAPTER TEN AUTHORING.
Syzygy Design overview Distributed Scene Graph Master/slave application framework I/O Device Integration using Syzygy Scaling down: simulators and other.
CS1Q Computer Systems Lecture 17 Simon Gay. Lecture 17CS1Q Computer Systems - Simon Gay2 The Layered Model of Networks It is useful to think of networks.
NOVA Networked Object-based EnVironment for Analysis P. Nevski, A. Vaniachine, T. Wenaus NOVA is a project to develop distributed object oriented physics.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
X-WindowsP.K.K.Thambi The X Window System Module 5.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Real-Time Cyber Physical Systems Application on MobilityFirst Winlab Summer Internship 2015 Karthikeyan Ganesan, Wuyang Zhang, Zihong Zheng Shantanu Ghosh,
Parallelizing Spacetime Discontinuous Galerkin Methods Jonathan Booth University of Illinois at Urbana/Champaign In conjunction with: L. Kale, R. Haber,
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Linux Operations and Administration
Status & development of the software for CALICE-DAQ Tao Wu On behalf of UK Collaboration.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
4000 Imaje 4020 – Software Imaje 4020 – Content ■ Content of Chapter Software: 1. Flash Up 2. Netcenter 3. FTP 4. Active X 5. XCL commands 6. Exercise.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
Sockets A popular API for client-server interaction.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 29 Remote Method.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
TensorFlow– A system for large-scale machine learning
Introduction to Distributed Platforms
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Ch > 28.4.
#01 Client/Server Computing
Presentation transcript:

Networking and Management Frameworks for Cluster-Based Graphics Benjamin Schaeffer Integrated Systems Lab University of Illinois

Syzygy Snapshots

Mathematics: Hyperbolic Geometry

Syzygy Library for Virtual Reality on PC clusters Supports multiple programming styles –Distributed Scene Graph –Synchronized application instances Portable: Linux, Win32, Irix High performance and high quality

The Problem PC graphics and networking performance is becoming comparable to the graphics supercomputers popular in the 1990’s How can we exploit this? Unfortunately, PC’s can only host 1 high performance graphics card (AGP bus) PC cluster is the answer

The Problem PC cluster has much lower communications bandwidth between components (shared memory vs. network) This bottleneck means that PC cluster VR software must be highly optimized to get high performance Different applications will require different architectures. Difficult for the library writer!

The Problem Cluster applications are more difficult to manage than applications running on a single computer. Starting the application? Stopping the application? Configuring the application? What if the cluster is heterogeneous?

Related Work CAVElib: Cluster support in the latest version. Limited automatic data sharing. Sockets-based network facility for other data sharing. NetJuggler and Cluster Juggler: Two different extensions to VR Juggler with cluster support. Multiple copies of the application share an input event stream.

Related Work WireGL: Replacement for OpenGL shared library that broadcasts OpenGL primitives over the network to be displayed by cluster nodes. Avango: Shared scene graph for shared virtual environments. Can be adapted for cluster-based graphics.

Application Architecture Two basic application architectures (there can be more) for cluster-based graphics Client/server Master/Slave

Client/Server The application runs on a central node and sends rendering information to the render nodes. Uses a fixed protocol. Generic rendering clients run on the render nodes. These are the same for all applications. Examples: WireGL, Avango (?), Syzygy distributed database

Master/Slave Multiple copies of the application run, one on each render node. A master instance of the application controls what the slave instances do, via broadcasting state information each frame. No fixed protocol. Unique for each application. Examples: CAVElib, Cluster Juggler, Syzygy Master/Slave application framework

Pros and Cons Client/Server can require high bandwidth (WireGL). Client/Server can require software rewriting (scene graphs). These higher-level protocols can be network efficient. Master/slave in many cases requires low bandwidth. Master/slave might not be suitable for complex applications.

Syzygy Provides a common networking and management framework for building cluster VR applications. Why? Many different ways to do cluster VR, each appropriate for different situations. As practical examples, build a distributed scene graph and a master/slave application framework.

Communications Layer PhleetI/O FrameworkMedia Protocols Media ObjectsI/O Drivers Application Frameworks

Messaging Syzygy communication is message-based. Programmer can construct message types and languages from those types. Binary data format with built-in translation between different machine architectures (big-endian to little-endian). Built-in message serialization and de- serialization

Communication Objects Syzygy includes server objects that can manage multiple full-duplex network connections. Communication occurs via Syzygy messages. Also client objects that communicate with the servers. Fault tolerance is built in. Objects can activate in any order, stop, restart, reconnect, disconnect, etc.

Synchronization BarrierServer object controls synchronization across the cluster. BarrierClient objects connect to it. Built on the standard Syzygy client/server objects. Synchronization groups are dynamic. Clients can enter and leave the group at any time. Fast. Buffer swap latency is comparable to the ping time on the cluster network for ethernet. Important for cluster graphics!

Synchronized Buffer Transfers For efficiency in graphics, information should be transferred once per frame. Small messages need to be buffered. Syzygy includes support for objects that automatically buffer messages in the background, transferring the buffers on the graphics buffer swap. Double-buffering of messages is used to get the most out of slow networks. While it is buffering the new messages, Syzygy is transferring the last buffer.

server client Send frame (n) Fill frame (n+1) Draw frame (n-1) Receive frame (n) Send Connection Request Send State Recv State Draw frame (n) IdleRecv frame (n+1) Idle Send frame (n+1) Fill frame (n+2) Send frame (n+2) Fill frame (n+3) Draw frame (n+1) Recv frame (n+2) Draw frame (n+1) Recv frame (n+2)

Phleet Distributed operating system (minimal) szgserver controls. szgd provides remote execution services. szgserver is merely a connection broker. Most communication occurs directly between programs.

Phleet Parameter database stored in szgserver. Meta- config file that can be managed from the command line of any computer. Global locks Simple message API routes through szgserver to all managed programs (like Unix signals). Can tell a program to reload its parameters or exit.

Distributed Scene Graph Client/server. One node serves geometry to the render nodes. Bandwidth is automatically conserved. Only scene changes are sent from one frame to the next. Semantic nature of scene graph helps ease programming. Robust. Render clients can disconnect and reconnect while the application is running. Dynamically change your display. Similarly, stop your application and start a new one without bringing down the render clients.

Distributed Scene Graph Built on a general hierarchical distributed database. Nodes in the database are created and later altered via sending Syzygy messages to the database. Incremental changes can be made to a node (for instance, altering just some points in a point set). Saves bandwidth. An API is provided to aid the programmer in generating these messages.

Distributed Scene Graph Node types include: –Transform –Points –Lines –Triangles –Texture coordinates –Textures –Visibility –Text Billboard –Etc.

Syzygy Server Barrier Server Graphics Server Input Client szgd Input Server Barrier Client Render

Master/Slave Framework Master/slave = same application runs synchronized on render nodes. One node is the master and distributes I/O or other control info. Framework makes it easy to write a synchronized application, handle input devices, and manage the whole thing. A good way to write a custom distributed graphics protocol!

Master/Slave Framework Programmer registers memory chunks. Event loop: –Pre-exchange callback (computations), input device polling on master. –Data exchange (handled by library) –Post-exchange callback. Input device state is synchronized on all application instances. As is registered memory. –Draw callback. –Synchronization.

MasterSlave Barrier Server Barrier Client Input Client Input Server Master/Slave Application Detail

Practical Experiences Volume visualization using master/slave framework. Visualization of MPI-based codes using distributed scene graph. Quake 3 level viewer. Master/Slave. Mathematical visualizations: Sphere eversion and hyperbolic geometry. Master/slave. Fully articulated avatars animated by motion capture data. Distributed scene graph.

CAVE Quake 3 //

CARMEN: shared virtual world //

Mathematics: Hyperbolic Geometry.edu/.edu/

Supercomputer Performance Analysis

Getting the Software Syzygy is licensed under the GNU LGPL It comes with everything you need to start showing demos right away! Download the latest release at (follow the software link) Or ask for a free Syzygy-0.4 CD after this talk!