75,110 research outputs found
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
Digital Democracy: Episode IV—A New Hope*: How a Corporation for Public Software Could Transform Digital Engagement for Government and Civil Society
Although successive generations of digital technology have become increasingly powerful in the past 20 years, digital democracy has yet to realize its potential for deliberative transformation. The undemocratic exploitation of massive social media systems continued this trend, but it only worsened an existing problem of modern democracies, which were already struggling to develop deliberative infrastructure independent of digital technologies. There have been many creative conceptions of civic tech, but implementation has lagged behind innovation. This article argues for implementing one such vision of digital democracy through the establishment of a public corporation. Modeled on the Corporation for Public Broadcasting in the United States, this entity would foster the creation of new digital technology by providing a stable source of funding to nonprofit technologists, interest groups, civic organizations, government, researchers, private companies, and the public. Funded entities would produce and maintain software infrastructure for public benefit. The concluding sections identify what circumstances might create and sustain such an entity
Intelligent Products: Shifting the Production Control Logic in Construction (With Lean and BIM)
Production management and control in construction has not been addressed/updated ever since the introduction of Critical Path Method and the Last Planner® system. The predominant outside-in control logic and a fragmented and deep supply chain in construction significantly affect the efficiency over a lifecycle. In a construction project, a large number of organisations interact with the product throughout the process, requiring a significant amount of information handling and synchronisation between these organisations. However, due to the deep supply chains and problems with lack of information integration, the information flow down across the lifecycle poses a significant challenge. This research proposes a product centric system, where the control logic of the production process is embedded within the individual components from the design phase. The solution is enabled by a number of technologies and tools such as Building Information Modelling, Internet of Things, Messaging Systems and within the conceptual process framework of Lean Construction. The vision encompasses the lifecycle of projects from design to construction and maintenance, where the products can interact with the environment and its actors through various stages supporting a variety of actions. The vision and the tools and technologies required to support it are described in this pape
A Data Science Course for Undergraduates: Thinking with Data
Data science is an emerging interdisciplinary field that combines elements of
mathematics, statistics, computer science, and knowledge in a particular
application domain for the purpose of extracting meaningful information from
the increasingly sophisticated array of data available in many settings. These
data tend to be non-traditional, in the sense that they are often live, large,
complex, and/or messy. A first course in statistics at the undergraduate level
typically introduces students with a variety of techniques to analyze small,
neat, and clean data sets. However, whether they pursue more formal training in
statistics or not, many of these students will end up working with data that is
considerably more complex, and will need facility with statistical computing
techniques. More importantly, these students require a framework for thinking
structurally about data. We describe an undergraduate course in a liberal arts
environment that provides students with the tools necessary to apply data
science. The course emphasizes modern, practical, and useful skills that cover
the full data analysis spectrum, from asking an interesting question to
acquiring, managing, manipulating, processing, querying, analyzing, and
visualizing data, as well communicating findings in written, graphical, and
oral forms.Comment: 21 pages total including supplementary material
Recommended from our members
Culture, neo-liberalism and citizen communication: the case of Radio Tierra in Chile
This article analyses the Chilean independent and not-for profit station Radio Tierra In the general context of the work of two key Chilean sociologists, JosĂ© JoaquĂn Brunner and Manuel Antonio GarretĂłn, in particular the latter’s theory of an epochal transformation in the relationship between culture and neo-liberalism in Chile over the preceding 30 years. More specifically, it suggests that Radio Tierra makes evident the emergence of a new form of social communication which, in contrast to the traditional liberal model of communication of, and for, information, is more attuned to the new functions of culture in the expansion and implementation of citizenship under conditions of (neo-liberal) globalization. After a discussion of the contemporary media scene and the role of public journalism and alternative communication in Latin America, the article then focuses on the communicational, political and cultural work of Radio Tierra. In 1990, along with the transition to democracy, Radio Tierra (RT) was born in Santiago as an independent station. Using its trajectory, I will try to concretely show some important connections between globalization, neo-liberalism and culture in contemporary Chile
Actors that Unify Threads and Events
There is an impedance mismatch between message-passing concurrency and virtual machines, such as the JVM. VMs usually map their threads to heavyweight OS processes. Without a lightweight process abstraction, users are often forced to write parts of concurrent applications in an event-driven style which obscures control flow, and increases the burden on the programmer. In this paper we show how thread-based and event-based programming can be unified under a single actor abstraction. Using advanced abstraction mechanisms of the Scala programming language, we implemented our approach on unmodified JVMs. Our programming model integrates well with the threading model of the underlying VM
- …