Hybrid Real-Time Operating System for Resource-Constraint Wireless Sensor Nodes

Total Page:16

File Type:pdf, Size:1020Kb

Hybrid Real-Time Operating System for Resource-Constraint Wireless Sensor Nodes JOURNAL OF SOFTWARE, VOL. 9, NO. 7, JULY 2014 1767 Hybrid Real-time Operating System for Resource-constraint Wireless Sensor Nodes 1,2Xing Liu, 2*corresponding author Kun Mean Hou, 2Christophe de Vaulx, 1Chengcheng Guo, 2Hongling Shi, 2Bin Tian 1Laboratory of Internet and Information Technology, Wuhan University, Wuhan, China Email: [email protected] 2LIMOS Laboratory UMR 6158 CNRS, Blaise Pascal University, Clermont-Ferrand, France Email: {liu, kun-mean.hou, devaulx, shi}@isima.fr Abstract—Wireless sensor network (WSN) has been used in consumption. Secondly, the real-time response is required widespread domains, and the real-time response is required by many WSN applications, such as the engine control by many WSN applications. However, due to the memory process in the industrial system, the heart pacemakers resources limitation on the sensor nodes, the current WSN monitoring in the medical system, etc. However, the OSs such as TinyOS, Contiki, SOS, mantisOS, etc., are not real-time ones. To achieve the objective of designing a real- current popular WSN OSs, such as TinyOS, Contiki, etc., time OS with low memory resource consumption, a new cannot support the real-time reaction well. Thirdly, the WSN OS named HEROS is developed and presented in this WSN application development process is complicated for paper. For HEROS, it adopts a hybrid scheduling strategy. the users since the underlying WSN hardware and Both the event-driven and multithreading schedulers are software platforms are diverse [6]. implemented in parallel, and these two schedulers can Up to now, several WSN OSs have been developed, switch to each other when necessary. By this means, such as TinyOS [7], Contiki [8], SOS [9], MantisOS [10], HEROS take advantages of both the event-driven system's BitCloud OS [11], LIMOS [12], uCOS [13], AVRX [14], low memory resource consumption as well as etc. However, these OSs cannot address the above multithreading system's high real-time performance. Besides these, HEROS uncouples the applications from the challenges well. On one hand, most of these OS [7-9, 11, underlying systems by using the pre-linked mechanism 12] are the event-driven scheduling OSs. For these OSs, (PLM). With this mechanism, a user-friendly development the advantage is the memory resource consumption is low, environment can be provided to the WSN users. Finally, to whereas the real-time performance is poor as the evaluate the performance of HEROS, it is compared with preemption cannot be supported. For the other OSs such some other WSN OSs on the iLive platform (8-bit AVR as [10, 13, 14], the multithreading scheduling model is microcontroller). The final experimental and evaluation used. With the multithreading scheduler, the preemption results prove that HEROS is a memory resources efficient, can be achieved by the thread switch. Consequently, real-time supported and user-friendly OS, and can be used these OSs have the real-time performance better than the on most resource-constrained sensor nodes to support the diverse kinds of WSN applications. event-driven ones. Nevertheless, the memory resource consumption of these OSs is relatively high as each Index Terms— operating system, real-time , hybrid, wireless thread needs to have its own run-time stacks. Thus, how sensor network to achieve an OS which has good real-time performance as well as consumes less memory resources become I. INTRODUCTION AND BACKGROUAND essential for the current WSN OSs. On the other hand, the monolithic system architecture is used in many current Wireless sensor nodes (WSN) have been used in WSN OSs [10-13]. For these OSs, the applications are widespread domains ranging from the precise agriculture not uncoupled from the systems, thus it is difficult for the to the military surveillance [1-4]. And for the software WSN users to develop the applications as they are development on sensor nodes, the operating system (OS) required to understand the low-level system details. For is one of the key technologies. This is because an [7-9], the applications can be separated from the systems outstanding OS can not only manage the platform either by the virtual machines (VMs) [7, 15, 16, 17] or by resources well, but also provide good services for the the dynamic linking mechanisms (DLM) [18, 8, 9]. Yet, WSN applications. they are still not sound. Because for [7], the applications Currently, several challenges exist for the WSN OS should be programmed by using the non-popular byte development. Firstly, the WSN platform resources are code instructions directly. And for [8, 9], the memory constrained [5]. Most sensor nodes are small size and low resource consumption of the DLM is high and the code price ones with limited memory resources, e.g., the loading process in DLM is also complicated. Due to these sensor nodes equipped with the AVR ATmega1281 reasons, the design and implementation of a new WSN microcontroller has only 8 kilobytes RAM. Therefore, a OS becomes essential. good WSN OS should have low memory resources © 2014 ACADEMY PUBLISHER doi:10.4304/jsw.9.7.1767-1780 1768 JOURNAL OF SOFTWARE, VOL. 9, NO. 7, JULY 2014 In this paper, a hybrid real-time OS HEROS is means of the thread switch, the real-time performance in developed to address the challenges above. The key multithreading systems can be better than that in the features of HEROS include the following aspects: Firstly, event-driven systems. However, the memory resource it adopts a hybrid scheduling mechanism. Both the event- consumption is also higher if compared with that in the driven and multithreading schedulers are implemented. event-driven one [19]. In Table I, a comparison between Event-driven is used to dispatch the non real-time events the event-driven and the multi-threading OS is shown. while the multithreading scheduler is used to dispatch the Besides the pure event-driven and multithreading OSs, real-time events. Secondly, it implements a dynamic some current OSs have implemented both the event- memory allocator which avoids some drawbacks of the driven and multithreading schedulers in the system, such allocator in the current WSN OSs. By means of the as the TinyOS [7], Contiki [8] and LIMOS [12]. However, dynamic memory allocator as well as the hybrid the multithreading scheduler in these OSs is implemented scheduler, HEROS can react to the time-critical events as an optional library upon the event-driven scheduler with low memory resources consumption. Thirdly, the (presented in detail in the related work in the section XI). applications in HEROS are uncoupled from the systems Therefore, these OSs [7,8,12] are not native hybrid by using the pre-linked mechanism (PLM). This system, but still event-driven system in the native mechanism has been proved to be resources efficient. scheduling layer. With it, the user application development process can be simplified. TABLE I. COMPARISON BETWEEN EVENT-DRIVEN OS AND MULTITHREADING OS The main structure of this paper is as follows: In section IV, the hybrid HEROS scheduler is presented. In Features Event-driven OS Multithreading OS section V, two kinds of HEROS dynamic memory Scheduling All event handlers All handlers run allocators are discussed. In section VI, the Manner execute one by one concurrently implementation of the software timers is introduced. In Supported, thus the section VII, the HEROS PLM is designed and Preemption Not enable overhead of stack switch exists implemented. From section VIII to XI, a new OS debug Real-time Cannot be Can be well supported method, the related work, the performance evaluation, the response supported well by thread preemption All handlers share Each thread should have conclusion and ongoing work are presented respectively. Stacks one global stack its own private stack Shared among all Computation Divided among all II. BACKGROUND OF WSN OSS handlers in a Resources threads by thread switch In terms of the scheduling policy, the WSN OSs can be cooperative way classified into two types: the event-driven OSs and the multithreading OSs. In the past research work, there exist III. SYSTEM ARCHITECTURE OF HEROS some debates and discussions about these two types of The basic terms in HEROS include the event, event OSs [19-23]. handler and the system process. A. Event-driven WSN OSs Event: Event is a system signal which indicates that the condition to take some system action has been satisfied. SOS and Bitcloud OS are all pure event-driven OSs. In An event can be generated by a key pressing, a wireless these OSs, a set of event handlers are defined, each packet reception, an expired system timer, etc. In HEROS, handler is related to an event. Once an event is triggered, events are classified into three types in terms of their the related handler will be invoked. Each handler runs to emergence: the common events, the hard real-time events completion with respect to each other. The interruption is and the soft real-time ones. enabled during a handler's executing process, but the Common events are the ones which don’t have a strict preemption from one handler to another is not allowed. requirement to the response time, e.g., in the garden Since all the handlers are executed one by one, only one caring applications, when the humidity value of the soil stack is needed and be shared by all the handlers. Thus, decreases to a given level, an event should be triggered to the memory consumption of event-driven system is low. request the operation of opening the hydro valve to water However, the real-time performance cannot be well the flowers. In this case, this event is a common one supported, e.g., after a time-critical event is triggered, it because the response delay of even tens of seconds to it cannot be executed immediately by preempting the can still be accepted.
Recommended publications
  • An OSEK/VDX-Based Multi-JVM for Automotive Appliances
    AN OSEK/VDX-BASED MULTI-JVM FOR AUTOMOTIVE APPLIANCES Christian Wawersich, Michael Stilkerich, Wolfgang Schr¨oder-Preikschat University of Erlangen-Nuremberg Distributed Systems and Operating Systems Erlangen, Germany E-Mail: [email protected], [email protected], [email protected] Abstract: The automotive industry has recent ambitions to integrate multiple applications from different micro controllers on a single, more powerful micro controller. The outcome of this integration process is the loss of the physical isolation and a more complex monolithic software. Memory protection mechanisms need to be provided that allow for a safe co-existence of heterogeneous software from different vendors on the same hardware, in order to prevent the spreading of an error to the other applications on the controller and leaving an unclear responsi- bility situation. With our prototype system KESO, we present a Java-based solution for ro- bust and safe embedded real-time systems that does not require any hardware protection mechanisms. Based on an OSEK/VDX operating system, we offer a familiar system creation process to developers of embedded software and also provide the key benefits of Java to the embedded world. To the best of our knowledge, we present the first Multi-JVM for OSEK/VDX operating systems. We report on our experiences in integrating Java and an em- bedded operating system with focus on the footprint and the real-time capabili- ties of the system. Keywords: Java, Embedded Real-Time Systems, Automotive, Isolation, KESO 1. INTRODUCTION Modern cars contain a multitude of micro controllers for a wide area of tasks, ranging from convenience features such as the supervision of the car’s audio system to safety relevant functions such as assisting the braking system of the car.
    [Show full text]
  • A Post-Apocalyptic Sun.Misc.Unsafe World
    A Post-Apocalyptic sun.misc.Unsafe World http://www.superbwallpapers.com/fantasy/post-apocalyptic-tower-bridge-london-26546/ Chris Engelbert Twitter: @noctarius2k Jatumba! 2014, 2015, 2016, … Disclaimer This talk is not going to be negative! Disclaimer But certain things are highly speculative and APIs or ideas might change by tomorrow! sun.misc.Scissors http://www.underwhelmedcomic.com/wp-content/uploads/2012/03/runningdude.jpg sun.misc.Unsafe - What you (don’t) know sun.misc.Unsafe - What you (don’t) know • Internal class (sun.misc Package) sun.misc.Unsafe - What you (don’t) know • Internal class (sun.misc Package) sun.misc.Unsafe - What you (don’t) know • Internal class (sun.misc Package) • Used inside the JVM / JRE sun.misc.Unsafe - What you (don’t) know • Internal class (sun.misc Package) • Used inside the JVM / JRE // Unsafe mechanics private static final sun.misc.Unsafe U; private static final long QBASE; private static final long QLOCK; private static final int ABASE; private static final int ASHIFT; static { try { U = sun.misc.Unsafe.getUnsafe(); Class<?> k = WorkQueue.class; Class<?> ak = ForkJoinTask[].class; example: QBASE = U.objectFieldOffset (k.getDeclaredField("base")); java.util.concurrent.ForkJoinPool QLOCK = U.objectFieldOffset (k.getDeclaredField("qlock")); ABASE = U.arrayBaseOffset(ak); int scale = U.arrayIndexScale(ak); if ((scale & (scale - 1)) != 0) throw new Error("data type scale not a power of two"); ASHIFT = 31 - Integer.numberOfLeadingZeros(scale); } catch (Exception e) { throw new Error(e); } } } sun.misc.Unsafe
    [Show full text]
  • Secure Control Applications in Smart Homes and Buildings
    Die approbierte Originalversion dieser Dissertation ist in der Hauptbibliothek der Technischen Universität Wien aufgestellt und zugänglich. http://www.ub.tuwien.ac.at The approved original version of this thesis is available at the main library of the Vienna University of Technology. http://www.ub.tuwien.ac.at/eng Secure Control Applications in Smart Homes and Buildings DISSERTATION submitted in partial fulfillment of the requirements for the degree of Doktor der Technischen Wissenschaften by Mag. Dipl.-Ing. Friedrich Praus Registration Number 0025854 to the Faculty of Informatics at the Vienna University of Technology Advisor: Ao.Univ.Prof. Dipl.-Ing. Dr.techn. Wolfgang Kastner The dissertation has been reviewed by: Ao.Univ.Prof. Dipl.-Ing. Prof. Dr. Peter Palensky Dr.techn. Wolfgang Kastner Vienna, 1st October, 2015 Mag. Dipl.-Ing. Friedrich Praus Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärung zur Verfassung der Arbeit Mag. Dipl.-Ing. Friedrich Praus Hallergasse 11/29, A-1110 Wien Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwen- deten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. Wien, 1. Oktober 2015 Friedrich Praus v Kurzfassung Die zunehmende Integration von heterogenen Gebäudeautomationssystemen ermöglicht gesteigerten Komfort, Energieeffizienz, verbessertes Gebäudemanagement, Nachhaltig- keit sowie erweiterte Anwendungsgebiete, wie beispielsweise “Active Assisted Living” Szenarien. Diese Smart Homes und Gebäude sind heutzutage als dezentrale Systeme rea- lisiert, in denen eingebettete Geräte Prozessdaten über ein Netzwerk austauschen.
    [Show full text]
  • Android Cours 1 : Introduction `Aandroid / Android Studio
    Android Cours 1 : Introduction `aAndroid / Android Studio Damien MASSON [email protected] http://www.esiee.fr/~massond 21 f´evrier2017 R´ef´erences https://developer.android.com (Incontournable !) https://openclassrooms.com/courses/ creez-des-applications-pour-android/ Un tutoriel en fran¸caisassez complet et plut^ot`ajour... 2/52 Qu'est-ce qu'Android ? PME am´ericaine,Android Incorporated, cr´e´eeen 2003, rachet´eepar Google en 2005 OS lanc´een 2007 En 2015, Android est le syst`emed'exploitation mobile le plus utilis´edans le monde (>80%) 3/52 Qu'est-ce qu'Android ? Cinq couches distinctes : 1 le noyau Linux avec les pilotes ; 2 des biblioth`equeslogicielles telles que WebKit/Blink, OpenGL ES, SQLite ou FreeType ; 3 un environnement d'ex´ecutionet des biblioth`equespermettant d'ex´ecuterdes programmes pr´evuspour la plate-forme Java ; 4 un framework { kit de d´eveloppement d'applications ; 4/52 Android et la plateforme Java Jusqu'`asa version 4.4, Android comporte une machine virtuelle nomm´eeDalvik Le bytecode de Dalvik est diff´erentde celui de la machine virtuelle Java de Oracle (JVM) le processus de construction d'une application est diff´erent Code Java (.java) ! bytecode Java (.class/.jar) ! bytecode Dalvik (.dex) ! interpr´et´e L'ensemble de la biblioth`equestandard d'Android ressemble `a J2SE (Java Standard Edition) de la plateforme Java. La principale diff´erenceest que les biblioth`equesd'interface graphique AWT et Swing sont remplac´eespar des biblioth`equesd'Android. 5/52 Android Runtime (ART) A` partir de la version 5.0 (2014), l'environnement d'ex´ecution ART (Android RunTime) remplace la machine virtuelle Dalvik.
    [Show full text]
  • The Use of Java in the Context of AUTOSAR 4.0
    The Use of Java in the Context of AUTOSAR 4.0 Expectations and Possibilities Christian Wawersich [email protected] MethodPark Software AG, Germany Isabella Thomm Michael Stilkerich {ithomm,stilkerich}@cs.fau.de Friedrich-Alexander University Erlangen-Nuremberg, Germany ABSTRACT architecture for system functionality and drivers in automo- Modern cars contain a large number of diverse microcon- tive software. It is motivated by the growing complexity of trollers for a wide range of tasks, which imposes high efforts software functionality provided in cars and facilitates the in the integration process of hardware and software. There integration of multiple applications on fewer, more powerful is a paradigm shift from a federated architecture to an inte- microcontrollers. grated architecture with commonly used resources to reduce Standardized, tested software modules as specified by AU- complexity, costs, weight and energy. TOSAR are shown to contain less software bugs. However, AUTOSAR [3] is a system platform that allows the inte- only a part of a complete AUTOSAR compliant software sys- gration of software components (SW-C) and basic software tem is covered by the standard. Applications, ECU specific modules provided by different manufacturers. The system functionality and drivers for microcontroller external devices platform can be tailored in a wide range to efficiently use have to be developed independently for each project. the resources of the individual electronic control unit. In a network of dedicated microcontrollers, the deployed Software modules - mostly written in C or even Assembler software is physically isolated from each other. This isolation - are rarely isolated from each other and have global access is missing among applications running on the same microcon- to the memory, wherefore an error can easily spread among troller, which enables malfunctioning applications to corrupt different software modules.
    [Show full text]
  • Jamaicavm 8.1 — User Manual
    JamaicaVM 8.1 — User Manual Java Technology for Critical Embedded Systems aicas GmbH 2 JamaicaVM 8.1 — User Manual: Java Technology for Critical Embedded Systems JamaicaVM 8.1, Release 1. Published May 31, 2017. c 2001–2017 aicas GmbH, Karlsruhe. All rights reserved. No licenses, expressed or implied, are granted with respect to any of the technology described in this publication. aicas GmbH retains all intellectual property rights associated with the technology described in this publication. This publication is intended to assist application developers to develop applications only for the Jamaica Virtual Machine. Every effort has been made to ensure that the information in this publication is accurate. aicas GmbH is not responsible for printing or clerical errors. Although the information herein is provided with good faith, the supplier gives neither warranty nor guarantee that the information is correct or that the results described are obtainable under end-user conditions. aicas GmbH phone +49 721 663 968-0 Emmy-Noether-Straße 9 fax +49 721 663 968-99 76131 Karlsruhe email [email protected] Germany web http://www.aicas.com aicas incorporated phone +1 203 359 5705 6 Landmark Square, Suite 400 Stamford CT 06901 email [email protected] USA web http://www.aicas.com aicas GmbH phone +33 1 4997 1762 9 Allee de l’Arche fax +33 1 4997 1700 92671 Paris La Defense email [email protected] France web http://www.aicas.com This product includes software developed by IAIK of Graz University of Technology. This software is based in part on the work of the Independent JPEG Group.
    [Show full text]
  • Partner Directory Wind River Partner Program
    PARTNER DIRECTORY WIND RIVER PARTNER PROGRAM The Internet of Things (IoT), cloud computing, and Network Functions Virtualization are but some of the market forces at play today. These forces impact Wind River® customers in markets ranging from aerospace and defense to consumer, networking to automotive, and industrial to medical. The Wind River® edge-to-cloud portfolio of products is ideally suited to address the emerging needs of IoT, from the secure and managed intelligent devices at the edge to the gateway, into the critical network infrastructure, and up into the cloud. Wind River offers cross-architecture support. We are proud to partner with leading companies across various industries to help our mutual customers ease integration challenges; shorten development times; and provide greater functionality to their devices, systems, and networks for building IoT. With more than 200 members and still growing, Wind River has one of the embedded software industry’s largest ecosystems to complement its comprehensive portfolio. Please use this guide as a resource to identify companies that can help with your development across markets. For updates, browse our online Partner Directory. 2 | Partner Program Guide MARKET FOCUS For an alphabetical listing of all members of the *Clavister ..................................................37 Wind River Partner Program, please see the Cloudera ...................................................37 Partner Index on page 139. *Dell ..........................................................45 *EnterpriseWeb
    [Show full text]
  • Actor-Oriented Programming for Resource Constrained Multiprocessor Networks on Chip
    Actor-Oriented Programming for Resource Constrained Multiprocessor Networks on Chip Gary J. Plumbridge PhD University of York Computer Science August 2015 for Ellie Abstract Multiprocessor Networks on Chip (MPNoCs) are an attractive architecture for inte- grated circuits as they can benefit from the improved performance of ever smaller tran- sistors but are not severely constrained by the poor performance of global on-chip wires. As the number of processors increases it becomes ever more expensive to provide co- herent shared memory but this is a foundational assumption of thread-level parallelism. Threaded models of concurrency cannot efficiently address architectures where shared memory is not coherent or does not exist. In this thesis an extended actor oriented programming model is proposed to en- able the design of complex and general purpose software for highly parallel and de- centralised multiprocessor architectures. This model requires the encapsulation of an execution context and state into isolated Machines which may only initiate communica- tion with one another via explicitly named channels. An emphasis on message passing and strong isolation of computation encourages application structures that are congru- ent with the nature of non-shared memory multiprocessors, and the model also avoids creating dependences on specific hardware topologies. A realisation of the model called Machine Java is presented to demonstrate the ap- plicability of the model to a general purpose programming language. Applications designed with this framework are shown to be capable of scaling to large numbers of processors and remain independent of the hardware targets. Through the use of an efficient compilation technique, Machine Java is demonstrated to be portable across sev- eral architectures and viable even in the highly constrained context of an FPGA hosted MPNoC.
    [Show full text]
  • Aplicación Domótica Mediante Arduino Y Programación Android
    Aplicación Domótica mediante Arduino y Programación Android TITULACIÓN: Enginyeria Automàtica i Electrònica Industrial AUTOR: Luis Rolin Almagro DIRECTOR: Albert Oller Pujol FECHA: Junio / 2014. Índice 1. Descripción de proyecto ......................................................................................3 2. Arduino ...............................................................................................................4 2.1. Historia .........................................................................................................4 2.2. Hardware ......................................................................................................6 2.3. Arduino Software .........................................................................................9 2.3.1. Arduino Software ....................................................................................9 2.3.2. Concurrency ...........................................................................................9 2.3.3. DK-Basic ................................................................................................9 2.3.4. NanoVM .................................................................................................9 3.3.5 Amforth ...................................................................................................9 3. Android ............................................................................................................. 11 3.1. Historia ......................................................................................................
    [Show full text]
  • Smart Dynamic Software Components Enabling Decision Support in Machine-To-Machine Networks
    IJCSI International Journal of Computer Science Issues, Vol. 10, Issue 1, No 3, January 2013 ISSN (Print): 1694-0784 | ISSN (Online): 1694-0814 www.IJCSI.org 540 Smart dynamic software components enabling decision support in Machine-to-machine networks Alexander Dannies1*, Javier Palafox-Albarrán1, Walter Lang1 and Reiner Jedermann1 1 Institute for Microsensors, -actuators and -systems, University of Bremen Bremen, Bremen, Germany technologies more ubiquitous, devices have to collect Abstract information from a high number of devices distributed in The future Internet of Things will be extended by machine-to- the environment. For such a detailed supervision CRN are machine communication technologies in order to include sensor rather disadvantageous for the following reasons: information. The overwhelming amount of data will require autonomous decision making processes which are directly Communication costs have to be kept as low as executed at the location where data is generated or measured. An possible. intelligent sensor system needs to be able to adapt to new parameters in its surrounding unknown at the time of deployment. Network protocols have to be optimized for In our paper we show that Java enables software updates on transmission of small packets of sensor data mobile devices and also that it is possible to run algorithms consuming as little energy as possible instead of required for decision making processes on wireless sensor enabling global communication. platforms based on Java. Keywords: Machine-to-Machine communication, Internet of In many applications, such as the monitoring Things, autonomous logistics, Java, dynamic updates, OSGi. inside large buildings or rural regions, the supervised area will not be fully covered by the CRN of an external operator.
    [Show full text]
  • Interrupt Handlers in Java
    Downloaded from orbit.dtu.dk on: Oct 06, 2021 Interrupt Handlers in Java Korsholm, Stephan; Schoeberl, Martin; Ravn, Anders P. Published in: Proceedings of the 11th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2008) Link to article, DOI: 10.1109/ISORC.2008.68 Publication date: 2008 Document Version Early version, also known as pre-print Link back to DTU Orbit Citation (APA): Korsholm, S., Schoeberl, M., & Ravn, A. P. (2008). Interrupt Handlers in Java. In Proceedings of the 11th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2008) (pp. 453-457) https://doi.org/10.1109/ISORC.2008.68 General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Users may download and print one copy of any publication from the public portal for the purpose of private study or research. You may not further distribute the material or use it for any profit-making activity or commercial gain You may freely distribute the URL identifying the publication in the public portal If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Interrupt Handlers in Java Stephan Korsholm Martin Schoeberl Department of Computer Science Institute of Computer Engineering Aalborg University DK-9220 Aalborg Vienna University of Technology, Austria [email protected] [email protected] Anders P.
    [Show full text]
  • Concurrent Compaction Using a Field Pinning Protocol
    Concurrent Compaction using a Field Pinning Protocol Erik Osterlund¨ Welf Lowe¨ Linnaeus University, Sweden Linnaeus University, Sweden [email protected] [email protected] Abstract objects and relocate them, i.e., perform compaction. Then Compaction of memory in long running systems has always the unused memory (garbage) is reclaimed. been important. The latency of compaction increases in to- We distinguish logical objects from their physical mem- day’s systems with high memory demands and large heaps. ory locations referred to as cells; a fragmented heap memory To deal with this problem, we present a lock-free protocol al- region is called from-space, a continuous heap memory re- gion is called to-space.1 lowing for copying concurrent with the application running, 2 which reduces the latencies of compaction radically. It pro- There are two different actors in GC. The garbage col- vides theoretical progress guarantees for copying and appli- lector(s) and the mutator(s). The garbage collector finds live cation threads without making it practically infeasible, with objects by scanning the stacks and globals for references to performance overheads of 15% on average. The algorithm root objects, identifies other live objects by computing the paves the way for a future lock-free Garbage Collector. transitive closure of these roots, and determines the con- demned set of potential objects for relocation. The garbage Categories and Subject Descriptors D.3.4 [Programming collector compacts memory by relocating live objects of the Languages]: Processors—memory management, garbage condemned set: it copies the payload of cells in from-space collection; D.1.3 [Programming Techniques]: Concurrent to cells in to-space and then remaps incoming references, Programming—parallel programming i.e., updates them to refer to the to-space cell.
    [Show full text]