615 research outputs found
Recommended from our members
A systematic approach to garbage collection for real-time systems
Garbage collection (GC) is becoming increasingly prevalent within the programminglandscape. The use of garbage collection in real-time systems has also gained increasing attention given the major advantages in productivity and safety. Unfortunately, the progress in GC for mainstream applications and languages does not solve the problems of memory management for embedded real-time systems. The fundamental problem is that conventional GC techniques do not provide the timing and memory use predictability that are basic real-time program requirements. This dissertation presents a systematic approach to real-time garbage collection (RTGC) for real-time systems. Given a real-time system with a bounded workload, the goal is to calibrate the control of RTGC in a systematic and automatic way. We use an approach that separately models (1) the performance of collector operations and (2) the garbage collection load offered by real-time tasks. It allows prediction of system behavior from knowledge of component behavior and environment specifications. This knowledge provides designers tools to use GC in a predictable way. Three major topics are presented: a system model that outlines the systematic RTGC approach, a GC cost model that guarantees garbage collection activities’ worst-case execution time (WCET), and GC-integrated scheduling and schedulability analysis mechanisms that compute feasible GC execution parameters satisfying real-time timing requirements. A modified Boehm-Demers-Weiser (BDW) GC implemented in Mono 1.1.16, [96], demonstrates the use of the RTGC approach with a status router real-time application
Recommended from our members
Duplo: A framework for OCaml post-link optimisation
We present a novel framework,
Duplo
, for the low-level post-link optimisation of OCaml programs, achieving a speedup of 7% and a reduction of at least 15% of the code size of widely-used OCaml applications. Unlike existing post-link optimisers, which typically operate on target-specific machine code, our framework operates on a Low-Level Intermediate Representation (LLIR) capable of representing both the OCaml programs and any C dependencies they invoke through the foreign-function interface (FFI). LLIR is analysed, transformed and lowered to machine code by our post-link optimiser, LLIR-OPT. Most importantly, LLIR allows the optimiser to cross the OCaml-C language boundary, mitigating the overhead incurred by the FFI and enabling analyses and transformations in a previously unavailable context. The optimised IR is then lowered to amd64 machine code through the existing target-specific code generator of LLVM, modified to handle garbage collection just as effectively as the native OCaml backend. We equip our optimiser with a suite of SSA-based transformations and points-to analyses capable of capturing the semantics and representing the memory models of both languages, along with a cross-language inliner to embed C methods into OCaml callers. We evaluate the gains of our framework, which can be attributed to both our optimiser and the more sophisticated amd64 backend of LLVM, on a wide-range of widely-used OCaml applications, as well as an existing suite of micro- and macro-benchmarks used to track the performance of the OCaml compiler.
EPSRC EP/P020011/1, Cambridge Trust
A gentle transition from Java programming to Web Services using XML-RPC
Exposing students to leading edge vocational areas of relevance such as Web Services can be difficult. We show a lightweight approach by embedding a key component of Web Services within a Level 3 BSc module in Distributed Computing. We present a ready to use collection of lecture slides and student activities based on XML-RPC. In
addition we show that this material addresses the central topics in the context of web services as identified by Draganova (2003)
Using Containers to Create More Interactive Online Training and Education Materials
Containers are excellent hands-on learning environments for computing topics
because they are customizable, portable, and reproducible. The Cornell
University Center for Advanced Computing has developed the Cornell Virtual
Workshop in high performance computing topics for many years, and we have
always sought to make the materials as rich and interactive as possible. Toward
the goal of building a more hands-on experimental learning experience directly
into web-based online training environments, we developed the Cornell Container
Runner Service, which allows online content developers to build container-based
interactive edit and run commands directly into their web pages. Using
containers along with CCRS has the potential to increase learner engagement and
outcomes.Comment: 10 pages, 3 figures, PEARC '20 conference pape
Building Brains for Bodies
We describe a project to capitalize on newly available levels of computational resources in order to understand human cognition. We will build an integrated physical system including vision, sound input and output, and dextrous manipulation, all controlled by a continuously operating large scale parallel MIMD computer. The resulting system will learn to "think'' by building on its bodily experiences to accomplish progressively more abstract tasks. Past experience suggests that in attempting to build such an integrated system we will have to fundamentally change the way artificial intelligence, cognitive science, linguistics, and philosophy think about the organization of intelligence. We expect to be able to better reconcile the theories that will be developed with current work in neuroscience
Resource accounting and reservation in Java Virtual Machine
The Java platform The Java programming language was designed to developed small application for embedded devices, but it was a long time ago. Today, Java application are running in many platforms ranging from smartphones to enterprise servers. Modern pervasive middleware is typically implemented using Java because of its safety, flexibility, and mature development environment. However, the Java virtual machine specification has not had a major revised since 1999 Several researches had addressed these important issues. As result of these efforts some Java specification requests (JSR) have emerged. We consider there are seven JSRs relate to monitoring and to resource accounting and reservation: three for the Java Management eXtension API (JSRs 3, 160, 255), two for Metric Instrumentation (JSRs 138, 174) and two for resource-consumption management (JSRs 121, 284). The Java Management extension API only addresses monitoring and management: it does not define specific resource accounting or reservation strategies. JSRs 138 and 174 define monitors for the Java Virtual Machine. They are coarse grained, monitoring the number of running threads, the memory used, the number of garbage collections and so on. They monitor the entire virtual machine, not specific component so, they are useless to most middleware. Based on the Multitasking Virtual Machin
Recommended from our members
Ratatoskr wide-area actuator RPC over gridstat with timeliness, redundancy, and safety
The development of the communication infrastructure for the north-American electrical powergrid has failed to fully incorporate important developments in the field of computer science,affecting the stability and efficiency of the power grid as a whole. The current power-gridcommunication standard, SCADA, utilizes protocols specialized for centralized communication,hampering communication between field sites key for envisioned improvements of power gridsafety and efficiency. Further, a number of different proprietary communication protocols are inuse, making communication between power utility companies very difficult.GridStat is a communication infrastructure designed for a power grid environment that solvesmany of the problems with the current situation. GridStat uses a specialization of thepublish-subscribe middleware paradigm, status dissemination, that takes advantage of thesemantics of status data to provide flexible acquisition of power-grid data with multipledimensions of QoS semantics. The middleware approach enables communication betweenutilities independent of proprietary network protocols, and allows enhanced network features such as forwarding data through multiple redundant paths. While GridStat provides excellent support for data acquisition, the publish-subscribe architecture supports only one-way communication and provides syntax and semantics unsuitable for control communications.This thesis presents Ratatoskr, a novel scheme for control of actuators using GridStat communication. It constructs a two-way communication channel on top of GridStatpublish/subscribe paths, and utilizes the QoS semantics and middleware properties GridStatprovides. For control communication Ratatoskr uses remote procedure call (RPC), providingprogrammer friendliness and familiarity. The QoS semantics of GridStat are drawn upon toprovide the timeliness required for power-grid operation. Reliability concerns are addressed byproviding three redundancy schemes, ACK/resend, transmitting multiple copies of a singlepacket, and spatial redundancy through GridStat’s redundant routing paths feature. Additionally,pre- and post-condition expressions over GridStat status variables are built into call semantics.The architecture and design of Ratatoskr is presented, along with results from an evaluation of aprototype implementation
Multimedia Content Distribution Management Using a Distributed Topology
Advertising plays an important role in order for many companies to promote their products and services. It can be expensive to place advertisements with no guarantees that the message will reach the intended persons. In this field, targeted advertising is the mainstream strategy to captivate the potential consumer. People are used to see advertisements everywhere they go in many different forms. One of those is the use of screen displays that are believed to make the ads more engaging. However, using digital screens to advertise may lead to some issues, like down times or unwanted error messages from the device that controls the screens. This can cause a bad experience for both the target audience and the advertiser. This thesis was developed within the scope of a project called Vixtape. It’s a platform with the goal of turning any public screen into an ads displaying device and in the process reward the screen owner by exposing ads to the target audience. It also has the mission of giving the end user a optimal technological experience, no flaws and highly efficient. All these characteristics are accomplished by the use of a new open source technology called Interplanetary File System (IPFS), that allow devices to share content between them in a Peer-to-Peer (P2P) topology. This content distribution method saves Internet bandwidth to the end user (i.e., the Vixtape service client) and also enables the devices to work offline in case their Internet connection drops. This will greatly reduce the common problems seen with ads screen, thus giving a better experience to both the audience and the end user. By the end of this document one can see that, adding a distributed topology to the Vixtape platform increased the Internet usage efficiency of the ads devices by always having up-to-date content available. This avoids that a device unnecessarily requests content from any of the other devices that had previously requested it. Additionally, a strategy to target a given audience was employed in order to choose the right ads to play. This further increases the maximum potential consumers the advertisements are shown to
- …