In the pursuit of massively multiplayer online games, efficient engines capable of processing sophisticated game scenarios are necessary to support large scale virtual worlds. By applying microprocessor microarchitectural design techniques to game server software design, functional parallelism inherent in complex game transactions can be exploited, augmenting server performance.In a given gaming scenario, complex game transactions can be modeled as data flow graphs. An individual graph represents the collective atomic operations of a particular transaction. Analysis of data flow graphs provides a mechanism that identifies opportunities for parallelism by exposing data dependencies.This poster presents an engine architecture that supports spatial and temporal parallel execution of complex game transactions expressed as data flow graphs. The engine takes advantage of data flow enhancement techniques such as dynamic out-of-order execution to enhance performance. Categories and Subject Descriptors SUMMARYThe increasing complexity of large scale game scenarios demands an appropriate increase in game server performance. Previous work [1] on game server architectures identify parallelism as a potential method of increasing performance.Aside from parallelism exposed by executing transactions simultaneously in separate threads common to typical thread Consider a system model that has multiple clients sending requests to a game server system. The servers are responsible for executing transactions received from clients and distributing the simulation state. Transactions vary in complexity and may require further processing by servers in other tiers of the system architecture.In this model we assume transactions are of two types, simple and complex. A simple game operation represents a single atomic operation. A complex transaction contains a collection of atomic operations that must be executed in a specified order due to data dependencies.Complex transactions can be expressed as a type of acyclic data dependence graph (DDG) known as a data flow graph (DFG). The data flow graph nodes represent a single atomic game operation and the graph arcs represent a true data dependency. These graphs can be analyzed for fine-grained parallelism opportunities.A transaction execution engine was developed that analyzes and exploits parallelism to increase the performance of online gaming systems. The engine features a dynamic core [3] which schedules out-of-order execution of atomic game operations. Functional units implemented as dynamically linked libraries (DLLs) execute atomic operations either locally or remotely in an asynchronous fashion. The processing pipeline stages and functional units are realized as object oriented software.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.