2,127 research outputs found
OpenPING: A Reflective Middleware for the Construction of Adaptive Networked Game Applications
The emergence of distributed Virtual Reality (VR) applications
that run over the Internet has presented networked game
application designers with new challenges. In an environment
where the public internet streams multimedia data and is
constantly under pressure to deliver over widely heterogeneous
user-platforms, there has been a growing need that distributed VR
applications be aware of and adapt to frequent variations in their
context of execution. In this paper, we argue that in contrast to
research efforts targeted at improvement of scalability, persistence
and responsiveness capabilities, much less attempts have been
aimed at addressing the flexibility, maintainability and
extensibility requirements in contemporary distributed VR
platforms. We propose the use of structural reflection as an
approach that not only addresses these requirements but also
offers added value in the form of providing a framework for
scalability, persistence and responsiveness that is itself flexible,
maintainable and extensible. We also present an adaptive
middleware platform implementation called OpenPING1 that
supports our proposal in addressing these requirements
Revisiting Actor Programming in C++
The actor model of computation has gained significant popularity over the
last decade. Its high level of abstraction makes it appealing for concurrent
applications in parallel and distributed systems. However, designing a
real-world actor framework that subsumes full scalability, strong reliability,
and high resource efficiency requires many conceptual and algorithmic additives
to the original model.
In this paper, we report on designing and building CAF, the "C++ Actor
Framework". CAF targets at providing a concurrent and distributed native
environment for scaling up to very large, high-performance applications, and
equally well down to small constrained systems. We present the key
specifications and design concepts---in particular a message-transparent
architecture, type-safe message interfaces, and pattern matching
facilities---that make native actors a viable approach for many robust,
elastic, and highly distributed developments. We demonstrate the feasibility of
CAF in three scenarios: first for elastic, upscaling environments, second for
including heterogeneous hardware like GPGPUs, and third for distributed runtime
systems. Extensive performance evaluations indicate ideal runtime behaviour for
up to 64 cores at very low memory footprint, or in the presence of GPUs. In
these tests, CAF continuously outperforms the competing actor environments
Erlang, Charm++, SalsaLite, Scala, ActorFoundry, and even the OpenMPI.Comment: 33 page
Demystifying Parallel and Distributed Deep Learning: An In-Depth Concurrency Analysis
Deep Neural Networks (DNNs) are becoming an important tool in modern
computing applications. Accelerating their training is a major challenge and
techniques range from distributed algorithms to low-level circuit design. In
this survey, we describe the problem from a theoretical perspective, followed
by approaches for its parallelization. We present trends in DNN architectures
and the resulting implications on parallelization strategies. We then review
and model the different types of concurrency in DNNs: from the single operator,
through parallelism in network inference and training, to distributed deep
learning. We discuss asynchronous stochastic optimization, distributed system
architectures, communication schemes, and neural architecture search. Based on
those approaches, we extrapolate potential directions for parallelism in deep
learning
A theoretical and computational basis for CATNETS
The main content of this report is the identification and definition of market mechanisms for Application Layer Networks (ALNs). On basis of the structured Market Engineering process, the work comprises the identification of requirements which adequate market mechanisms for ALNs have to fulfill. Subsequently, two mechanisms for each, the centralized and the decentralized case are described in this document. These build the theoretical foundation for the work within the following two years of the CATNETS project. --Grid Computing
A component-based collaboration infrastructure
Groupware applications allow geographically distributed users to collaborate
on shared tasks. However, it is widely recognized that groupware applications are
expensive to build due to coordination services and group dynamics, neither of which
is present in single-user applications. Previous collaboration transparency systems
reuse existing single-user applications as a whole for collaborative work, often at
the price of inflexible coordination. Previous collaboration awareness systems, on
the other hand, provide reusable coordination services and multi-user widgets, but
often with two weaknesses: (1) the multi-user widgets provided are special-purpose
and limited in number, while no guidelines are provided for developing multi-user
interface components in general; and (2) they often fail to reach the desired level of flexibility in coordination by tightly binding shared data and coordination services.
In this dissertation, we propose a component-based approach to developing group-
ware applications that addresses the above two problems. To address the first prob-
lem, we propose a shared component model for modeling data and graphic user inter-
face(GUI) components of groupware applications. As a result, the myriad of existing
single-user components can be re-purposed as shared GUI or data components. An
adaptation tool is developed to assist the adaptation process.
To address the second problem, we propose a coordination service framework
which systematically model the interaction between user, data, and coordination
protocols. Due to the clean separation of data and control and the capability to dynamically "glue" them together, the framework provides reusable services such as
data distribution, persistence, and adaptable consistency control. The association
between data and coordination services can be dynamically changed at runtime.
An Evolvable and eXtensible Environment for Collaboration (EXEC) is built to
evaluate the proposed approach. In our experiments, we demonstrate two benefits of
our approach: (1) a group of common groupware features adapted from existing single-
user components are plugged in to extend the functionalities of the environment itself;
and (2)coordination services can be dynamically attached to and detached from these
shared components at different granules to support evolving collaboration needs
- …