1,134 research outputs found

    Asynchronous processing of Coq documents: from the kernel up to the user interface

    Get PDF
    The work described in this paper improves the reactivity of the Coq system by completely redesigning the way it processes a formal document. By subdividing such work into independent tasks the system can give precedence to the ones of immediate interest for the user and postpones the others. On the user side, a modern interface based on the PIDE middleware aggregates and present in a consistent way the output of the prover. Finally postponed tasks are processed exploiting modern, parallel, hardware to offer better scalability.Comment: in Proceedings of ITP, Aug 2015, Nanjing, Chin

    Thermion: Verification of a thermionic heat pipe in microgravity

    Get PDF
    The Idaho National Engineering Laboratory (INEL) is conducting intensive research in the design and development of a small excore heat-pipe-thermionic space nuclear reactor power system (SEHPTR). The SEHPTR spacecraft will be able to supply 40 kW of power in any given orbit. The key components in this reactor are the thermionic heat pipes. The heat pipes have two major functions: (1) to convert heat energy into electrical energy, and (2) to radiate the excess heat to space. Thermionic power conversion is the process of converting heat energy into electrical energy with no moving parts. Heat is applied to the cathode surface. This heat will boil off electrons that will jump across the gap to the cooler surface of the anode, which will cause a potential difference between the two plates and induce a current through the load. Thermionic power conversion is incorporated as part of the heat pipe. The heat pipe, which is being developed by Thermacore Inc., is actually two heat pipes. It uses a radial heat pipe, called the emitter, and an axial heat pipe collector. The emitter heat pipe will pass the heat from the nuclear core to the cathode surface. The collector heat pipe keeps the anode surface cooler by transferring the heat from the anode surface and radiating it to space

    Towards co-designed optimizations in parallel frameworks: A MapReduce case study

    Full text link
    The explosion of Big Data was followed by the proliferation of numerous complex parallel software stacks whose aim is to tackle the challenges of data deluge. A drawback of a such multi-layered hierarchical deployment is the inability to maintain and delegate vital semantic information between layers in the stack. Software abstractions increase the semantic distance between an application and its generated code. However, parallel software frameworks contain inherent semantic information that general purpose compilers are not designed to exploit. This paper presents a case study demonstrating how the specific semantic information of the MapReduce paradigm can be exploited on multicore architectures. MR4J has been implemented in Java and evaluated against hand-optimized C and C++ equivalents. The initial observed results led to the design of a semantically aware optimizer that runs automatically without requiring modification to application code. The optimizer is able to speedup the execution time of MR4J by up to 2.0x. The introduced optimization not only improves the performance of the generated code, during the map phase, but also reduces the pressure on the garbage collector. This demonstrates how semantic information can be harnessed without sacrificing sound software engineering practices when using parallel software frameworks.Comment: 8 page

    Prioritized Garbage Collection: Explicit GC Support for Software Caches

    Full text link
    Programmers routinely trade space for time to increase performance, often in the form of caching or memoization. In managed languages like Java or JavaScript, however, this space-time tradeoff is complex. Using more space translates into higher garbage collection costs, especially at the limit of available memory. Existing runtime systems provide limited support for space-sensitive algorithms, forcing programmers into difficult and often brittle choices about provisioning. This paper presents prioritized garbage collection, a cooperative programming language and runtime solution to this problem. Prioritized GC provides an interface similar to soft references, called priority references, which identify objects that the collector can reclaim eagerly if necessary. The key difference is an API for defining the policy that governs when priority references are cleared and in what order. Application code specifies a priority value for each reference and a target memory bound. The collector reclaims references, lowest priority first, until the total memory footprint of the cache fits within the bound. We use this API to implement a space-aware least-recently-used (LRU) cache, called a Sache, that is a drop-in replacement for existing caches, such as Google's Guava library. The garbage collector automatically grows and shrinks the Sache in response to available memory and workload with minimal provisioning information from the programmer. Using a Sache, it is almost impossible for an application to experience a memory leak, memory pressure, or an out-of-memory crash caused by software caching.Comment: to appear in OOPSLA 201

    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

    Processing of Aqueous Graphite–Silicon Oxide Slurries and Its Impact on Rheology, Coating Behavior, Microstructure, and Cell Performance

    Get PDF
    The mixing process is the basis of the electrode microstructure, which defines key cell performance indicators. This work investigated the effects of varying the energy input within the mixing procedure on slurry rheology, coating behavior, mechanical and electrical properties of dry electrodes and electrochemical performance of cells fabricated from these negative electrodes. Energy input differences were achieved by varying the solids content within the mixing procedure; however, the final total solids content of the slurries was always the same. The slurries, produced with graphite and silicon oxide as active materials and carboxymethylcellulose (CMC) and styrene-butadiene rubber as binders, showed large differences in flow behavior which were explained by changes in CMC adsorption and mechanical degradation because of increasing energy input. Low shear viscosity and the degree of shear thinning decreased with increasing energy input, resulting in a narrower stability window for slot-die coating. The resistance between the electrode and current collector decreased as more CMC was adsorbed on the active material. Electrode adhesion drastically dropped at the highest energy input, presumably due to a change in SBR distribution. Despite these variations, all fabricated pouch cells demonstrated excellent electrochemical performance and a slight trend of increased charge capability was observed in cells prepared with higher energy input

    Potentials and Implementation Strategies For Flexible Battery Cell Production

    Get PDF
    The effects of a fossil fuel-based economy are becoming increasingly apparent. The storage and use of renewable energy sources are a key strategy to reduce overall greenhouse gas emissions. In this context, the demand for batteries as a suitable medium for energy storage is increasing rapidly. Lithium-ion batteries pioneered in consumer electronics are nowadays used in ever more applications, with the e-mobility sector being one of the most prominent. From a production perspective, the process chain for manufacturing of such lithium-ion batteries can be divided into three main sections: electrode production, cell assembly and cell finishing. However, actual implementation of the process chain differs substantially, depending on the selected cell format (pouch, cylindric, prismatic) and design, manifesting in cell-specific processes (e.g. stacking vs. winding), supplementary and/or omitted process steps and manufacturing technologies (e.g. pouch foil heat sealing vs. hard case laser welding). Currently there is no strictly preferred cell format, as each format has its advantages and disadvantages, depending on its intended application and system integration. Production of different battery cell types thus is spread across various international mostly Asian manufacturers, most of which have large scale mass production lines dedicated to a single specific format. Only a few manufacturers have a portfolio of formats (e.g. round and prismatic) in large quantities. Against this background, the following paper provides an overview of the product variety of lithium-ion batteries available on the market, following up with a discussion of potentials and implementation strategies for flexible battery cell production. First, applications and business areas for lithium-ion batteries are analysed and general flexibility areas regarding the battery cell design are derived. Subsequently, the impacts of the different flexibility areas on the production processes are analysed. In a final step, different implementation strategies and approaches for increased flexibility in battery cell production are elaborated
    • …
    corecore