382 research outputs found

    The economics of garbage collection

    Get PDF
    This paper argues that economic theory can improve our understanding of memory management. We introduce the allocation curve, as an analogue of the demand curve from microeconomics. An allocation curve for a program characterises how the amount of garbage collection activity required during its execution varies in relation to the heap size associated with that program. The standard treatment of microeconomic demand curves (shifts and elasticity) can be applied directly and intuitively to our new allocation curves. As an application of this new theory, we show how allocation elasticity can be used to control the heap growth rate for variable sized heaps in Jikes RVM

    Beltway: Getting Around Garbage Collection Gridlock

    Get PDF
    We present the design and implementation of a new garbage collection framework that significantly generalizes existing copying collectors. The Beltway framework exploits and separates object age and incrementality. It groups objects in one or more increments on queues called belts, collects belts independently, and collects increments on a belt in first-in-first-out order. We show that Beltway configurations, selected by command line options, act and perform the same as semi-space, generational, and older-first collectors, and encompass all previous copying collectors of which we are aware. The increasing reliance on garbage collected languages such as Java requires that the collector perform well. We show that the generality of Beltway enables us to design and implement new collectors that are robust to variations in heap size and improve total execution time over the best generational copying collectors of which we are aware by up to 40%, and on average by 5 to 10%, for small to moderate heap sizes. New garbage collection algorithms are rare, and yet we define not just one, but a new family of collectors that subsumes previous work. This generality enables us to explore a larger design space and build better collectors

    Efficient Management of Short-Lived Data

    Full text link
    Motivated by the increasing prominence of loosely-coupled systems, such as mobile and sensor networks, which are characterised by intermittent connectivity and volatile data, we study the tagging of data with so-called expiration times. More specifically, when data are inserted into a database, they may be tagged with time values indicating when they expire, i.e., when they are regarded as stale or invalid and thus are no longer considered part of the database. In a number of applications, expiration times are known and can be assigned at insertion time. We present data structures and algorithms for online management of data tagged with expiration times. The algorithms are based on fully functional, persistent treaps, which are a combination of binary search trees with respect to a primary attribute and heaps with respect to a secondary attribute. The primary attribute implements primary keys, and the secondary attribute stores expiration times in a minimum heap, thus keeping a priority queue of tuples to expire. A detailed and comprehensive experimental study demonstrates the well-behavedness and scalability of the approach as well as its efficiency with respect to a number of competitors.Comment: switched to TimeCenter latex styl

    Performance of a hierarchical distributed garbage collection algorithm in ActorFoundry

    Get PDF
    Automatic garbage collection is an essential feature so that programs can reclaim resources without the need for manual input. This feature is present in many modern languages and is a common subject of research. However, in parallel and distributed environments, programmer-controlled resource reclamation is highly error-prone. As the scale of programs increase, automatic garbage collection is of paramount importance for efficient and error-free execution. Garbage collection in the context of actor systems is especially difficult because actors are active objects and may not be garbage even if there are no references to it. An additional difficulty is to perform garbage collection on active objects without halting the current computation. This thesis implements one of the proposed algorithms which can solve the problem of garbage collection in distributed actor systems. This study also explores how parameters in this algorithm along with how the topology of an actor system affect the garbage collection. This was implemented on an existing actor framework in order to highlight key factors in the algorithm's performance. The design details and insights gained from the results of these tests are then discussed

    Deterritorializing the Future

    Get PDF
    Understanding how pasts resource presents is a fundamental first step towards building alternative futures in the Anthropocene. This collection brings together scholars from a range of disciplines to explore concepts of care, vulnerability, time, extinction, loss and inheritance across more-than-human worlds, connecting contemporary developments in the posthumanities with the field of critical heritage studies. Drawing on contributions from archaeology, anthropology, critical heritage studies, gender studies, geography, histories of science, media studies, philosophy, and science and technology studies, the book aims to place concepts of heritage at the centre of discussions of the Anthropocene and its associated climate and extinction crises – not as a nostalgic longing for how things were, but as a means of expanding collective imaginations and thinking critically and speculatively about the future and its alternatives. Contributors: Christina Fredengren, Cecilia Åsberg, Anna Bohlin, Adrian Van Allen, Esther Breithoff, Rodney Harrison, Colin Sterling, Joanna Zylinska, Denis Byrne, J. Kelechi Ugwuanyi, Caitlin DeSilvey, Anatolijs Venovcevs, Anna Storm and Claire Colebrook

    Deterritorializing the Future

    Get PDF
    Understanding how pasts resource presents is a fundamental first step towards building alternative futures in the Anthropocene. This collection brings together scholars from a range of disciplines to explore concepts of care, vulnerability, time, extinction, loss and inheritance across more-than-human worlds, connecting contemporary developments in the posthumanities with the field of critical heritage studies. Drawing on contributions from archaeology, anthropology, critical heritage studies, gender studies, geography, histories of science, media studies, philosophy, and science and technology studies, the book aims to place concepts of heritage at the centre of discussions of the Anthropocene and its associated climate and extinction crises – not as a nostalgic longing for how things were, but as a means of expanding collective imaginations and thinking critically and speculatively about the future and its alternatives. Contributors: Christina Fredengren, Cecilia Åsberg, Anna Bohlin, Adrian Van Allen, Esther Breithoff, Rodney Harrison, Colin Sterling, Joanna Zylinska, Denis Byrne, J. Kelechi Ugwuanyi, Caitlin DeSilvey, Anatolijs Venovcevs, Anna Storm and Claire Colebrook

    Toxic Timescapes: Examining Toxicity across Time and Space

    Get PDF
    An interdisciplinary environmental humanities volume that explores human-environment relationships on our permanently polluted planet. While toxicity and pollution are ever present in modern daily life, politicians, juridical systems, media outlets, scholars, and the public alike show great difficulty in detecting, defining, monitoring, or generally coming to terms with them. This volume’s contributors argue that the source of this difficulty lies in the struggle to make sense of the intersecting temporal and spatial scales working on the human and more-than-human body, while continuing to acknowledge race, class, and gender in terms of global environmental justice and social inequality. The term toxic timescapes refers to this intricate intersectionality of time, space, and bodies in relation to toxic exposure. As a tool of analysis, it unpacks linear understandings of time and explores how harmful substances permeate temporal and physical space as both event and process. It equips scholars with new ways of creating data and conceptualizing the past, present, and future presence and possible effects of harmful substances and provides a theoretical framework for new environmental narratives. To think in terms of toxic timescapes is to radically shift our understanding of toxicants in the complex web of life. Toxicity, pollution, and modes of exposure are never static; therefore, dose, timing, velocity, mixture, frequency, and chronology matter as much as the geographic location and societal position of those exposed. Together, these factors create a specific toxic timescape that lies at the heart of each contributor’s narrative. Contributors from the disciplines of history, human geography, science and technology studies, philosophy, and political ecology come together to demonstrate the complex reality of a toxic existence. Their case studies span the globe as they observe the intersection of multiple times and spaces at such diverse locations as former battlefields in Vietnam, aging nuclear-weapon storage facilities in Greenland, waste deposits in southern Italy, chemical facilities along the Gulf of Mexico, and coral-breeding laboratories across the world.https://ohioopen.library.ohio.edu/oupress/1014/thumbnail.jp

    Muistin siivous

    Get PDF
    Tutkielmassa esitellään roskan käsite tietojenkäsittelytieteessä, roskienkeruun keskeiset käsitteet ja perusmenetelmät muunnelmineen sekä nykyaikaiset tehokkaat algoritmit. Keskipisteenä ovat kuitenkin muistinhallintatutkimuksen 2000-luvun saavutukset, tutkimusaiheet ja tutkimusvälineet. Näitä hyödyntää tutkielmassa esiteltävä uusi CBRC-roskienkeruualgoritmi. Lisäksi katsastetaan ohjelmoijan vastuu automaattisessa muistinhallinnassa sekä ohjelmoinnissa käytettävissä olevat roskienkeruutietoiset välineet eräissä ohjelmointikielissä ja –ympäristöissä (Java, .Net, C++). Avainsanat ja -sanonnat: roskienkeruu, muistinsiivous, muistinhallinta, algoritmit, ohjelmointikielet CR-luokat: D 3.4, D.4.2, D.3.
    corecore