DOC PREVIEW
UTK CS 594 - WireGL - A Scalable Graphics System for Clusters

This preview shows page 1-2-3-19-20-38-39-40 out of 40 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

WireGLMotivation for WireGLWhat is WireGL?WireGL IllustratedParallel Graphics Architecture ClassificationAdvantage of WireGL’s Communication InfrastructurePoints of Communication in Graphics PipelineWireGL is a Sort-first RendererWireGL’s Implementation (From a High Level)Compute, Graphics, Interface and Resolution LimitedHow does WireGL Deal With These Limitations?Client ImplementationGeometry CommandsState CommandsGeometry Buffer TransmissionParallel Graphics ConsiderationsSpecial CommandsPipeserver ImplementationPortrait of a PipeserverContext SwitchingOvercoming Context Switching LimitationsScheduling Amongst Different ContextsRound-Robin SchedulingDescription of the NetworkSymmetric ConnectionDisplay ManagementDisplay Reassembly in HardwareDisplay Reassembly in Hardware (2)Display Reassembly in SoftwareVisualization ServerApplications UsedParallel Rendering SpeedupsParallel InterfaceHardware vs. Software Image ReassemblyLoad BalancingLoad Balancing (2)Scalability LimitsTexture ManagementLatencyFuture WorkWireGLA Scalable Graphics System for ClustersGreg Humphreys, Matthew Eldridge, Ian Buck, Gordon Stoll, Matthew Everett, and Pat HanrahanPresented by Bruce JohnsonMotivation for WireGLData sets for scientific computation applications are enormous.Visualization of these datasets on single workstations is difficult or impossible.Therefore, we need a scalable, parallel graphics rendering system.What is WireGL?Provides a parallel interface to a cluster-based virtual graphics systemExtends OpenGL API Allows flexible assignment of tiles to graphics acceleratorsCan perform final image reassembly in software using a general purpose cluster interconnectCan bring rendering power of cluster to displays ranging from a single monitor to a multi-projector, wall-sized display.WireGL IllustratedParallel Graphics Architecture ClassificationClassify by the point in the graphics pipeline at which data are redistributed.Redistribution, or “sorting”, is the transition from object parallelism to image parallelismSort location has tremendous implications for the architecture’s communication needs.Advantage of WireGL’s Communication InfrastructureWireGL uses commodity parts.As opposed to highly specialized components found in SGI’s Infinite RealityTherefore, the hardware or the network may be upgraded at any time without redesigning the systemPoints of Communication in Graphics PipelineCommodity parts restricts choices of communication because individual graphics accelerators cannot be modified.Therefore, there are only two points in the graphics pipeline to induce communication.Immediately after the application stage.Immediately before the final display stage.If communication is used after the application stage, this is the traditional sort-first graphics architecture.WireGL is a Sort-first RendererWireGL’s Implementation (From a High Level)WireGL consists of one or more clients submitting OpenGL commands simultaneously to one or more graphics servers known as pipeservers. Pipeservers are organized as a sort-first parallel graphics pipeline and together serve to render a single output image.Each pipeserver has its own graphics accelerator and a high-speed network connecting it to all of its clients.Compute, Graphics, Interface and Resolution LimitedCompute limited means that the simulation generates data more slowly than the graphics system can accept it.Graphics limited (Geometry Limited) means that a single client occupies multiple servers keeping each server it occupies busy due to its long rendering time.Interface limited means that an application is limited by the rate at which it issues geometry to the graphics system.Resolution limited (Field Limited) means that the visualization of the data is hampered because of a lack of display resolution.How does WireGL Deal With These Limitations?WireGL has no inherent restriction on the number of clients and servers it can accommodate.For compute-limited applications, one needs more clients than servers.For graphics-limited applications, one needs more servers than clients.For interface-limited applications, one needs an equal number of clients and servers.For resolution-limited applications WireGL affords one the capacity to use larger display devices.Client ImplementationWireGL replaces OpenGL on Windows, Linux, and IRIX machines. As the program makes calls to the OpenGL API, WireGL will classify them into three categories:GeometryStateSpecialGeometry CommandsGeometry commands are those that appear between glBegin and glEnd These commands are packed into a global “geometry buffer”.The buffer contains a copy of the arguments to the function and an opcode.These opcodes and data are sent directly to the networking library as a single function call.Commands like glNormal3f do not create graphical fragments. State effects are recorded in the buffer.State CommandsState commands directly affect the graphics state such as glRotatef, glBlendFunc or glTexImage2D.Each state has n bits associated indicate whether that state element is out of sync with each of its n servers. When a state command is executed, the bits are all set to 1, indicating that each server might need a new copy of that element.Geometry Buffer TransmissionTwo circumstances can trigger the transmission of the geometry buffer. If the buffer fills up, it must be flushed to make room for subsequent commands. If a state command is called while the geometry buffer is not empty, since OpenGL has such strict ordering semantics. The geometry buffer cannot be sent to overlapped servers immediately since they may not have the correct OpenGL state. The application’s current state must be sent prior to any transmission of geometry.WireGL currently has no automatic mechanism for determining the best time to partition geometry.Parallel Graphics ConsiderationsWhen running a parallel application, each client node performs a sort-first distribution of geometry and state to all pipeservers. When multiple OpenGL graphics contexts wish to render a single image, ordering must be performed via semaphores.Synchronization functions are added to WireGL. glBarrierExec(name) causes a graphics context to enter a barrier. glSemaphoreP wait for a signal.glSemaphoreV means to issue a signal.These ordering commands are broadcast because the same ordering restrictions must be observed by all servers.Special CommandsExamples of special commands would be SwapBuffers,


View Full Document

UTK CS 594 - WireGL - A Scalable Graphics System for Clusters

Documents in this Course
Load more
Download WireGL - A Scalable Graphics System for Clusters
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view WireGL - A Scalable Graphics System for Clusters and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view WireGL - A Scalable Graphics System for Clusters 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?