169 research outputs found

    NMFLUX: Improving Degradation Behavior of Server Applications through Dynamic Nursery Resizing

    Get PDF
    Currently, most generational collectors are tuned to either deliver peak performance when the heap is plentiful, but yield unacceptable performance when the heap is tight or maintain good degradation behavior when the heap is tight, but deliver sub-optimal performance when the heap is plentiful. In this paper, we present NMFLUX (continuously varying the Nursery/Mature ratio), a framework that switches between using a fixed-nursery generational collector and a variable-nursery collector to achieve the best of both worlds; i.e. our framework delivers optimal performance under normal workload, and graceful performance degradation under heavy workload. We use this framework to create two generational garbage collectors and evaluate their performances in both desktop and server settings. The experimental results show that our proposed collectors can significantly improve the throughput degradation behavior of large servers while maintaining similar peak performance to the optimally configured fixed-ratio collector

    Intergenerational effects of violence on women's perinatal wellbeing and infant health outcomes: evidence from a birth cohort study in Central Vietnam.

    Get PDF
    BACKGROUND: Girls exposed to violence have a high risk of being victimized as adults and are more likely than non-abused women to have children who are treated violently. This intergenerational transmission may be especially serious when women suffer violence during pregnancy and early motherhood, as it impairs maternal wellbeing and infant health and development. This study examined the intergenerational effects of being exposed to childhood maltreatment (CM) and prenatal intimate partner violence (p-IPV) on perinatal mental distress and birth outcomes in central Vietnam. METHODS: A birth cohort study in Hue City, Vietnam was conducted with 150 women in the third trimester of pregnancy (Wave 1) and 3 months after childbirth (Wave 2). Using multivariable logistic regression models, augmented inverse-probability-weighted estimators and structural equation modelling (SEM), we analyzed a theoretical model by evaluating adjusted risk differences and pathways between CM, p-IPV and subsequent perinatal adversity and indicators of infant health problems. RESULTS: One in two pregnant women experienced at least one form of CM (55.03%) and one in ten pregnant women experienced both CM and p-IPV (10.67%). Mothers who experienced p-IPV or witnessed IPV as a child were approximately twice as likely to experience poor mental health during pregnancy [ARR 1.94, 95% CI (1.20-3.15)]. Infants had a two-fold higher risk of adverse birth outcomes (low birth weight, preterm birth, admission to neonatal intensive care) [ARR 2.45 95% CI (1.42, 4.25)] if their mothers experienced any form of p-IPV, with greater risk if their mothers were exposed to both CM and p-IPV [ARR 3.45 95% CI (1.40, 8.53)]. Notably, significant pathways to p-IPV were found via adverse childhood experience (ACE) events (β = 0.13), neighborhood disorder (β = 0.14) and partner support (β = - 1.3). CONCLUSION: These results emphasize the detrimental and prolonged nature of the effect of violence during childhood and pregnancy. Exposure to childhood maltreatment and violence during pregnancy increases the risk of maternal mental health difficulties and adverse birth outcomes. Antenatal care systems need to be responsive to women's previous experiences of violence and maternal mental health. The significant protective role of partner support and social support should also be considered when designing tailored interventions to address violence during pregnancy

    Towards an embedded real-time Java virtual machine

    Get PDF
    Most computers today are embedded, i.e. they are built into some products or system that is not perceived as a computer. It is highly desirable to use modern safe object-oriented software techniques for a rapid development of reliable systems. However, languages and run-time platforms for embedded systems have not kept up with the front line of language development. Reasons include complex and, in some cases, contradictory requirements on timing, concurrency, predictability, safety, and flexibility. A carefully tailored Java virtual machine (called IVM) is proposed as an approach to overcome these difficulties. In particular, real-time garbage collection has been considered an essential part. The set of bytecodes has been revised to require less memory and to facilitate predictable execution. To further reduce the memory footprint, the class loader can be located outside the embedded processor. Since the accomplished concurrency is crucial for the function of many embedded applications, the scheduling can be defined on the application level in Java. Finally considering future needs for flexibility and on-line configuration of embedded system, the IVM has a unique structure with which, for instance, methods being objects that can be replaced and GCed. The approach has been experimentally verified by a full prototype implementation of such a virtual machine. By making the prototype available for development of real products, this in turn has confronted the solutions with real industrial demands. It was found that the IVM can be easily integrated in typical systems today and the mentioned requirements are fulfilled. Based on experiences from more than 10 projects utilising the novel Java-oriented techniques, there are reasons to believe that the proposed approach is very promising for future flexible embedded systems

    Hybrid eager and lazy evaluation for efficient compilation of Haskell

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2002.Includes bibliographical references (p. 208-220).This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.The advantage of a non-strict, purely functional language such as Haskell lies in its clean equational semantics. However, lazy implementations of Haskell fall short: they cannot express tail recursion gracefully without annotation. We describe resource-bounded hybrid evaluation, a mixture of strict and lazy evaluation, and its realization in Eager Haskell. From the programmer's perspective, Eager Haskell is simply another implementation of Haskell with the same clean equational semantics. Iteration can be expressed using tail recursion, without the need to resort to program annotations. Under hybrid evaluation, computations are ordinarily executed in program order just as in a strict functional language. When particular stack, heap, or time bounds are exceeded, suspensions are generated for all outstanding computations. These suspensions are re-started in a demand-driven fashion from the root. The Eager Haskell compiler translates Ac, the compiler's intermediate representation, to efficient C code. We use an equational semantics for Ac to develop simple correctness proofs for program transformations, and connect actions in the run-time system to steps in the hybrid evaluation strategy.(cont.) The focus of compilation is efficiency in the common case of straight-line execution; the handling of non-strictness and suspension are left to the run-time system. Several additional contributions have resulted from the implementation of hybrid evaluation. Eager Haskell is the first eager compiler to use a call stack. Our generational garbage collector uses this stack as an additional predictor of object lifetime. Objects above a stack watermark are assumed to be likely to die; we avoid promoting them. Those below are likely to remain untouched and therefore are good candidates for promotion. To avoid eagerly evaluating error checks, they are compiled into special bottom thunks, which are treated specially by the run-time system. The compiler identifies error handling code using a mixture of strictness and type information. This information is also used to avoid inlining error handlers, and to enable aggressive program transformation in the presence of error handling.by Jan-Willem Maessen.Ph.D

    2021 - The Second Annual Fall Symposium of Student Scholars

    Get PDF
    The full program book from the Fall 2020 Symposium of Student Scholars, held on November 18, 2021. Includes abstracts from the presentations and posters.https://digitalcommons.kennesaw.edu/sssprograms/1024/thumbnail.jp
    • …
    corecore