37 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

    Object co-location and memory reuse for Java programs

    Get PDF
    postprin

    Characterizing the evolution of statically-detectable performance issues of Android apps

    Get PDF
    Mobile apps are playing a major role in our everyday life, and they are tending to become more and more complex and resource demanding. Because of that, performance issues may occur, disrupting the user experience or, even worse, preventing an effective use of the app. Ultimately, such problems can cause bad reviews and influence the app success. Developers deal with performance issues thorough dynamic analysis, i.e., performance testing and profiler tools, albeit static analysis tools can be a valid, relatively inexpensive complement for the early detection of some such issues. This paper empirically investigates how potential performance issues identified by a popular static analysis tool — Android Lint — are actually resolved in 316 open source Android apps among 724 apps we analyzed. More specifically, the study traces the issues detected by Android Lint since their introduction until they resolved, with the aim of studying (i) the overall evolution of performance issues in apps, (ii) the proportion of issues being resolved, as well as (iii) the distribution of their survival time, and (iv) the extent to which issue resolution are documented by developers in commit messages. Results indicate how some issues, especially related to the lack of resource recycle, tend to be more frequent than others. Also, while some issues, primarily of algorithmic nature, tend to be resolved quickly through well-known patterns, others tend to stay in the app longer, or not to be resolved at all. Finally, we found how only 10% of the issue resolution is documented in commit messages

    Ohjelmistojen ajonaikainen paisuminen: Syyt, seuraukset sekÀ ratkaisut

    Get PDF
    TÀmÀ työ kÀsittelee ajonaikaista paisumista. Työn tarkoituksena on tutkia mitkÀ seikat aiheuttavat ajonaikaista paisumista, mitkÀ ovat sen vaikutukset sekÀ tutkia joitakin ratkaisuja ajonaikaiseen paisumiseen. Se pyrkii esittelemÀÀn lukijalleen mitÀ tarkoitetaan ajonaikaisella paisumisella, kuinka vakavia ovat sen vaikutukset sekÀ miten paisumista voidaan vÀlttÀÀ sekÀ poistaa. Ajonaikaista paisumista aiheuttavat monet tekijÀt nykyaikaisessa ohjelmistokehityksessÀ. Nopeat sekÀ ketterÀt kehityssuunnat ohjelmistokehityksessÀ, kuten koodin uudelleenkÀyttö sekÀ suurien kirjastojen implementaatio, voivat aiheuttaa vakavaa ajonaikaista paisumista ohjelmistoissa. TÀmÀ paisuminen voi aiheuttaa ohjelmiston epÀtehokkuutta sekÀ epÀvakautta. Nopeasta ja ketterÀstÀ kehityksestÀ ei olla luopumassa, mutta jonkinlaisia ratkaisuja olisi hyvÀ löytÀÀ. Tarjolla on kuitenkin monia tekniikoita, joita voidaan ottaa kÀyttöön ohjelmistokehityksen aikana, joilla voidaan ajonaikaista paisumista vÀhentÀÀ. NÀmÀ tekniikat voivat olla hyvin ihmislÀhtöistÀ koulutusta, jota tarjotaan ohjelmistokehittÀjille, jotta he olisivat tietoisia paisumisen ongelmista. Tekniikat voivat myös olla tÀysin automatisoituja apu-ohjelmistoja, jotka ilmoittavat kehittÀjille, jos heidÀn ohjelmistossaan on paisumis-ongelma

    A pluriverse of local worlds: A review of Computing within Limits related terminology and practices

    Get PDF
    Green capitalism is shaping public discourse on how to best deal with the climate crisis, yet doesn’t challenge the ‘business as usual’ of free market capitalism that caused the crisis in the first place. Small scale practices challenging ’business as usual’ aren’t part of public discourse because they are small scale, less visible, often hard to access, easily appropriated by and seemingly unable to compete with the powerful lobby of large corporations. With Big Tech having an increasingly negative impact on the environment, and simultaneously shaping the discourse on how to best tackle the climate crisis, it is important to give voice and visibility to these alternatives. There is a rich diversity of practices and views on how network infrastructures’ impact could be lowered. This study aims to make them visible through a mapping of the different terms currently in circulation used by communities of practice, with the aim of teasing out the diverse thinking informing the infrastructures that are developed, maintained and repaired. The mapping will be based on a review of relevant literature and the results from a survey conducted on Mastodon, an open source decentralized social network with a user base that includes many developers and activists working on sustainability and social justice in relation to computing. The mapping aims to celebrate differences and also show what common ground this pluriverse of small scale community practices share

    Alfalfa for a sustainable ovine farming system: Proposed research for a new feeding strategy based on alfalfa and ecological leftovers in drought conditions

    Get PDF
    In the past 10 years, the average demand for meat and milk across the world has significantly increased, especially in developing countries. Therefore, to support the production of animal-derived food products, a huge quantity of feed resources is needed. This paper does not present original research, but rather provides a conceptual strategy to improve primary production in a sustainable way, in relation to forthcoming issues linked to climate change. Increases in meat and milk production could be achieved by formulating balanced diets for ovines based on alfalfa integrated with local agricultural by-products. As the central component of the diet is alfalfa, one goal of the project is increasing the yield of alfalfa in a sustainable way via inoculating seeds with symbiotic rhizobia (i.e., Sinorhizobium meliloti). Seed inoculants are already present on the market but have not been optimized for arid soils. Furthermore, a part of the project is focused on the selection of elite symbiotic strains that show increased resistance to salt stress and competitiveness. The second component of the experimental diets is bio-waste, especially that obtained from olive oil manufacturing (i.e., pomace). The addition of agro-by-products allows us to use such waste as a resource for animal feeding, and possibly, to modulate rumen metabolism, thereby increasing the nutritional quality of milk and meat

    Tuning the Computational Effort: An Adaptive Accuracy-aware Approach Across System Layers

    Get PDF
    This thesis introduces a novel methodology to realize accuracy-aware systems, which will help designers integrate accuracy awareness into their systems. It proposes an adaptive accuracy-aware approach across system layers that addresses current challenges in that domain, combining and tuning accuracy-aware methods on different system layers. To widen the scope of accuracy-aware computing including approximate computing for other domains, this thesis presents innovative accuracy-aware methods and techniques for different system layers. The required tuning of the accuracy-aware methods is integrated into a configuration layer that tunes the available knobs of the accuracy-aware methods integrated into a system
    corecore