378 research outputs found

    Garbage Collection for Java Distributed Objects

    Get PDF
    We present a distributed garbage collection algorithm for Java distributed objects using the object model provided by the Java Support for Distributed Objects (JSDA) object model and using weak references in Java. The algorithm can also be used for any other Java based distributed object models that use the stub-skeleton paradigm. Furthermore, the solution could also be applied to any language that supports weak references as a mean of interaction with the local garbage collector. We also give a formal definition and a proof of correctness for the proposed algorithm

    Mutable Checkpoint-Restart: Automating Live Update for Generic Server Programs

    Get PDF
    The pressing demand to deploy software updates without stopping running programs has fostered much research on live update systems in the past decades. Prior solutions, however, either make strong assumptions on the nature of the update or require extensive and error-prone manual effort, factors which discourage live update adoption. This paper presents Mutable Checkpoint-Restart (MCR), a new live update solution for generic (multiprocess and multithreaded) server programs written in C. Compared to prior solutions, MCR can support arbitrary software updates and automate most of the common live update operations. The key idea is to allow the new version to restart as similarly to a fresh program initialization as possible, relying on existing code paths to automatically restore the old program threads and reinitialize a relevant portion of the program data structures. To transfer the remaining data structures, MCR relies on a combination of precise and conservative garbage collection techniques to trace all the global pointers and apply the required state transformations on the fly. Experimental results on popular server programs (Apache httpd, nginx, OpenSSH and vsftpd) confirm that our techniques can effectively automate problems previously deemed difficult at the cost of negligible run-time performance overhead (2% on average) and moderate memory overhead (3.9x on average)

    Fast conservative garbage collection

    Full text link

    Sponsored Research Indirect Costs: A Single-Site Case Study of Public Research University STEM Faculty Members’ Perspectives

    Get PDF
    This explanatory case study investigated the phenomenon of one institution’s public research university STEM (science, technology, engineering and mathematics) faculty members’ perspectives on indirect cost recovery from research grant funding. The explanatory scheme incorporated organizational culture, faculty socialization, and political bargaining models in the conceptual framework. The analysis indicated that faculty socialization and organizational culture were the most dominant themes; political bargaining emerged as significantly less prominent. Public research university STEM faculty are most concerned about the survival of their research programs and the discovery facilitated by their research programs; they resort to conjecture regarding the utility of indirect cost recovery. The findings direct institutional administrators to consider less emphasis on compliance and hierarchical authority and focus on greater communication and clarity in budget processes and organizational decision-making when working with expert professionals such as science faculty; for higher education researchers, the findings indicate a need for more sophisticated models to understand organizational dependency on expert professionals

    High Performance Reference Counting and Conservative Garbage Collection

    No full text
    Garbage collection is an integral part of modern programming languages. It automatically reclaims memory occupied by objects that are no longer in use. Garbage collection began in 1960 with two algorithmic branches — tracing and reference counting. Tracing identifies live objects by performing a transitive closure over the object graph starting with the stacks, registers, and global variables as roots. Objects not reached by the trace are implicitly dead, so the collector reclaims them. In contrast, reference counting explicitly identifies dead objects by counting the number of incoming references to each object. When an object’s count goes to zero, it is unreachable and the collector may reclaim it. Garbage collectors require knowledge of every reference to each object, whether the reference is from another object or from within the runtime. The runtime provides this knowledge either by continuously keeping track of every change to each reference or by periodically enumerating all references. The collector implementation faces two broad choices — exact and conservative. In exact garbage collection, the compiler and runtime system precisely identify all references held within the runtime including those held within stacks, registers, and objects. To exactly identify references, the runtime must introspect these references during execution, which requires support from the compiler and significant engineering effort. On the contrary, conservative garbage collection does not require introspection of these references, but instead treats each value ambiguously as a potential reference. Highly engineered, high performance systems conventionally use tracing and exact garbage collection. However, other well-established but less performant systems use either reference counting or conservative garbage collection. Reference counting has some advantages over tracing such as: a) it is easier implement, b) it reclaims memory immediately, and c) it has a local scope of operation. Conservative garbage collection is easier to implement compared to exact garbage collection because it does not require compiler cooperation. Because of these advantages, both reference counting and conservative garbage collection are widely used in practice. Because both suffer significant performance overheads, they are generally not used in performance critical settings. This dissertation carefully examines reference counting and conservative garbage collection to understand their behavior and improve their performance. My thesis is that reference counting and conservative garbage collection can perform as well or better than the best performing garbage collectors. The key contributions of my thesis are: 1) An in-depth analysis of the key design choices for reference counting. 2) Novel optimizations guided by that analysis that significantly improve reference counting performance and make it competitive with a well tuned tracing garbage collector. 3) A new collector, RCImmix, that replaces the traditional free-list heap organization of reference counting with a line and block heap structure, which improves locality, and adds copying to mitigate fragmentation. The result is a collector that outperforms a highly tuned production generational collector. 4) A conservative garbage collector based on RCImmix that matches the performance of a highly tuned production generational collector. Reference counting and conservative garbage collection have lived under the shadow of tracing and exact garbage collection for a long time. My thesis focuses on bringing these somewhat neglected branches of garbage collection back to life in a high performance setting and leads to two very surprising results: 1) a new garbage collector based on reference counting that outperforms a highly tuned production generational tracing collector, and 2) a variant that delivers high performance conservative garbage collection

    Gerçek zamanlı Java’ da büyük nesnelere bellek ayırmak için anahtarlamalı yaklaşım

    Get PDF
    06.03.2018 tarihli ve 30352 sayılı Resmi Gazetede yayımlanan “Yükseköğretim Kanunu İle Bazı Kanun Ve Kanun Hükmünde Kararnamelerde Değişiklik Yapılması Hakkında Kanun” ile 18.06.2018 tarihli “Lisansüstü Tezlerin Elektronik Ortamda Toplanması, Düzenlenmesi ve Erişime Açılmasına İlişkin Yönerge” gereğince tam metin erişime açılmıştır.Son yirmi yılda nesne yönelimli programlama dilleri ve yönetilen çalışma zamanları, yazılım mühendisliği yönünden sağladıkları avantajlardan ötürü oldukça popüler hale geldiler. Ancak birçok uygulama alanındaki bu popülerliklerinin aksine, aynı programlama dilleri ve çalışma zamanları, gerçek zamanlı programlama için uygun görülmediler. Birçok faktörün yanı sıra, bunların gerçek zamanlı sistemlerin geliştirilmesi için kullanılmalarının önündeki bariyerlerden bir tanesi, büyük nesnelere bellek ayırma esnasında karşılaşılma olasılığı olan uzun bekleme zamanlarıdır. Bu tez gerçek zamanlı Java için zamanımıza kadar geliştirilmiş olan farklı büyük nesnelere bellek ayırma çözümlerini inceler ve bu çözümlere alternatif olarak anahtarlamalı yeni bir yaklaşım sunar. Sunulan tekniğin performansının hali hazırda uygulanmış diğer tekniklerle karşılaştırılması amacıyla geliştirilmiş olan sentetik bir kıyaslama uygulaması da bu tezde açıklanmıştır.Over the last twenty years object oriented programming languages and managed runtimes like Java have been very popular because of their software engineering benefits. Despite their popularity in many application areas, they have not been considered suitable for real-time programming. Besides many other factors, one of the barriers that prevent their acceptance in the development of real-time systems is the long pause times that may arise during large object allocation. This thesis examines different kinds of solutions which have been developed so far and introduces a switchable approach to large object allocation in real-time Java. A synthetic benchmark application which is developed to evaluate the effectiveness of the presented technique against other currently implemented techniques is also described

    Gerçek zamanlı Java’ da büyük nesnelere bellek ayırmak için anahtarlamalı yaklaşım

    Get PDF
    06.03.2018 tarihli ve 30352 sayılı Resmi Gazetede yayımlanan “Yükseköğretim Kanunu İle Bazı Kanun Ve Kanun Hükmünde Kararnamelerde Değişiklik Yapılması Hakkında Kanun” ile 18.06.2018 tarihli “Lisansüstü Tezlerin Elektronik Ortamda Toplanması, Düzenlenmesi ve Erişime Açılmasına İlişkin Yönerge” gereğince tam metin erişime açılmıştır.Son yirmi yılda nesne yönelimli programlama dilleri ve yönetilen çalışma zamanları, yazılım mühendisliği yönünden sağladıkları avantajlardan ötürü oldukça popüler hale geldiler. Ancak birçok uygulama alanındaki bu popülerliklerinin aksine, aynı programlama dilleri ve çalışma zamanları, gerçek zamanlı programlama için uygun görülmediler. Birçok faktörün yanı sıra, bunların gerçek zamanlı sistemlerin geliştirilmesi için kullanılmalarının önündeki bariyerlerden bir tanesi, büyük nesnelere bellek ayırma esnasında karşılaşılma olasılığı olan uzun bekleme zamanlarıdır. Bu tez gerçek zamanlı Java için zamanımıza kadar geliştirilmiş olan farklı büyük nesnelere bellek ayırma çözümlerini inceler ve bu çözümlere alternatif olarak anahtarlamalı yeni bir yaklaşım sunar. Sunulan tekniğin performansının hali hazırda uygulanmış diğer tekniklerle karşılaştırılması amacıyla geliştirilmiş olan sentetik bir kıyaslama uygulaması da bu tezde açıklanmıştır.Over the last twenty years object oriented programming languages and managed runtimes like Java have been very popular because of their software engineering benefits. Despite their popularity in many application areas, they have not been considered suitable for real-time programming. Besides many other factors, one of the barriers that prevent their acceptance in the development of real-time systems is the long pause times that may arise during large object allocation. This thesis examines different kinds of solutions which have been developed so far and introduces a switchable approach to large object allocation in real-time Java. A synthetic benchmark application which is developed to evaluate the effectiveness of the presented technique against other currently implemented techniques is also described

    Guidelines and Methods for Conducting Porperty Transfer Site Histories

    Get PDF
    HWRIC Project 90-077NTIS PB91-10508

    Error handling in multimodal voice-enabled interfaces of tour-guide robots using graphical models

    Get PDF
    Mobile service robots are going to play an increasing role in the society of humans. Voice-enabled interaction with service robots becomes very important, if such robots are to be deployed in real-world environments and accepted by the vast majority of potential human users. The research presented in this thesis addresses the problem of speech recognition integration in an interactive voice-enabled interface of a service robot, in particular a tour-guide robot. The task of a tour-guide robot is to engage visitors to mass exhibitions (users) in dialogue providing the services it is designed for (e.g. exhibit presentations) within a limited time. In managing tour-guide dialogues, extracting the user goal (intention) for requesting a particular service at each dialogue state is the key issue. In mass exhibition conditions speech recognition errors are inevitable because of noisy speech and uncooperative users of robots with no prior experience in robotics. They can jeopardize the user goal identification. Wrongly identified user goals can lead to communication failures. Therefore, to reduce the risk of such failures, methods for detecting and compensating for communication failures in human-robot dialogue are needed. During the short-term interaction with visitors, the interpretation of the user goal at each dialogue state can be improved by combining speech recognition in the speech modality with information from other available robot modalities. The methods presented in this thesis exploit probabilistic models for fusing information from speech and auxiliary modalities of the robot for user goal identification and communication failure detection. To compensate for the detected communication failures we investigate multimodal methods for recovery from communication failures. To model the process of modality fusion, taking into account the uncertainties in the information extracted from each input modality during human-robot interaction, we use the probabilistic framework of Bayesian networks. Bayesian networks are graphical models that represent a joint probability function over a set of random variables. They are used to model the dependencies among variables associated with the user goals, modality related events (e.g. the event of user presence that is inferred from the laser scanner modality of the robot), and observed modality features providing evidence in favor of these modality events. Bayesian networks are used to calculate posterior probabilities over the possible user goals at each dialogue state. These probabilities serve as a base in deciding if the user goal is valid, i.e. if it can be mapped into a tour-guide service (e.g. exhibit presentation) or is undefined – signaling a possible communication failure. The Bayesian network can be also used to elicit probabilities over the modality events revealing information about the possible cause for a communication failure. Introducing new user goal aspects (e.g. new modality events and related features) that provide auxiliary information for detecting communication failures makes the design process cumbersome, calling for a systematic approach in the Bayesian network modelling. Generally, introducing new variables for user goal identification in the Bayesian networks can lead to complex and computationally expensive models. In order to make the design process more systematic and modular, we adapt principles from the theory of grounding in human communication. When people communicate, they resolve understanding problems in a collaborative joint effort of providing evidence of common shared knowledge (grounding). We use Bayesian network topologies, tailored to limited computational resources, to model a state-based grounding model fusing information from three different input modalities (laser, video and speech) to infer possible grounding states. These grounding states are associated with modality events showing if the user is present in range for communication, if the user is attending to the interaction, whether the speech modality is reliable, and if the user goal is valid. The state-based grounding model is used to compute probabilities that intermediary grounding states have been reached. This serves as a base for detecting if the the user has reached the final grounding state, or wether a repair dialogue sequence is needed. In the case of a repair dialogue sequence, the tour-guide robot can exploit the multiple available modalities along with speech. For example, if the user has failed to reach the grounding state related to her/his presence in range for communication, the robot can use its move modality to search and attract the attention of the visitors. In the case when speech recognition is detected to be unreliable, the robot can offer the alternative use of the buttons modality in the repair sequence. Given the probability of each grounding state, and the dialogue sequence that can be executed in the next dialogue state, a tour-guide robot has different preferences on the possible dialogue continuation. If the possible dialogue sequences at each dialogue state are defined as actions, the introduced principle of maximum expected utility (MEU) provides an explicit way of action selection, based on the action utility, given the evidence about the user goal at each dialogue state. Decision networks, constructed as graphical models based on Bayesian networks are proposed to perform MEU-based decisions, incorporating the utility of the actions to be chosen at each dialogue state by the tour-guide robot. These action utilities are defined taking into account the tour-guide task requirements. The proposed graphical models for user goal identification and dialogue error handling in human-robot dialogue are evaluated in experiments with multimodal data. These data were collected during the operation of the tour-guide robot RoboX at the Autonomous System Lab of EPFL and at the Swiss National Exhibition in 2002 (Expo.02). The evaluation experiments use component and system level metrics for technical (objective) and user-based (subjective) evaluation. On the component level, the technical evaluation is done by calculating accuracies, as objective measures of the performance of the grounding model, and the resulting performance of the user goal identification in dialogue. The benefit of the proposed error handling framework is demonstrated comparing the accuracy of a baseline interactive system, employing only speech recognition for user goal identification, and a system equipped with multimodal grounding models for error handling

    Mathematics Instructional Methods and Their Effects on Student Mathematics Scores

    Get PDF
    Mathematics instruction is undergoing an evolution in the United States. The National Council of Teachers of Mathematics (NCTM) advocates a change from the previous emphasis on computational skills to a greater emphasis on problem solving. The pre-service training most teachers completed did not include extensive exposure to strategies of this type. For that reason, school districts may choose to utilize staff development programs to assist teachers in acquiring these new strategies. This study examined one such staff development program, Developing Mathematical Ideas (DMI), and its effects on the mathematics achievement scores of the fourth grade students in a school district. This study examined the students\u27 mathematics achievement scores to identify changes that might have occurred as a result of the staff development. The study examined data from the Comprehensive Tests of Basic Skills (CTBS) mathematics achievement scores of 16 elementary schools for each year from 1999 to 2002. There were approximately 800 students included in the assessments in each of those years. Schools having 50% or more of their staff involved in the training sessions were identified as schools with trained teachers. In addition, scores of low socioeconomic schools, schools with more than 25% of the students receiving free and reduced lunch, were studied to discover any significant changes in their scores after the staff development sessions. Because the composite mathematics scores might not reflect changes in specific skill areas affected by the staff development, the eight subscores on the mathematics assessment were examined separately. Although the composite mathematics scores for the district as a whole improved from 1999 to 2002, results indicated that the comparison of the composite mathematics scores for schools with trained and untrained teachers did not show a significant difference. The mathematics scores for the low socioeconomic schools also did not indicate a significant difference. Five subtest sections increased during that time, but, again, the subscores of the schools with trained teachers were not significantly different than the schools with untrained teachers
    corecore