1,068 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
LHC Symposium 2003: Summary Talk
This summary talk reviews the LHC 2003 Symposium, focusing on expectations as
we prepare to leap over the current energy frontier into new territory. We may
learn from what happened in the two most recent examples of leaping into new
energy territory. Quite different scenarios appeared in those two cases. In
addition, we review the status of the machine and experiments as reported at
the Symposium. Finally, I suggest an attitude which may be most appropriate as
we look forward to the opportunities anticipated for the first data from the
LHC.Comment: Summary Talk: LHC Symposium, May 1-3, 2003, Fermilab, Batavia, IL US
GRAPHICAL REPRESENTATIONS OF MULTITHREADED APPLICATIONS
This article contains a brief description of existing graphical methods for presenting multithreaded applications, i.e. Control Flow Graph and Petri nets. These methods will be discussed, and then a way to represent multithreaded applications using the concurrent process system model will be presented. All these methods will be used to present the idea of a multithreaded application that includes the race condition phenomenon. In the summary, all three methods will be compared and subjected to the evaluation, which will depend on whether the given representation will allow to find the mentioned phenomenon
Design and Implementation of a Logo-based Computer Graphics Course
Two years ago the Faculty of Mathematics and Informatics at Sofia University makes a decision to design a new series of Logo-based courses which make use of the modern technology. The pedagogical component of the challenge is to design a multidisciplinary course suitable for students with different skills and interests. From a development perspective the challenge is to build an entirely new one. And finally the course must be attractive regardless of the seriousness and complexity of the topics included in it.
The paper discusses the structure of the course including the final weeks when topics emerging from students’ course projects are taught. Each lesson from the course is based on sets of sample programs representing the general lifecycle of software development. This includes designing, coding and debugging. Samples are created on-the-fly, thus different instances of the course results in different final projects. Lessons are interactive and students may interfere with the direction of demonstrated software development.
Three lessons from the course are sketched in the paper. The first one is taught in week 4 and spans over Computer Science, Calculus, Analytical Geometry; and Applied Statistics and Probability. The lesson in week 6 is focused on composition of complex movements and their synchronization. It uses elements from Computer Science, Geometry, Physics, and Trigonometrics. The third lesson is about relative transformational geometry and its application in the form of Turtle Graphic
- …